Visualisierungsmodul für SuperX http://www.superx-projekt.de/doku/viz_modul/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

151 lines
4.5 KiB

44540^Studierende nach Semester und Studiengang^--Freemarker Template\
<#include "SQL_lingua_franca"/>\
<#include "SuperX_general"/>\
<sqlvars>\
<sqlvar name="semesterliste" type="hashsequence"><![CDATA[\
select tid as nr,eintrag as name from semester where 1=1\
/* and tid >= <<Seit Semester>> */\
/* and tid <= <<Bis Semester>> */\
order by 1 desc;\
]]>\
</sqlvar>\
</sqlvars>\
\
<#assign feldtyp="integer" />\
\
<#assign maxEbene=20 />\
<#if '<<Filter bis Ebene>>' != ''>\
<#assign maxEbene='<<Filter bis Ebene>>'?number />\
</#if>\
\
<#assign lehr_stg_ab="lehr_stg_ab"/>\
<#assign quelltabelle='sos_stg_aggr'/>\
\
-- ##################################################\
-- ##### Zwischentabelle #############\
-- ##################################################\
-- 1. FS start Datentabelle\
<@selectintotmp \
select="S.tid_stg,S.sem_rueck_beur_ein,S.geschlecht,sum(summe) as summe"\
source=quelltabelle+" S, "+lehr_stg_ab+" L"\
target="tmp_zwischen"> \
where \
\
<<Köpfe oder Fälle ?>>\
and <<Hörerstatus>>\
and S.sem_rueck_beur_ein between <<Seit Semester>> and <<Bis Semester>>\
and 's_' || L.tid in <@printkeys Studiengang.allNeededKeysList/>\
/* and L.stg in <@printkeys Fächer.allNeededKeysList/> --<<Fächer>> */ \
/* AND S.fach_sem_zahl <= <<bis Fachsemester>> */\
/* and S.stichtag = <<Stichtag>> */\
/* and L.abschluss in (<<Abschluss>>) */ \
and S.tid_stg = L.tid\
/* and S.fach_sem_zahl <= <<In der RSZ>> */\
/* and kz_rueck_beur_ein in(<<Status>>) */\
/* and geschlecht=<<Geschlecht>> */\
/* and ca12_staat <<Staatsangehörigkeit>> */\
/* and ${<<Filter Studierende>>} */\
and S.sem_rueck_beur_ein >= L.semester_von \
and S.sem_rueck_beur_ein <= L.semester_bis \
group by 1,2,3\
</@selectintotmp>\
<@informixnolog/>;\
\
\
\
-- Ausgabe-Tabelle\
create temp table tmp_aggre\
(ebene int,\
struktur varchar(255),\
text varchar(255),\
sortnr int,\
semester_nr integer,\
semester_name varchar(255),\
summe ${feldtyp},\
summe_w ${feldtyp}\
) <@informixnolog/>;\
\
\
\
\
\
-- ##################################################\
-- ######## Inserts in die Tabelle ##################\
-- ##################################################\
--Start der Schleifenverarbeitung über Fächer im ausgewählten Baum, Reihenfolge genau wie im Baum\
\
<#if semesterliste?has_content>\
<#assign sortnr=1>\
<#foreach semester in semesterliste>\
\
\
<#foreach einElement in Studiengang.elements>\
<@addcomment "############ Schleife Nr. " + "${sortnr}" + " Element: " + "${einElement.name}" + " strukturStr: " + "${einElement.strukturStr} ###########################"/>\
\
--select '${einElement.name} - ${einElement.strukturStr}' from xdummy; \
\
<#if einElement.level &lt;= maxEbene >\
<#assign sortnr=sortnr+1>\
\
-- ########## Einfügen ####################\
insert into tmp_aggre (ebene,\
struktur,\
text, \
sortnr,\
semester_nr,\
semester_name,\
summe,\
summe_w\
)\
select ${einElement.level}::smallint,\
'${einElement.strukturStr}'::char(50),\
'${einElement.name}'::char(255),\
${sortnr},\
${semester.nr} as semester_nr,\
'${semester.name}' as semester_name,\
summe,\
(case when geschlecht=2 then summe else 0 end) as summe_w\
from tmp_zwischen S\
where 's_' || tid_stg in ${einElement.subkeys}\
and sem_rueck_beur_ein=${semester.nr}\
; \
\
</#if> \
\
</#foreach>--Studiengang Baum\
</#foreach>--Semester\
</#if>\
-- ##################################################\
-- ######## Ende Inserts in die Tabelle #############\
-- ##################################################\
\
\
drop table tmp_zwischen;\
\
-- Endselect\
select ebene,\
(case when ebene=1 then semester_name else text end) as text,\
sum(summe) as summe,\
sum(summe_w) as summe_w\
from tmp_aggre\
group by 1,2,sortnr\
order by sortnr,2\
;^XIL List\
sizable_columns horizontal_scrolling\
drop_and_delete movable_columns\
white_space_color=COLOR_WHITE\
fixed_columns=3\
min_heading_height=35\
Column CID=0 heading_text="Ebene" explanation="" center_heading\
row_selectable heading_platform readonly\
width=7 text_size=20 \
Column CID=1 heading_text="Studiengang" explanation="@@@sos_studiengang@@@" center_heading\
row_selectable heading_platform readonly\
width=40 text_size=60\
Column CID=2 heading_text="Summe" explanation="@@@sos_gesamt_stud@@@" center_heading\
row_selectable col_selectable rightJust heading_platform readonly\
width=8\
Column CID=2 heading_text="Summe weiblich" explanation="@@@sos_durchschnittsalter@@@" center_heading\
row_selectable col_selectable rightJust heading_platform readonly\
width=12\
@@@^Altersgruppe^Anzahl^je Fach/Studiengang^drop table tmp_aggre;^^3^700^360^0^1^^