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.
461 lines
17 KiB
461 lines
17 KiB
44020^Studierende Datenblatt (Teiltabelle)^--Freemarker Template\ |
|
<#include "SQL_lingua_franca"/>\ |
|
<#include "SuperX_general"/>\ |
|
<#include "SQL_multitable_output"/>\ |
|
\ |
|
--ram excelexport\ |
|
\ |
|
<sqlvars>\ |
|
<sqlvar name="basetable"><![CDATA[<#if "<<Köpfe oder Fälle ?>>"?index_of("S.gewichtung_id=")==-1>select 'sos_stg_aggr' from xdummy<#else>select 'sos_stud_gewichtung' from xdummy</#if>]]></sqlvar>\ |
|
<sqlvar name="restriction"><![CDATA[<#if basetable='sos_stg_aggr'>\ |
|
<#assign restrict=DatenblattTables(<<tablestylesheet>>,"<<Weitere Tabellen>>",.vars["Weitere TabellenObject"].allKeys)/>;\ |
|
<#else>\ |
|
<#assign restrict=DatenblattTables(<<tablestylesheet>>,"<<Weitere Tabellen>>",.vars["Weitere TabellenObject"].allKeys)?replace('sos_stg_aggr',basetable)?replace("'dim_studiengang'","'dim_studiengang_gew'")/>;\ |
|
</#if>\ |
|
select '${restrict?replace("\\x0027","\\x0027\\x0027")}' from xdummy;]]>\ |
|
</sqlvar>\ |
|
<sqlvar name="get_joins" type="hashsequence"><![CDATA[\ |
|
SELECT foreignkey_tab,min(table_name) as table_name,\ |
|
min(name) as name,\ |
|
min(foreignkey_col) as foreignkey_col,\ |
|
min(foreignkey_cond) as foreignkey_cond,\ |
|
min(foreignkey_func) as foreignkey_func\ |
|
from sx_fields\ |
|
where table_name in ('${basetable}'/* ,<<Weitere Tabellen>> */ ${restriction})\ |
|
and foreignkey_tab in ('${basetable}'/* ,<<Weitere Tabellen>> */ ${restriction})\ |
|
group by 1\ |
|
order by 1,2,3;\ |
|
]]>\ |
|
</sqlvar>\ |
|
<sqlvar name="semester"><![CDATA[\ |
|
select tid, eintrag from semester where 1=1\ |
|
/* and tid >= <<Seit Semester>> */\ |
|
/* and tid <= <<Bis Semester>>*/\ |
|
;]]>\ |
|
</sqlvar>\ |
|
<sqlvar name="get_felder_fk" type="hashsequence"><![CDATA[\ |
|
SELECT name,\ |
|
caption,\ |
|
table_name,\ |
|
foreignkey_tab,\ |
|
foreignkey_col,\ |
|
foreignkey_cap,\ |
|
foreignkey_cond,\ |
|
foreignkey_func,\ |
|
case when foreignkey_uniquename!='' then foreignkey_uniquename else foreignkey_col end as foreignkey_uniquename\ |
|
\ |
|
from sx_fields\ |
|
where table_name in ('${basetable}' /* ,<<Weitere Tabellen>> */ ${restriction}\ |
|
)\ |
|
and currentlyused=1\ |
|
--Pseudonyme eingeschaltet:\ |
|
and (name != 'matrikel_nr' or 0=(select \ |
|
count(*) from konstanten where beschreibung='SOS_MTKNR_EXT'\ |
|
and apnr=1))\ |
|
<#if basetable='sos_stg_aggr'>\ |
|
${DatenblattFields(<<tablestylesheet>>,"<<Felder>>",FelderObject.allKeys)}\ |
|
<#else>\ |
|
${DatenblattFields(<<tablestylesheet>>,"<<Felder>>"?replace("sos_stg_aggr","sos_stud_gewichtung")?replace("dim_studiengang.","dim_studiengang_gew."),\ |
|
FelderObject.allKeys?replace("sos_stg_aggr","sos_stud_gewichtung")?replace("dim_studiengang.","dim_studiengang_gew."))}\ |
|
</#if>\ |
|
and table_name !='dim_person_attribute_aggr'\ |
|
--hier Personattribute wg. Sortierung\ |
|
union\ |
|
SELECT F.name,\ |
|
P.attributevalue ,--caption,\ |
|
table_name,\ |
|
foreignkey_tab,\ |
|
foreignkey_col,\ |
|
foreignkey_cap,\ |
|
foreignkey_cond,\ |
|
foreignkey_func,\ |
|
case when foreignkey_uniquename!='' then foreignkey_uniquename else foreignkey_col end as foreignkey_uniquename\ |
|
\ |
|
from sx_fields F, personattributetype P\ |
|
where table_name in ('${basetable}' /* ,<<Weitere Tabellen>> */ ${restriction}\ |
|
)\ |
|
and currentlyused=1\ |
|
--Pseudonyme eingeschaltet:\ |
|
and (name != 'matrikel_nr' or 0=(select \ |
|
count(*) from konstanten where beschreibung='SOS_MTKNR_EXT'\ |
|
and apnr=1))\ |
|
<#if basetable='sos_stg_aggr'>\ |
|
${DatenblattFields(<<tablestylesheet>>,"<<Felder>>",FelderObject.allKeys)}\ |
|
<#else>\ |
|
${DatenblattFields(<<tablestylesheet>>,"<<Felder>>"?replace("sos_stg_aggr","sos_stud_gewichtung")?replace("dim_studiengang.","dim_studiengang_gew."),\ |
|
FelderObject.allKeys?replace("sos_stg_aggr","sos_stud_gewichtung")?replace("dim_studiengang.","dim_studiengang_gew."))}\ |
|
</#if>\ |
|
and table_name ='dim_person_attribute_aggr'\ |
|
and F.name='attribute' || P.personattributetype_id\ |
|
\ |
|
order by 2,3;\ |
|
]]>\ |
|
</sqlvar>\ |
|
</sqlvars>\ |
|
\ |
|
<#assign lehr_stg_ab="lehr_stg_ab"/>\ |
|
<#if "<<Köpfe oder Fälle ?>>"?index_of("S.gewichtung_id=")!=-1>\ |
|
<#assign lehr_stg_ab="lehr_stg_ab_gew"/>\ |
|
</#if>\ |
|
\ |
|
delete from dim_person_attribute_aggr;\ |
|
\ |
|
<#foreach einSemester in semester>\ |
|
insert into dim_person_attribute_aggr \ |
|
select dim_person_attribute.matrikel_nr, \ |
|
max(attribute1),max(attribute2),max(attribute3),max(attribute4),max(attribute5),max(attribute6)\ |
|
,max(attribute7),max(attribute8),max(attribute9),max(attribute10), semester.tid\ |
|
from dim_person_attribute, semester\ |
|
where (${einSemester.key} between semester_von and semester_bis and semester.tid = ${einSemester.key}) \ |
|
\ |
|
group by dim_person_attribute.matrikel_nr, semester.tid;\ |
|
</#foreach>\ |
|
\ |
|
\ |
|
--zum testen der sqlvars\ |
|
--select * from sx_fields\ |
|
-- <#if <<tablestylesheet>>='tabelle_html.xsl'>\ |
|
-- /*,<<Weitere Tabellen>> */\ |
|
-- <#else>\ |
|
-- , ${.vars["Weitere TabellenObject"].allKeys?replace("'","")}\ |
|
--</#if>\ |
|
--where 1=1 \ |
|
-- <#if <<tablestylesheet>>='tabelle_html.xsl'>\ |
|
-- /* and trim(table_name) || '.' || name in ( <<Felder>> )*/\ |
|
-- <#else>\ |
|
-- and trim(table_name) || '.' || name in (${FelderObject.allKeys})\ |
|
-- </#if>;\ |
|
\ |
|
--drop table if exists tmp_tabelle ;\ |
|
\ |
|
\ |
|
<#assign filter="\ |
|
/* and <<Hörerstatus>> */\ |
|
/* and sem_rueck_beur_ein >= <<Seit Semester>> */\ |
|
/* and sem_rueck_beur_ein <= <<Bis Semester>> */\ |
|
/* and sem_rueck_beur_ein = <<Semester>> */\ |
|
/* AND fach_sem_zahl <= <<bis Fachsemester>> */\ |
|
/* and "+basetable+".stichtag = <<Stichtag>> */\ |
|
/* and kz_rueck_beur_ein in(<<Status>>) */\ |
|
/* and geschlecht=<<Geschlecht>> */\ |
|
/* and ${<<Filter Studierende>>} */\ |
|
/* and substring('' || sem_rueck_beur_ein from 5 for 1)='<<Semestertyp>>' */\ |
|
" />\ |
|
\ |
|
\ |
|
<#if "<<Matrikel-Nr.>>"!="">\ |
|
<#assign filter=filter+" and " + basetable + ".matrikel_nr in (<<Matrikel-Nr.>>)"?replace("'","")/>\ |
|
</#if>\ |
|
<#if "<<Köpfe oder Fälle ?>>"?index_of("S.gewichtung_id=")!=-1>\ |
|
<#assign filter=filter+" and "+.vars["Köpfe oder Fälle ?"]?replace('S.','sos_stud_gewichtung.')/>\ |
|
<#if "<<Weitere Tabellen>>"?index_of("dim_studiengang_gew")>-1>\ |
|
<#assign filter=filter+" and (dim_studiengang_gew.gewichtid is null or "+.vars["Köpfe oder Fälle ?"]?replace('S.','dim_studiengang_gew.')?replace("gewichtung_id","gewichtid")+")"/>\ |
|
</#if>\ |
|
<#elseif "<<Köpfe oder Fälle ?>>"!="">\ |
|
<#assign filter=filter+" and "+.vars["Köpfe oder Fälle ?"]/>\ |
|
</#if>\ |
|
\ |
|
\ |
|
<#assign filter = filter + " and 's_' || tid_stg in "+Studiengang.allNeededKeysList /> \ |
|
\ |
|
<#assign semester_von_filter="19000" />\ |
|
/* <#assign semester_von_filter="<<Seit Semester>>" /> */\ |
|
<#assign semester_bis_filter="30000" />\ |
|
/* <#assign semester_bis_filter="<<Bis Semester>>" /> */\ |
|
\ |
|
/*<#assign filter = filter + " and 0 < (select count(*) from personattribute PA, personattributetype TY\ |
|
where TY.personattributetype_id=PA.personattributetype_id\ |
|
and TY.attributevalue='Jahrgang'\ |
|
and PA.matrikel_nr="+basetable+".matrikel_nr\ |
|
and (${semester_von_filter} between PA.semester_von and PA.semester_bis\ |
|
or ${semester_bis_filter} between PA.semester_von and PA.semester_bis)\ |
|
and PA.attributevalue='<<Jahrgang>>') "/>*/\ |
|
\ |
|
/* <#assign filter = filter + " and 0 < (select count(*) from personattribute PA, personattributetype TY\ |
|
where TY.personattributetype_id=PA.personattributetype_id\ |
|
and TY.attributevalue='Status'\ |
|
and PA.matrikel_nr="+basetable+".matrikel_nr\ |
|
and (${semester_von_filter} between PA.semester_von and PA.semester_bis\ |
|
or ${semester_bis_filter} between PA.semester_von and PA.semester_bis)\ |
|
and PA.attributevalue='<<Zivilstatus>>') "/>*/\ |
|
\ |
|
\ |
|
/* <#assign filter = filter + " and '' || ca12_staat in "+Staatsangehörigkeit.allNeededKeysList /> --<<Staatsangehörigkeit>> */\ |
|
\ |
|
/* <#assign filter = filter + " and tid_stg in (select L2.tid from lehr_stg_ab L2 where L2.abschluss in " + Abschluss.allNeededKeysList +")" /> --<<Abschluss>> */\ |
|
\ |
|
\ |
|
-- /*<#assign filter = filter + " and dim_person_attribute.attribute9 = '<<StatusZ>>'"/> */\ |
|
--/*<#assign jahrgang_filter = " and dim_person_attribute.attribute10 = '<<Jahrgang>>'"/>*/\ |
|
--<#assign filter = filter + jahrgang_filter />\ |
|
\ |
|
--first denormalize basetable:\ |
|
\ |
|
--get field_list_select\ |
|
<#assign field_list_select="''::char(250) as _meldung" />\ |
|
<#foreach feld in get_felder_fk>\ |
|
\ |
|
<#if feld.name="summe">\ |
|
<#assign field_list_select=field_list_select+", sum(summe) as "+basetable+"_summe" />\ |
|
<#else>\ |
|
<#assign field_list_select=field_list_select+", "+feld.table_name +"."+feld.name +" as "+feld.table_name +"_"+feld.name />\ |
|
</#if>\ |
|
<#if feld.foreignkey_uniquename != "">\ |
|
<#assign field_list_select=field_list_select+",''::char(255) as " + feld.table_name +"_"+feld.name + "_uniquename" />\ |
|
<#assign field_list_select=field_list_select+",''::char(255) as " + feld.table_name +"_"+feld.name + "_str" />\ |
|
</#if>\ |
|
</#foreach>\ |
|
\ |
|
--get fromclause\ |
|
\ |
|
<#assign fromclause=lehr_stg_ab+" L,"+basetable />\ |
|
<#foreach join in get_joins>\ |
|
<#assign fromclause=fromclause+" left outer join "+join.foreignkey_tab +" on (" />\ |
|
<#if join.foreignkey_tab ="dim_person_attribute_aggr" >\ |
|
<#assign fromclause=fromclause+ basetable+".matrikel_nr=dim_person_attribute_aggr.matrikel_nr and dim_person_attribute_aggr.semester = "+basetable+".sem_rueck_beur_ein " />\ |
|
<#else>\ |
|
<#assign fromclause=fromclause+ basetable+"."+ join.name+"=" />\ |
|
<#if join.foreignkey_func != "">\ |
|
<#assign fromclause=fromclause+join.foreignkey_func+"(" />\ |
|
</#if>\ |
|
<#assign fromclause=fromclause+join.foreignkey_tab+"." +join.foreignkey_col />\ |
|
<#if join.foreignkey_func != "">\ |
|
<#assign fromclause=fromclause+")" />\ |
|
</#if>\ |
|
<#if join.foreignkey_cond != "">\ |
|
<#if join.foreignkey_cond[0..0] = "1" || \ |
|
join.foreignkey_cond[0..0] = "2" ||\ |
|
join.foreignkey_cond[0..0] = "3" ||\ |
|
join.foreignkey_cond[0..0] = "4" ||\ |
|
join.foreignkey_cond[0..0] = "5" ||\ |
|
join.foreignkey_cond[0..0] = "6" ||\ |
|
join.foreignkey_cond[0..0] = "7" ||\ |
|
join.foreignkey_cond[0..0] = "8" ||\ |
|
join.foreignkey_cond[0..0] = "9" ||\ |
|
join.foreignkey_cond[0..0] = "0" ||\ |
|
join.foreignkey_cond[0..0] = "'" >\ |
|
<#assign fromclause=fromclause+" and "+join.foreignkey_cond />\ |
|
<#else>\ |
|
<#assign fromclause=fromclause+" and tmp_tabelle."+join.table_name+"_"+join.foreignkey_cond />\ |
|
</#if>\ |
|
</#if>\ |
|
\ |
|
</#if> --wenn nicht dim_person_attritubte_aggr\ |
|
<#assign fromclause=fromclause+") " />\ |
|
</#foreach>\ |
|
<#if ("<<Weitere Tabellen>>"+restriction)?index_of("dim_person_attribute_aggr") !=-1>\ |
|
<#assign fromclause=fromclause+" left outer join dim_person_attribute_aggr on ("+basetable+".matrikel_nr=dim_person_attribute_aggr.matrikel_nr and "+basetable+".sem_rueck_beur_ein=dim_person_attribute_aggr.semester)" />\ |
|
</#if>\ |
|
\ |
|
--whereclause\ |
|
<#assign whereclause=" L.tid="+basetable+".tid_stg " />\ |
|
\ |
|
--get groupbyclause\ |
|
<#assign groupbyclause="group by 1" />\ |
|
<#foreach feld in get_felder_fk>\ |
|
<#if feld.name!="summe">\ |
|
<#assign groupbyclause=groupbyclause+", "+feld.table_name +"_"+feld.name />\ |
|
</#if>\ |
|
</#foreach>\ |
|
\ |
|
<@selectintotmp\ |
|
select=field_list_select\ |
|
source=fromclause\ |
|
target="tmp_tabelle">\ |
|
where ${whereclause}\ |
|
${filter}\ |
|
${groupbyclause}\ |
|
</@selectintotmp>\ |
|
<@informixnolog/> ;\ |
|
\ |
|
create temp table tmp_rows(anz integer,max_anz integer) \ |
|
<@informixnolog/> \ |
|
;\ |
|
insert into tmp_rows(anz) select count(*) from tmp_tabelle;\ |
|
update tmp_rows set max_anz=(select apnr from konstanten where beschreibung='Datenblatt max.Zeilenzahl');\ |
|
\ |
|
delete from tmp_tabelle where 0 < (select count(*) from tmp_rows\ |
|
where anz > max_anz);\ |
|
\ |
|
select 'Warnung: die Abfrage kann nicht ausgeführt werden, denn ' || anz || ' Zeilen liegen über max. Grenze von ' || max_anz as _runtimeMessage\ |
|
from tmp_rows\ |
|
where anz > max_anz;\ |
|
\ |
|
drop table tmp_rows;\ |
|
\ |
|
--denormalize:\ |
|
\ |
|
\ |
|
<#foreach feld in get_felder_fk>\ |
|
<#if feld.foreignkey_tab != "" >\ |
|
<#if SQLdialect="Postgres">\ |
|
update tmp_tabelle set\ |
|
(${feld.table_name}_${feld.name}_uniquename, ${feld.table_name}_${feld.name}_str)=\ |
|
(select ${feld.foreignkey_uniquename},${feld.foreignkey_cap}\ |
|
from ${feld.foreignkey_tab}\ |
|
where tmp_tabelle.${feld.table_name}_${feld.name}=\ |
|
<#if feld.foreignkey_func != "">\ |
|
${feld.foreignkey_func}(\ |
|
</#if>\ |
|
${feld.foreignkey_tab}.${feld.foreignkey_col}\ |
|
<#if feld.foreignkey_func != "">\ |
|
)\ |
|
</#if>\ |
|
<#if feld.foreignkey_cond != "">\ |
|
<#if feld.foreignkey_cond[0..0] = "1" || \ |
|
feld.foreignkey_cond[0..0] = "2" ||\ |
|
feld.foreignkey_cond[0..0] = "3" ||\ |
|
feld.foreignkey_cond[0..0] = "4" ||\ |
|
feld.foreignkey_cond[0..0] = "5" ||\ |
|
feld.foreignkey_cond[0..0] = "6" ||\ |
|
feld.foreignkey_cond[0..0] = "7" ||\ |
|
feld.foreignkey_cond[0..0] = "8" ||\ |
|
feld.foreignkey_cond[0..0] = "9" ||\ |
|
feld.foreignkey_cond[0..0] = "0" ||\ |
|
feld.foreignkey_cond[0..0] = "'" >\ |
|
and ${feld.foreignkey_cond}\ |
|
<#else>\ |
|
and tmp_tabelle.${feld.table_name}_${feld.foreignkey_cond}\ |
|
</#if>\ |
|
</#if>\ |
|
);\ |
|
<#else> --Wenn Informix:\ |
|
\ |
|
update tmp_tabelle set (${feld.table_name}_${feld.name}_uniquename,${feld.table_name}_${feld.name}_str)\ |
|
=(( select ${feld.foreignkey_uniquename},${feld.foreignkey_cap}\ |
|
from ${feld.foreignkey_tab}\ |
|
where tmp_tabelle.${feld.table_name}_${feld.name}=\ |
|
<#if feld.foreignkey_func != "">\ |
|
${feld.foreignkey_func}(\ |
|
</#if>\ |
|
${feld.foreignkey_tab}.${feld.foreignkey_col}\ |
|
<#if feld.foreignkey_func != "">\ |
|
)\ |
|
</#if>\ |
|
<#if feld.foreignkey_cond != "">\ |
|
<#if feld.foreignkey_cond[0..0] = "1" || \ |
|
feld.foreignkey_cond[0..0] = "2" ||\ |
|
feld.foreignkey_cond[0..0] = "3" ||\ |
|
feld.foreignkey_cond[0..0] = "4" ||\ |
|
feld.foreignkey_cond[0..0] = "5" ||\ |
|
feld.foreignkey_cond[0..0] = "6" ||\ |
|
feld.foreignkey_cond[0..0] = "7" ||\ |
|
feld.foreignkey_cond[0..0] = "8" ||\ |
|
feld.foreignkey_cond[0..0] = "9" ||\ |
|
feld.foreignkey_cond[0..0] = "0" ||\ |
|
feld.foreignkey_cond[0..0] = "'" >\ |
|
and ${feld.foreignkey_cond}\ |
|
<#else>\ |
|
and tmp_tabelle.${feld.table_name}_${feld.foreignkey_cond}\ |
|
</#if>\ |
|
</#if>\ |
|
))\ |
|
where tmp_tabelle.${feld.table_name}_${feld.name} is not null\ |
|
;\ |
|
\ |
|
</#if> --Wenn Postgres/Informix\ |
|
</#if> --wenn foreign_key\ |
|
</#foreach>\ |
|
\ |
|
\ |
|
<#if get_felder_fk?has_content >\ |
|
select \ |
|
\ |
|
<#assign rownum=1 />\ |
|
<#foreach feld in get_felder_fk>\ |
|
<#if feld.foreignkey_tab != "">\ |
|
\ |
|
${feld.table_name}_${feld.name}_str\ |
|
<#if <<Schlüssel anzeigen>>=1>\ |
|
<#if feld.foreignkey_col=feld.foreignkey_uniquename>\ |
|
,${feld.table_name}_${feld.name}\ |
|
<#else>\ |
|
,${feld.table_name}_${feld.name}_uniquename\ |
|
</#if>\ |
|
</#if>\ |
|
\ |
|
<#else>\ |
|
${feld.table_name}_${feld.name}\ |
|
</#if>\ |
|
<#if rownum < get_felder_fk?size>\ |
|
,\ |
|
</#if>\ |
|
<#assign rownum= rownum+1 />\ |
|
</#foreach>\ |
|
from tmp_tabelle\ |
|
order by 2\ |
|
;\ |
|
</#if>^--Freemarker Template \ |
|
<sqlvars>\ |
|
<sqlvar name="basetable"><![CDATA[<#if "<<Köpfe oder Fälle ?>>"?index_of("S.gewichtung_id=")==-1>select 'sos_stg_aggr' from xdummy<#else>select 'sos_stud_gewichtung' from xdummy</#if>]]></sqlvar>\ |
|
<sqlvar name="restriction"><![CDATA[<#if basetable='sos_stg_aggr'>\ |
|
<#assign restrict=DatenblattTables(<<tablestylesheet>>,"<<Weitere Tabellen>>",.vars["Weitere TabellenObject"].allKeys)/>;\ |
|
<#else>\ |
|
<#assign restrict=DatenblattTables(<<tablestylesheet>>,"<<Weitere Tabellen>>",.vars["Weitere TabellenObject"].allKeys)?replace('sos_stg_aggr',basetable)?replace("'dim_studiengang'","'dim_studiengang_gew'")/>;\ |
|
</#if>\ |
|
select '${restrict?replace("\\x0027","\\x0027\\x0027")}' from xdummy;]]>\ |
|
</sqlvar>\ |
|
<sqlvar name="get_felder"><![CDATA[\ |
|
SELECT caption,\ |
|
foreignkey_tab,\ |
|
description as strukturStr\ |
|
from sx_fields\ |
|
where table_name in ('${basetable}'\ |
|
${restriction}\ |
|
)\ |
|
and currentlyused=1\ |
|
--Pseudonyme eingeschaltet:\ |
|
and (name != 'matrikel_nr' or 0=(select \ |
|
count(*) from konstanten where beschreibung='SOS_MTKNR_EXT'\ |
|
and apnr=1))\ |
|
<#if basetable='sos_stg_aggr'>\ |
|
${DatenblattFields(<<tablestylesheet>>,"<<Felder>>",FelderObject.allKeys)}\ |
|
<#else>\ |
|
${DatenblattFields(<<tablestylesheet>>,"<<Felder>>"?replace("sos_stg_aggr","sos_stud_gewichtung")?replace("dim_studiengang.","dim_studiengang_gew."),\ |
|
FelderObject.allKeys?replace("sos_stg_aggr","sos_stud_gewichtung")?replace("dim_studiengang.","dim_studiengang_gew."))}\ |
|
</#if>\ |
|
and table_name !='dim_person_attribute_aggr'\ |
|
--hier personattribute:\ |
|
union SELECT P.attributevalue , -- F.caption,\ |
|
F.foreignkey_tab,\ |
|
F.description as strukturStr\ |
|
from sx_fields F, personattributetype P\ |
|
where F.table_name in ('${basetable}'\ |
|
${restriction}\ |
|
)\ |
|
and currentlyused=1\ |
|
--Pseudonyme eingeschaltet:\ |
|
and (name != 'matrikel_nr' or 0=(select \ |
|
count(*) from konstanten where beschreibung='SOS_MTKNR_EXT'\ |
|
and apnr=1))\ |
|
<#if basetable='sos_stg_aggr'>\ |
|
${DatenblattFields(<<tablestylesheet>>,"<<Felder>>",FelderObject.allKeys)}\ |
|
<#else>\ |
|
${DatenblattFields(<<tablestylesheet>>,"<<Felder>>"?replace("sos_stg_aggr","sos_stud_gewichtung")?replace("dim_studiengang.","dim_studiengang_gew.")\ |
|
,FelderObject.allKeys?replace("sos_stg_aggr","sos_stud_gewichtung")?replace("dim_studiengang.","dim_studiengang_gew."))}\ |
|
</#if>\ |
|
and table_name ='dim_person_attribute_aggr'\ |
|
and F.name='attribute' || P.personattributetype_id\ |
|
order by 1;]]>\ |
|
</sqlvar>\ |
|
</sqlvars>\ |
|
XIL List\ |
|
sizable_columns horizontal_scrolling\ |
|
white_space_color=COLOR_WHITE fixed_columns=0\ |
|
min_heading_height=35\ |
|
<#assign i=1 />\ |
|
<#if get_felder?has_content >\ |
|
<#foreach myfield in get_felder>\ |
|
<#assign i=i+1 />\ |
|
Column CID=${i} heading_text="${myfield.key}" explanation="${myfield.strukturStr}" center_heading\ |
|
row_selectable col_selectable rightJust heading_platform readonly\ |
|
width=20\ |
|
<#if myfield.name != '' && <<Schlüssel anzeigen>>==1>\ |
|
<#assign i=i+1 />\ |
|
Column CID=${i} heading_text="${myfield.key}\\n(Schlüssel)" explanation="Schlüssel des Feldes ${myfield.key}" center_heading\ |
|
row_selectable col_selectable rightJust heading_platform readonly\ |
|
width=20\ |
|
</#if>\ |
|
</#foreach>\ |
|
</#if>\ |
|
@@@^Altersgruppe^Anzahl^Flexible Ausgabe der Studierendenstatistik, Studiengänge und Lehreinheiten^<sximport>select cleanup_stmt from maskeninfo where tid=160440</sximport>^^3^700^360^0^1^ ^
|
|
|