Browse Source

Beispiel Dashboard Studierenden Entwicklung #7

viz_worldmap
Daniel Quathamer 1 year ago
parent
commit
dc300677cd
  1. 21
      .gitignore
  2. 27
      src-modules/module/viz/conf/viz.xml
  3. 37
      src-modules/module/viz/masken/44020_felderinfo.unl
  4. 1
      src-modules/module/viz/masken/44020_maske_system_bez.unl
  5. 23
      src-modules/module/viz/masken/44020_masken_felder_bez.unl
  6. 1
      src-modules/module/viz/masken/44020_maskeninfo.unl
  7. 1
      src-modules/module/viz/masken/44020_sachgeb_maske_bez.unl
  8. 25
      src-modules/module/viz/masken/44070_felderinfo.unl
  9. 1
      src-modules/module/viz/masken/44070_maske_system_bez.unl
  10. 21
      src-modules/module/viz/masken/44070_masken_felder_bez.unl
  11. 457
      src-modules/module/viz/masken/44070_maskeninfo.unl
  12. 1
      src-modules/module/viz/masken/44070_sachgeb_maske_bez.unl
  13. 181
      src-modules/module/viz/schluesseltabellen/customxmladd.sql
  14. 215
      src-modules/module/viz/schluesseltabellen/macro_masken_bez_fuellen.sql
  15. 9
      src-modules/module/viz/schluesseltabellen/sx_stylesheets_einfuegen.sql
  16. 9
      src-modules/module/viz/schluesseltabellen/viz_chart.unl
  17. 1
      src-modules/module/viz/schluesseltabellen/viz_renderer.unl
  18. 1
      src-modules/module/viz/schluesseltabellen/viz_type.unl
  19. 3
      superx/xml/viz_html_chart_viewer.xsl

21
.gitignore vendored

@ -1 +1,20 @@ @@ -1 +1,20 @@
/build/
superx/WEB-INF/conf/edustore/db/module/viz/
# module generation artifacts for module viz
src/edustore/edustore_viz.xml
superx/WEB-INF/viz_dbforms-config_ids.xml
superx/WEB-INF/viz_dbforms-config_pg.xml
# Use wildcards as well
*~
*.swp
*ENV
*.old*
*tmp*
*.log
*.log.*
*.err
*.class
*.zip
*.tar*
*.tgz
*.jasper

27
src-modules/module/viz/conf/viz.xml

@ -332,7 +332,19 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the @@ -332,7 +332,19 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
<path>$VIZ_PFAD/masken</path>
</src>
</maske>
<maske tid="44020" name="Studierende Datenblatt (Teiltabelle)" thema="Visualisierungen">
<description>Teiltabelle für Makrobericht Studierende gesamt / 1. FS / 1.HS </description>
<src>
<path>$VIZ_PFAD/masken</path>
</src>
</maske>
<maske tid="44070" name="Studierenden-Entwicklung" thema="Visualisierungen">
<description>Makrobericht Studierende gesamt / 1. FS / 1.HS </description>
<src>
<path>$VIZ_PFAD/masken</path>
</src>
</maske>
</masken>
<data-integrity>
@ -428,6 +440,9 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the @@ -428,6 +440,9 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_property_input_type"><file path="$VIZ_PFAD/schluesseltabellen/viz_property_input_type.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_property_group"><file path="$VIZ_PFAD/schluesseltabellen/viz_property_group.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_renderer"><file path="$VIZ_PFAD/schluesseltabellen/viz_renderer.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_property_renderer"><file path="$VIZ_PFAD/schluesseltabellen/viz_property_renderer.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_property_group_renderer"><file path="$VIZ_PFAD/schluesseltabellen/viz_property_group_renderer.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_type_property"><file path="$VIZ_PFAD/schluesseltabellen/viz_type_property.unl"/></loadtable>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sachgebiete_fuellen.sql" database=""/>
<!--
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_type_type"><file path="$VIZ_PFAD/schluesseltabellen/viz_type_type.unl"/></loadtable>
@ -436,6 +451,7 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the @@ -436,6 +451,7 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
-->
<!--<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sx_jobs_fuellen.sql" database=""/>-->
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sx_stylesheets_einfuegen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/macro_masken_bez_fuellen.sql" database=""/>
</action>
@ -447,10 +463,19 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the @@ -447,10 +463,19 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
<upgrade-step>
<action error="stop">
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_type"><file path="$VIZ_PFAD/schluesseltabellen/viz_type.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_property"><file path="$VIZ_PFAD/schluesseltabellen/viz_property.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_property_input_type"><file path="$VIZ_PFAD/schluesseltabellen/viz_property_input_type.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_property_group"><file path="$VIZ_PFAD/schluesseltabellen/viz_property_group.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_renderer"><file path="$VIZ_PFAD/schluesseltabellen/viz_renderer.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_property_renderer"><file path="$VIZ_PFAD/schluesseltabellen/viz_property_renderer.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_property_group_renderer"><file path="$VIZ_PFAD/schluesseltabellen/viz_property_group_renderer.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_type_property"><file path="$VIZ_PFAD/schluesseltabellen/viz_type_property.unl"/></loadtable>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sachgebiete_fuellen.sql" database=""/>
</action>
<action error="stop">
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sx_stylesheets_einfuegen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/macro_masken_bez_fuellen.sql" database=""/>
</action>
<action>

37
src-modules/module/viz/masken/44020_felderinfo.unl

@ -0,0 +1,37 @@ @@ -0,0 +1,37 @@
44020^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^1^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag='Köpfe';^
44021^Seit Semester^3^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44022^Stichtag^1^350^-1^140^100^1^sql^30^0^1^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^
44023^Staatsangehörigkeit^36^0^0^130^150^10^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^^^
44024^Status^14^350^-1^140^180^1^sql^30^0^1^<<SQL>> select apnr,eintrag from sos_status order by 2^^<<SQL>> select apnr,eintrag from sos_status where eintrag='Alle ohne Beurl.';^
44025^Hörerstatus^33^0^0^140^170^1^sql^30^0^1^<<SQL>> select apnr, eintrag from hoererstatus order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
44026^Weitere Tabellen^123^0^0^140^140^10^char^30^0^1^<<SQL>> select name,string_not_null(caption) || ' - ' || name from sx_tables where name in ('dim_studiengang','dim_staat')\
order by 2^^^
44027^bis Fachsemester^35^350^-1^140^100^1^integer^30^0^0^^^^
44029^Bis Semester^4^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44030^Filter Studierende^119^0^0^140^150^1^sql^20^0^1^<<SQL>> SELECT id,caption from sx_repository where aktiv =1 and today() between gueltig_seit and gueltig_bis and art='SOS_STUD_FILTER' order by 2;^^^
44031^Geschlecht^37^0^0^140^80^1^integer^30^0^1^<<SQL>> SELECT apnr,druck FROM cif where key = 9003 and apnr between 1 and 4 order by 1;^^^
44032^Felder^125^0^0^150^190^10^char^30^0^1^<<SQL>>\
--freemarker template\
select trim(F.table_name) || '.' || F.name,trim(T.caption) || ':' || trim(F.caption) || ' - ' || trim(F.name) from sx_fields F,\
sx_tables T where F.table_name=T.name and F.currentlyused=1\
--Pseudonyme eingeschaltet:\
and (F.name != 'matrikel_nr' or 0=(select \
count(*) from konstanten where beschreibung='SOS_MTKNR_EXT'\
and apnr=1)) \
and F.table_name in ('sos_stg_aggr','dim_staat','dim_studiengang') \
order by 2;^^^
44033^Studiengang^6^0^0^140^150^50^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^^^
44034^Schlüssel anzeigen^150^0^0^100^100^1^integer^30^1^1^<<SQL>> select 1,'Ja' from xdummy union select 0,'Nein' from xdummy^^<<SQL>> select 1,'Ja' from xdummy^
44035^tablestylesheet^121^0^0^100^200^1^char^200^1^1^<<SQL>> select distinct filename,X.caption,ord from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=44070 order by ord^^<<SQL>> select distinct filename,X.caption from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=44070 and S.ord=1^
44036^Ausgabeformat^2001^0^0^100^150^1^char^200^1^1^<<SQL>> select element_value,description from menu_element where element='Ausgabeformat' and nature::smallint<100 order by nature::smallint^^<<SQL>> select element_value,description from menu_element where element='Ausgabeformat' and description='HTML'^
44037^Grafik^1000^300^-1^170^150^1^integer^30^0^1^<<SQL>> select tid, caption from viz_chart order by 2;^^ ^
44038^Jahrgang^42^350^-1^140^180^1^sql^30^0^13^<<SQL>> select attributevalue from personattribute_value_list where personattributetype_id = (select personattributetype_id from personattributetype where attributevalue = 'Jahrgang');^^^
44039^Name der Hochschule^15^350^-1^140^80^1^char^255^0^13^<<SQL>> select name from hochschulinfo;^Eintrag^<<SQL>> select name from hochschulinfo;^
44040^Spaltenanzahl^300^0^0^140^80^1^integer^30^0^1^<<SQL>> SELECT 1,'1-spaltig' from xdummy \
union SELECT 2,'2-spaltig' from xdummy \
union SELECT 3,'3-spaltig' from xdummy \
union SELECT 4,'4-spaltig' from xdummy \
order by 1;^^<<SQL>> SELECT 1,'1-spaltig' from xdummy^
44041^Abschluss^7^0^0^140^170^5^char^30^0^1^<<SQL>> select abint,dtxt from k_abint order by 2;^^^
44042^Matrikel-Nr.^20^350^-1^150^180^1^char^200^0^0^^{InputCheck:matrikelnummern}^^
44043^##line##^40^0^0^100^100^1^char^5000^0^8^^^1^

1
src-modules/module/viz/masken/44020_maske_system_bez.unl

@ -0,0 +1 @@ @@ -0,0 +1 @@
44020^7^

23
src-modules/module/viz/masken/44020_masken_felder_bez.unl

@ -0,0 +1,23 @@ @@ -0,0 +1,23 @@
44020^44020^
44020^44021^
44020^44022^
44020^44023^
44020^44024^
44020^44025^
44020^44026^
44020^44027^
44020^44029^
44020^44030^
44020^44031^
44020^44032^
44020^44033^
44020^44034^
44020^44035^
44020^44036^
44020^44037^
44020^44038^
44020^44039^
44020^44040^
44020^44041^
44020^44042^
44020^44043^

1
src-modules/module/viz/masken/44020_maskeninfo.unl

@ -0,0 +1 @@ @@ -0,0 +1 @@
44020^Studierende Datenblatt (Teiltabelle)^<sximport>select select_stmt from maskeninfo where tid=160440</sximport>^<sximport>select xil_proplist from maskeninfo where tid=160440</sximport>^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^ ^

1
src-modules/module/viz/masken/44020_sachgeb_maske_bez.unl

@ -0,0 +1 @@ @@ -0,0 +1 @@
16^44020^

25
src-modules/module/viz/masken/44070_felderinfo.unl

@ -0,0 +1,25 @@ @@ -0,0 +1,25 @@
44070^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^1^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag='Köpfe';^
44071^Seit Semester^3^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44072^Stichtag^1^350^-1^140^100^1^sql^30^0^1^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^
44073^Staatsangehörigkeit^36^0^0^130^150^10^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^hidden^^
44074^Status^14^350^-1^140^180^1^sql^30^0^1^<<SQL>> select apnr,eintrag from sos_status order by 2^^<<SQL>> select apnr,eintrag from sos_status where eintrag='Alle ohne Beurl.';^
44075^Hörerstatus^33^0^0^140^170^1^sql^30^0^1^<<SQL>> select apnr, eintrag from hoererstatus order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
44076^Spaltenanzahl^300^0^0^140^80^1^integer^30^0^1^<<SQL>> SELECT 1,'1-spaltig' from xdummy \
union SELECT 2,'2-spaltig' from xdummy \
union SELECT 3,'3-spaltig' from xdummy \
union SELECT 4,'4-spaltig' from xdummy \
order by 1;^^<<SQL>> SELECT 3,'3-spaltig' from xdummy^
44077^bis Fachsemester^35^350^-1^140^100^1^integer^30^0^13^^^^
44079^Bis Semester^4^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44080^Filter Studierende^119^0^0^140^150^1^sql^20^0^13^<<SQL>> SELECT id,caption from sx_repository where aktiv =1 and today() between gueltig_seit and gueltig_bis and art='SOS_STUD_FILTER' order by 2;^^^
44081^Geschlecht^37^0^0^140^80^1^integer^30^0^13^<<SQL>> SELECT apnr,druck FROM cif where key = 9003 and apnr between 1 and 4 order by 1;^^^
44083^Studiengang^6^0^0^140^150^50^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^^^
44084^Schlüssel anzeigen^150^0^0^100^100^1^integer^30^1^1^<<SQL>> select 1,'Ja' from xdummy union select 0,'Nein' from xdummy^hidden^<<SQL>> select 1,'Ja' from xdummy^
44085^tablestylesheet^150^0^0^100^100^1^char^255^1^1^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=44070 order by ord^ ^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=44070 and ord =1^
44087^Grafik^1000^300^-1^170^150^1^integer^30^0^1^<<SQL>> select tid, caption from viz_chart order by 2;^hidden^ ^
44088^Jahrgang^42^350^-1^140^180^1^sql^30^0^13^<<SQL>> select attributevalue from personattribute_value_list where personattributetype_id = (select personattributetype_id from personattributetype where attributevalue = 'Jahrgang');^^^
44089^Name der Hochschule^15^350^-1^140^80^1^char^255^0^13^<<SQL>> select name from hochschulinfo;^Eintrag^<<SQL>> select name from hochschulinfo;^
44090^##line##^30^0^0^100^100^1^char^5000^0^8^^^1^
44091^Abschluss^7^0^0^140^170^5^char^30^0^1^<<SQL>> select abint,dtxt from k_abint order by 2;^^^
44092^Matrikel-Nr.^20^350^-1^150^180^1^char^200^0^13^^{InputCheck:matrikelnummern}^^
44093^##line##^40^0^0^100^100^1^char^5000^0^8^^^1^

1
src-modules/module/viz/masken/44070_maske_system_bez.unl

@ -0,0 +1 @@ @@ -0,0 +1 @@
44070^7^

21
src-modules/module/viz/masken/44070_masken_felder_bez.unl

@ -0,0 +1,21 @@ @@ -0,0 +1,21 @@
44070^44070^
44070^44071^
44070^44072^
44070^44073^
44070^44074^
44070^44075^
44070^44076^
44070^44077^
44070^44079^
44070^44080^
44070^44081^
44070^44083^
44070^44084^
44070^44085^
44070^44087^
44070^44088^
44070^44089^
44070^44090^
44070^44091^
44070^44092^
44070^44093^

457
src-modules/module/viz/masken/44070_maskeninfo.unl

@ -0,0 +1,457 @@ @@ -0,0 +1,457 @@
44070^Studierenden-Entwicklung^--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 fach_sem_zahl <= <<bis Fachsemester>> */\
/* and "+basetable+".stichtag = <<Stichtag>> */\
/* and kz_rueck_beur_ein in(<<Status>>) */\
/* and geschlecht=<<Geschlecht>> */\
/* and ${<<Filter Studierende>>} */\
/* and L.abschluss in (<<Abschluss>>) */\
" />\
\
\
<#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")&gt;-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 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 &lt; get_felder_fk?size>\
,\
</#if>\
<#assign rownum= rownum+1 />\
</#foreach>\
from tmp_tabelle\
;\
</#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^drop table tmp_tabelle;^^3^700^360^0^1^^

1
src-modules/module/viz/masken/44070_sachgeb_maske_bez.unl

@ -0,0 +1 @@ @@ -0,0 +1 @@
16^44070^

181
src-modules/module/viz/schluesseltabellen/customxmladd.sql

@ -0,0 +1,181 @@ @@ -0,0 +1,181 @@
<#include "MAN_MAKROS"/><sqlvars> <sqlvar name="entries" type="hash">select R.catalogue_id,K.shortname,timeunit,sqlchunk,calcratio,decimalplaces,linksub,linktimeline,R.report_id,R.sortnr, R.sortnr2,R.grouping1,G.caption as group_caption from man_catalogue K,man_catalogue_rpt R left outer join man_grouping G on (G.id=R.grouping1) where K.id=R.catalogue_id and R.active=1 and K.id not in ('Bewerber') order by R.sortnr, R.sortnr2 </sqlvar>
<sqlvar name="commonChartProperties" type="hash">
SELECT tid,
caption,
prop_uniquename,
prop_default,
prop_unit
FROM viz_property
where is_generic=1
;
</sqlvar>
<sqlvar name="commonChartProperties" type="hash">
SELECT
P.tid,
P.caption,
P.prop_uniquename,
P.prop_default,
P.prop_unit,
P.is_generic,
P.static_values,
P.is_mandatory,
P.explanation,
P.sortnr,
P.range_from,
P.range_to,
T.caption as input_type_caption,
T.uniquename as input_type_uniquename,
G.caption as group_caption,
G.sortnr as group_sortnr,
G.uniquename as group_uniquename,
R.uniquename as renderer_uniquename,
GR.variable_name as group_variable_name,
PR.variable_name,
P.prop_value_type,
P.is_generic
FROM viz_property_input_type T, viz_property P left outer join viz_property_group G
on (P.property_group_id=G.tid)
left outer join viz_property_group_renderer GR on (GR.property_group_id=G.tid)
left outer join viz_renderer R on (R.tid=GR.renderer_id)
left outer join viz_property_renderer PR on (P.tid=PR.property_id)
where T.tid=P.input_type_id
--and P.is_generic=1
order by G.sortnr,G.uniquename,P.sortnr,P.caption
;
</sqlvar>
<sqlvar name="vizRenderer" type="hash">
SELECT
R.uniquename,
R.caption
FROM viz_renderer R
order by 2 desc
;
</sqlvar>
<sqlvar name="vizTypes" type="hash">
SELECT T.tid,
T.uniquename,
T.caption,
R.uniquename as renderer_uniquename,
R.caption as renderer_caption,
T.srcpath,
T.method,
T.orientation
FROM viz_type T, viz_renderer R
where R.tid=T.renderer_id
order by 3
;
</sqlvar>
<sqlvar name="viz_type_properties" type="hash">
SELECT T.tid,
T.uniquename as viz_type_uniquename,
P.prop_uniquename,
P.caption,
G.uniquename as viz_property_group_uniquename,
TP.is_mandatory,
TP.sortnr
FROM viz_type T, viz_type_property TP, viz_property P, viz_property_group G
where T.tid=TP.viz_type_id
and P.tid=TP.viz_property_id
and G.tid=P.property_group_id
order by 2,TP.sortnr,P.caption
;
</sqlvar>
<sqlvar name="viz_chart" type="hashsequence">
SELECT V.tid,
V.uniquename,
V.caption,
V.userinfo_id,
replace(V.chartmodel,'"','§') as chartmodel_escaped,
V.description
FROM viz_chart V
order by 3
;
</sqlvar>
</sqlvars>
<#if !Semester?exists><#assign Semester=""></#if> <#if !Bezugssemester?exists><#assign Bezugssemester=""/></#if> <#if !Jahr?exists><#assign Jahr=""></#if> <#if !faecherkeys?exists><#assign faecherkeys=""></#if> <#if !Fächer?exists><#assign Fächer={"selectedKey":""}></#if> <#if !Kostenstelle?exists><#assign Kostenstelle={"selectedKey":""}></#if> <#if !(.vars["Datum (Personal)"]?exists)><#assign "Datum (Personal)"=""></#if> <#if !(.vars["Beschäftigungsstelle (Person)"]?exists)><#assign "Beschäftigungsstelle (Person)"=""></#if>
<navigation><item><href><![CDATA[888880190&maxoffset=100000&Jahr=${Jahr}&Semester=${Semester}&Datum%20(Personal)=${.vars["Datum (Personal)"]}]]></href><caption>Start</caption></item>
<#if entries?is_sequence><#foreach e in entries>
<#assign linktimeline=e.linktimeline?interpret/>
<#assign linkt><@linktimeline/></#assign> <#assign linksub=e.linksub?interpret/>
<#assign links><@linksub/></#assign> <doubleitem id="${e.catalogue_id}" timeunit="${e.timeunit}" report_id="${e.report_id}" group_id="${e.grouping1}" group_caption="${e.group_caption}">
<aktuell><![CDATA[${links?replace('Fakultäten|','')}]]></aktuell>
<zeitreihe><![CDATA[${linkt?replace('Zeitreihe|','')}]]></zeitreihe>
<caption><![CDATA[${e.shortname}]]></caption> </doubleitem> </#foreach>
</#if></navigation>
<chartProperties>
<#if commonChartProperties?is_sequence><#foreach cp in commonChartProperties>
<commonChartProperty tid="${cp.tid}"
caption="${cp.caption}"
prop_uniquename="${cp.prop_uniquename}"
prop_default="${cp.prop_default}"
static_values="${cp.static_values}"
input_type_uniquename="${cp.input_type_uniquename}"
group_caption="${cp.group_caption}"
group_uniquename="${cp.group_uniquename}"
prop_unit="${cp.prop_unit}"
prop_range_from="${cp.range_from}"
prop_range_to="${cp.range_to}"
renderer_uniquename="${cp.renderer_uniquename}"
group_variable_name="${cp.group_variable_name}"
variable_name="${cp.variable_name}"
propValueType="${cp.prop_value_type}"
explanation="${cp.explanation}"
isGeneric="${cp.is_generic}"
/>
</#foreach>
</#if>
</chartProperties>
<vizRenderers>
<#if vizRenderer?is_sequence>
<#foreach vr in vizRenderer>
<vizRenderer
caption="${vr.caption}"
uniquename="${vr.uniquename}"
/>
</#foreach>
</#if>
</vizRenderers>
<vizTypes>
<#if vizTypes?is_sequence>
<#foreach vt in vizTypes>
<vizType tid="${vt.tid}"
caption="${vt.caption}"
uniquename="${vt.uniquename}"
srcpath="${vt.srcpath}"
method="${vt.method}"
orientation="${vt.orientation}"
renderer_uniquename="${vt.renderer_uniquename}"
renderer_caption="${vt.renderer_caption}"
/>
</#foreach>
</#if>
</vizTypes>
<viz_type_properties>
<#if viz_type_properties?is_sequence>
<#foreach tp in viz_type_properties>
<viz_type_property tid="${tp.tid}"
caption="${tp.caption}"
uniquename="${tp.prop_uniquename}"
viz_type_uniquename="${tp.viz_type_uniquename}"
viz_property_group_uniquename="${tp.viz_property_group_uniquename}"
is_mandatory="${tp.is_mandatory}"
sortnr="${tp.sortnr}"
/>
</#foreach>
</#if>
</viz_type_properties>
<viz_charts>
<#if viz_chart?is_sequence>
<#foreach ch in viz_chart>
<viz_chart tid="${ch.tid}"
caption="${ch.caption}"
uniquename="${ch.uniquename}"
userinfo_id="${ch.userinfo_id}"
description="${ch.description}"
chartmodel="${ch.chartmodel_escaped}"
/>
</#foreach>
</#if>
</viz_charts>

215
src-modules/module/viz/schluesseltabellen/macro_masken_bez_fuellen.sql

@ -0,0 +1,215 @@ @@ -0,0 +1,215 @@
--freemarker template
<#assign makros = [
{"tid":"44070"}
] />
<#assign masken = [
{"makro":"44070", "tid":"44020", "sortnr":"1"},
{"makro":"44070", "tid":"44020", "sortnr":"10"},
{"makro":"44070", "tid":"44020", "sortnr":"20"},
{"makro":"44070", "tid":"44020", "sortnr":"30"},
{"makro":"44070", "tid":"44020", "sortnr":"40"},
{"makro":"44070", "tid":"44020", "sortnr":"50"},
{"makro":"44070", "tid":"44020", "sortnr":"60"},
{"makro":"44070", "tid":"44020", "sortnr":"70"},
{"makro":"44070", "tid":"44020", "sortnr":"80"}
] />
<#assign felder = [
{"makro":"44070", "sortnr":"1", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44070", "sortnr":"1", "feldname":"Felder", "value":"sos_stg_aggr.geschlecht|sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"},
{"makro":"44070", "sortnr":"1", "feldname":"Grafik", "value":"1"},
{"makro":"44070", "sortnr":"1", "feldname":"Weitere Tabellen", "value":"dim_studiengang"},
{"makro":"44070", "sortnr":"1", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44070", "sortnr":"10", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44070", "sortnr":"10", "feldname":"Felder", "value":"dim_staat.inl_ausl_lang|sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"},
{"makro":"44070", "sortnr":"10", "feldname":"Grafik", "value":"2"},
{"makro":"44070", "sortnr":"10", "feldname":"Weitere Tabellen", "value":"dim_staat"},
{"makro":"44070", "sortnr":"10", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44070", "sortnr":"20", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44070", "sortnr":"20", "feldname":"Felder", "value":"dim_studiengang.abschlussart_str|sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"},
{"makro":"44070", "sortnr":"20", "feldname":"Grafik", "value":"3"},
{"makro":"44070", "sortnr":"20", "feldname":"Weitere Tabellen", "value":"dim_studiengang"},
{"makro":"44070", "sortnr":"20", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44070", "sortnr":"30", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44070", "sortnr":"30", "feldname":"Felder", "value":"sos_stg_aggr.geschlecht|sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"},
{"makro":"44070", "sortnr":"30", "feldname":"Grafik", "value":"4"},
{"makro":"44070", "sortnr":"30", "feldname":"Weitere Tabellen", "value":"dim_studiengang"},
{"makro":"44070", "sortnr":"30", "feldname":"bis Fachsemester", "value":"1"},
{"makro":"44070", "sortnr":"30", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44070", "sortnr":"40", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44070", "sortnr":"40", "feldname":"Felder", "value":"dim_staat.inl_ausl_lang|sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"},
{"makro":"44070", "sortnr":"40", "feldname":"Grafik", "value":"5"},
{"makro":"44070", "sortnr":"40", "feldname":"Weitere Tabellen", "value":"dim_staat"},
{"makro":"44070", "sortnr":"40", "feldname":"bis Fachsemester", "value":"1"},
{"makro":"44070", "sortnr":"40", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44070", "sortnr":"50", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44070", "sortnr":"50", "feldname":"Felder", "value":"dim_studiengang.abschlussart_str|sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"},
{"makro":"44070", "sortnr":"50", "feldname":"Grafik", "value":"6"},
{"makro":"44070", "sortnr":"50", "feldname":"Weitere Tabellen", "value":"dim_studiengang"},
{"makro":"44070", "sortnr":"50", "feldname":"bis Fachsemester", "value":"1"},
{"makro":"44070", "sortnr":"50", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44070", "sortnr":"60", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44070", "sortnr":"60", "feldname":"Felder", "value":"sos_stg_aggr.geschlecht|sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"},
{"makro":"44070", "sortnr":"60", "feldname":"Grafik", "value":"7"},
{"makro":"44070", "sortnr":"60", "feldname":"Weitere Tabellen", "value":"dim_studiengang"},
{"makro":"44070", "sortnr":"60", "feldname":"Filter Studierende", "value":"SOS_HSSEM_1"},
{"makro":"44070", "sortnr":"60", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44070", "sortnr":"70", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44070", "sortnr":"70", "feldname":"Felder", "value":"dim_staat.inl_ausl_lang|sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"},
{"makro":"44070", "sortnr":"70", "feldname":"Grafik", "value":"8"},
{"makro":"44070", "sortnr":"70", "feldname":"Weitere Tabellen", "value":"dim_staat"},
{"makro":"44070", "sortnr":"70", "feldname":"Filter Studierende", "value":"SOS_HSSEM_1"},
{"makro":"44070", "sortnr":"70", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44070", "sortnr":"80", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44070", "sortnr":"80", "feldname":"Felder", "value":"dim_studiengang.abschlussart_str|sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"},
{"makro":"44070", "sortnr":"80", "feldname":"Grafik", "value":"9"},
{"makro":"44070", "sortnr":"80", "feldname":"Weitere Tabellen", "value":"dim_studiengang"},
{"makro":"44070", "sortnr":"80", "feldname":"Filter Studierende", "value":"SOS_HSSEM_1"},
{"makro":"44070", "sortnr":"80", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"}
] />
-- ab hier nicht mehr ändern:
CREATE TEMP TABLE tmp_macro_masken_bez (
maskeninfo_id1 integer NOT NULL,
maskeninfo_id2 integer NOT NULL,
active integer DEFAULT 1 NOT NULL,
sortnr smallint NOT NULL,
schleifenrelation character(255),
schleifenfeldname character(255),
alias character(255),
schleifenfstand character(255),
schleifenfsicht character(255),
aktion character(255)
);
CREATE TEMP TABLE tmp_macro_feld_wert (
macro integer NOT NULL,
sortnr integer NOT NULL,
feldname character(255) NOT NULL,
alias character(255) NOT NULL,
value character(255),
value_caption character(255),
feldstand character(255),
feldsicht character(255),
active integer DEFAULT 1 NOT NULL
);
<#foreach makro in makros>
<#foreach maske in masken>
<#if maske.makro==makro.tid>
insert into tmp_macro_masken_bez(maskeninfo_id1,
maskeninfo_id2,
active,
sortnr)
select ${makro.tid},--maskeninfo_id1,
${maske.tid},--maskeninfo_id2,
1,--active,
${maske.sortnr} --sortnr
from xdummy;
<#foreach feld in felder>
<#if feld.makro==makro.tid && feld.sortnr==maske.sortnr>
--Tab.12: alle ohne Exmatr
insert into tmp_macro_feld_wert
( macro,
sortnr,
feldname,
alias,
value,
value_caption,
feldstand,
feldsicht,
active)
SELECT ${makro.tid}, --macro
${maske.sortnr},--sortnr
'${feld.feldname}',--feldname,
'',--alias,
'${feld.value}', --value,
'',--value_caption,
'', --feldstand,
'',--feldsicht,
1 --active
FROM xdummy;
</#if>
</#foreach>
</#if>
</#foreach>
</#foreach>
delete from macro_masken_bez where maskeninfo_id1 in (select maskeninfo_id1 from tmp_macro_masken_bez)
;
insert into macro_masken_bez
(maskeninfo_id1,
maskeninfo_id2,
active,
sortnr,
schleifenrelation,
schleifenfeldname,
alias,
schleifenfstand,
schleifenfsicht,
aktion)
select maskeninfo_id1,
maskeninfo_id2,
active,
sortnr,
schleifenrelation,
schleifenfeldname,
alias,
schleifenfstand,
schleifenfsicht,
aktion
FROM tmp_macro_masken_bez
;
delete from macro_feld_wert where macro in (select macro from tmp_macro_feld_wert);
insert into macro_feld_wert
( macro,
sortnr,
feldname,
alias,
value,
value_caption,
feldstand,
feldsicht,
active)
SELECT macro,
sortnr,
feldname,
alias,
value,
value_caption,
feldstand,
feldsicht,
active
FROM tmp_macro_feld_wert;
drop table tmp_macro_masken_bez;
drop table tmp_macro_feld_wert;

9
src-modules/module/viz/schluesseltabellen/sx_stylesheets_einfuegen.sql

@ -4,7 +4,10 @@ @@ -4,7 +4,10 @@
<#assign masken = [
{"mask":"30220", "filename":"viz_html_chart_sankey.xsl", "ord":"120"},
{"mask":"30220", "filename":"30220_html_chart_sankey.xsl", "ord":"130"}
{"mask":"30220", "filename":"30220_html_chart_sankey.xsl", "ord":"130"},
{"mask":"44070", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44070", "filename":"viz_html_chart_viewer.xsl", "ord":"1"}
] />
<#assign stylesheet = [
@ -17,7 +20,7 @@ @@ -17,7 +20,7 @@
},
{"filename":"viz_html_chart_sankey.xsl", "caption":"Übergangsdiagramm (Sankey-Diagramm)", "description":"Kreuztabelle Studienanfänger MA und vorheriger BA", "relation":"table", "contenttype":"text/html","is_generic":"0"},
{"filename":"30220_html_chart_sankey.xsl", "caption":"Übergangsdiagramm-Viewer(Sankey-Diagramm)", "description":"Kreuztabelle Studienanfänger MA und vorheriger BA", "relation":"table", "contenttype":"text/html","is_generic":"0"},
{"filename":"viz_html_chart_viewer.xsl", "caption":"Visualisierung (Viewer)", "description":"Viewer-Stylesheet für VIZ Charts", "relation":"table", "contenttype":"text/html","is_generic":"1"}
{"filename":"viz_html_chart_viewer.xsl", "caption":"Dashboard", "description":"Viewer-Stylesheet für VIZ Charts", "relation":"table", "contenttype":"text/html","is_generic":"1"}
] />
<#assign stylesheet_field = [
{"filename":"viz_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"abschluss_vorher_abschluss"},
@ -39,6 +42,8 @@ @@ -39,6 +42,8 @@
--Hier eventuell notwendige delete's auf die Tabellen sx_mask_style, sx_stylesheets oder stylesheet_field einfügen.
delete from sx_mask_style where maskeninfo_id=44070;
--Achtung: ab hier nicht ändern, Mutterdatei ist $SUPERX_DIR/db/module/sos/schluesseltabellen/sx_stylesheets_fuellen.sql
<@sx_stylesheets_insert
m_masken=masken

9
src-modules/module/viz/schluesseltabellen/viz_chart.unl

@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
1^STUD_ENTW_SEM_GESCHL_LINE^Studierende nach Geschlecht^3^ ^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true}],"targetDiv":"","chartElements":[{"nr":0,"vizTypeUniquename":"line","caption":"line","datasource":"0","elementTypeProperties":[{"nr":0,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein_str"},{"nr":0,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_summe"},{"nr":0,"vizTypePropertyUniquename":"stroke","caption":"Serien-Dimension","propertyValue":"sos_stg_aggr_geschlecht_str"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studierende nach Geschlecht"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"marginTop","vizPropertyVariablename":"marginTop","propertyValue":"35","propUnit":""},{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"100","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"fontFamily","vizPropertyVariablename":"fontFamily","propertyValue":"system_ui","propUnit":""},{"name":"fontSize","vizPropertyVariablename":"fontSize","propertyValue":"12","propUnit":"px"},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Anzahl Studierende","propUnit":""},{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Semester","propUnit":""},{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-30","propUnit":""},{"name":"scheme","vizPropertyVariablename":"scheme","propertyValue":"blues","propUnit":""},{"name":"legend","vizPropertyVariablename":"legend","propertyValue":"true","propUnit":""}],"dataTransformation":[{"tableId":0,"colname":"sos_stg_aggr_sem_rueck_beur_ein_str","colfunction":"switchWord1and2ff"}]}^1^^^44070^ ^2^
2^STUD_ENTW_SEM_STAAT_LINE^Studierende nach Nationalität^3^ ^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"1","nr":2,"name":"Tab. 2","isDefault":true}],"targetDiv":"","chartElements":[{"nr":0,"vizTypeUniquename":"line","caption":"line","datasource":"1","elementTypeProperties":[{"nr":0,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein_str"},{"nr":0,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_summe"},{"nr":0,"vizTypePropertyUniquename":"stroke","caption":"Serien-Dimension","propertyValue":"dim_staat_inl_ausl_lang"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studierende nach Nationalität"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"marginTop","vizPropertyVariablename":"marginTop","propertyValue":"35","propUnit":""},{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"96","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"fontFamily","vizPropertyVariablename":"fontFamily","propertyValue":"system_ui","propUnit":""},{"name":"fontSize","vizPropertyVariablename":"fontSize","propertyValue":"12","propUnit":"px"},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Anzahl Studierende","propUnit":""},{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Semester","propUnit":""},{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-30","propUnit":""},{"name":"scheme","vizPropertyVariablename":"scheme","propertyValue":"blues","propUnit":""},{"name":"legend","vizPropertyVariablename":"legend","propertyValue":"true","propUnit":""}],"dataTransformation":[{"tableId":1,"colname":"sos_stg_aggr_sem_rueck_beur_ein_str","colfunction":"switchWord1and2ff"}]}^1^^^44070^ ^2^
3^STUD_ENTW_SEM_ABSCHLUSS_LINE^Studierende nach Abschlussart^3^ ^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"2","nr":3,"name":"Tab. 3","isDefault":true}],"targetDiv":"","chartElements":[{"nr":0,"vizTypeUniquename":"line","caption":"line","datasource":"2","elementTypeProperties":[{"nr":0,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein_str"},{"nr":0,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_summe"},{"nr":0,"vizTypePropertyUniquename":"stroke","caption":"Serien-Dimension","propertyValue":"dim_studiengang_abschlussart_str"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studierende nach Abschlussart"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"marginTop","vizPropertyVariablename":"marginTop","propertyValue":"35","propUnit":""},{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"96","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"fontFamily","vizPropertyVariablename":"fontFamily","propertyValue":"system_ui","propUnit":""},{"name":"fontSize","vizPropertyVariablename":"fontSize","propertyValue":"12","propUnit":"px"},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Anzahl Studierende","propUnit":""},{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Semester","propUnit":""},{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-30","propUnit":""},{"name":"scheme","vizPropertyVariablename":"scheme","propertyValue":"blues","propUnit":""},{"name":"legend","vizPropertyVariablename":"legend","propertyValue":"true","propUnit":""}],"dataTransformation":[{"tableId":2,"colname":"sos_stg_aggr_sem_rueck_beur_ein_str","colfunction":"switchWord1and2ff"}]}^1^^^44070^ ^2^
4^STUD_ENTW_SEM_GESCHL_LINE_1^Studienanfänger_innen nach Geschlecht^3^ ^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"3","nr":4,"name":"Tab. 4","isDefault":true}],"targetDiv":"","chartElements":[{"nr":0,"vizTypeUniquename":"line","caption":"line","datasource":"3","elementTypeProperties":[{"nr":0,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein_str"},{"nr":0,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_summe"},{"nr":0,"vizTypePropertyUniquename":"stroke","caption":"Serien-Dimension","propertyValue":"sos_stg_aggr_geschlecht_str"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studienanfänger_innen nach Geschlecht"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"marginTop","vizPropertyVariablename":"marginTop","propertyValue":"35","propUnit":""},{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"100","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"fontFamily","vizPropertyVariablename":"fontFamily","propertyValue":"system_ui","propUnit":""},{"name":"fontSize","vizPropertyVariablename":"fontSize","propertyValue":"12","propUnit":"px"},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Anzahl Studierende","propUnit":""},{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Semester","propUnit":""},{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-30","propUnit":""},{"name":"scheme","vizPropertyVariablename":"scheme","propertyValue":"blues","propUnit":""},{"name":"legend","vizPropertyVariablename":"legend","propertyValue":"true","propUnit":""}],"dataTransformation":[{"tableId":0,"colname":"sos_stg_aggr_sem_rueck_beur_ein_str","colfunction":"switchWord1and2ff"}]}^1^^^44070^ ^2^
5^STUD_ENTW_SEM_STAAT_LINE_1^Studienanfänger_innen nach Nationalität^3^ ^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"4","nr":5,"name":"Tab. 5","isDefault":true}],"targetDiv":"","chartElements":[{"nr":0,"vizTypeUniquename":"line","caption":"line","datasource":"4","elementTypeProperties":[{"nr":0,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein_str"},{"nr":0,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_summe"},{"nr":0,"vizTypePropertyUniquename":"stroke","caption":"Serien-Dimension","propertyValue":"dim_staat_inl_ausl_lang"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studienanfänger_innen nach Nationalität"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"marginTop","vizPropertyVariablename":"marginTop","propertyValue":"35","propUnit":""},{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"96","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"fontFamily","vizPropertyVariablename":"fontFamily","propertyValue":"system_ui","propUnit":""},{"name":"fontSize","vizPropertyVariablename":"fontSize","propertyValue":"12","propUnit":"px"},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Anzahl Studierende","propUnit":""},{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Semester","propUnit":""},{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-30","propUnit":""},{"name":"scheme","vizPropertyVariablename":"scheme","propertyValue":"blues","propUnit":""},{"name":"legend","vizPropertyVariablename":"legend","propertyValue":"true","propUnit":""}],"dataTransformation":[{"tableId":1,"colname":"sos_stg_aggr_sem_rueck_beur_ein_str","colfunction":"switchWord1and2ff"}]}^1^^^44070^ ^2^
6^STUD_ENTW_SEM_ABSCHLUSS_LINE_1^Studienanfänger_innen nach Abschlussart^3^ ^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"5","nr":6,"name":"Tab. 6","isDefault":true}],"targetDiv":"","chartElements":[{"nr":0,"vizTypeUniquename":"line","caption":"line","datasource":"5","elementTypeProperties":[{"nr":0,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein_str"},{"nr":0,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_summe"},{"nr":0,"vizTypePropertyUniquename":"stroke","caption":"Serien-Dimension","propertyValue":"dim_studiengang_abschlussart_str"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studienanfänger_innen nach Abschlussart"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"marginTop","vizPropertyVariablename":"marginTop","propertyValue":"35","propUnit":""},{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"96","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"fontFamily","vizPropertyVariablename":"fontFamily","propertyValue":"system_ui","propUnit":""},{"name":"fontSize","vizPropertyVariablename":"fontSize","propertyValue":"12","propUnit":"px"},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Anzahl Studierende","propUnit":""},{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Semester","propUnit":""},{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-30","propUnit":""},{"name":"scheme","vizPropertyVariablename":"scheme","propertyValue":"blues","propUnit":""},{"name":"legend","vizPropertyVariablename":"legend","propertyValue":"true","propUnit":""}],"dataTransformation":[{"tableId":2,"colname":"sos_stg_aggr_sem_rueck_beur_ein_str","colfunction":"switchWord1and2ff"}]}^1^^^44070^ ^2^
7^STUD_ENTW_SEM_GESCHL_LINE_1HS^Studienanfänger_innen 1. HS nach Geschlecht^3^ ^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"6","nr":7,"name":"Tab. 7","isDefault":true}],"targetDiv":"","chartElements":[{"nr":0,"vizTypeUniquename":"line","caption":"line","datasource":"3","elementTypeProperties":[{"nr":0,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein_str"},{"nr":0,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_summe"},{"nr":0,"vizTypePropertyUniquename":"stroke","caption":"Serien-Dimension","propertyValue":"sos_stg_aggr_geschlecht_str"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studienanfänger_innen 1. HS nach Geschlecht"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"marginTop","vizPropertyVariablename":"marginTop","propertyValue":"35","propUnit":""},{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"100","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"fontFamily","vizPropertyVariablename":"fontFamily","propertyValue":"system_ui","propUnit":""},{"name":"fontSize","vizPropertyVariablename":"fontSize","propertyValue":"12","propUnit":"px"},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Anzahl Studierende","propUnit":""},{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Semester","propUnit":""},{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-30","propUnit":""},{"name":"scheme","vizPropertyVariablename":"scheme","propertyValue":"blues","propUnit":""},{"name":"legend","vizPropertyVariablename":"legend","propertyValue":"true","propUnit":""}],"dataTransformation":[{"tableId":0,"colname":"sos_stg_aggr_sem_rueck_beur_ein_str","colfunction":"switchWord1and2ff"}]}^1^^^44070^ ^2^
8^STUD_ENTW_SEM_STAAT_LINE_1HS^Studienanfänger_innen 1. HS nach Nationalität^3^ ^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"7","nr":8,"name":"Tab. 8","isDefault":true}],"targetDiv":"","chartElements":[{"nr":0,"vizTypeUniquename":"line","caption":"line","datasource":"4","elementTypeProperties":[{"nr":0,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein_str"},{"nr":0,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_summe"},{"nr":0,"vizTypePropertyUniquename":"stroke","caption":"Serien-Dimension","propertyValue":"dim_staat_inl_ausl_lang"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studienanfänger_innen 1. HS nach Nationalität"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"marginTop","vizPropertyVariablename":"marginTop","propertyValue":"35","propUnit":""},{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"96","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"fontFamily","vizPropertyVariablename":"fontFamily","propertyValue":"system_ui","propUnit":""},{"name":"fontSize","vizPropertyVariablename":"fontSize","propertyValue":"12","propUnit":"px"},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Anzahl Studierende","propUnit":""},{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Semester","propUnit":""},{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-30","propUnit":""},{"name":"scheme","vizPropertyVariablename":"scheme","propertyValue":"blues","propUnit":""},{"name":"legend","vizPropertyVariablename":"legend","propertyValue":"true","propUnit":""}],"dataTransformation":[{"tableId":1,"colname":"sos_stg_aggr_sem_rueck_beur_ein_str","colfunction":"switchWord1and2ff"}]}^1^^^44070^ ^2^
9^STUD_ENTW_SEM_ABSCHLUSS_LINE_1HS^Studienanfänger_innen 1. HS nach Abschlussart^3^ ^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"8","nr":9,"name":"Tab. 9","isDefault":true}],"targetDiv":"","chartElements":[{"nr":0,"vizTypeUniquename":"line","caption":"line","datasource":"5","elementTypeProperties":[{"nr":0,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein_str"},{"nr":0,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_summe"},{"nr":0,"vizTypePropertyUniquename":"stroke","caption":"Serien-Dimension","propertyValue":"dim_studiengang_abschlussart_str"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studienanfänger_innen 1. HS nach Abschlussart"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"marginTop","vizPropertyVariablename":"marginTop","propertyValue":"35","propUnit":""},{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"96","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"fontFamily","vizPropertyVariablename":"fontFamily","propertyValue":"system_ui","propUnit":""},{"name":"fontSize","vizPropertyVariablename":"fontSize","propertyValue":"12","propUnit":"px"},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Anzahl Studierende","propUnit":""},{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Semester","propUnit":""},{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-30","propUnit":""},{"name":"scheme","vizPropertyVariablename":"scheme","propertyValue":"blues","propUnit":""},{"name":"legend","vizPropertyVariablename":"legend","propertyValue":"true","propUnit":""}],"dataTransformation":[{"tableId":2,"colname":"sos_stg_aggr_sem_rueck_beur_ein_str","colfunction":"switchWord1and2ff"}]}^1^^^44070^ ^2^

1
src-modules/module/viz/schluesseltabellen/viz_renderer.unl

@ -1,3 +1,2 @@ @@ -1,3 +1,2 @@
1^d3js^D3JS (V7)^
2^plot^Observable Plot^
3^basic^Basic Shapes^

1
src-modules/module/viz/schluesseltabellen/viz_type.unl

@ -9,4 +9,3 @@ @@ -9,4 +9,3 @@
10^text^Wertelabel^2^ ^ ^^
11^bar_x_d3^Balken (horizontal)^1^^^H^
12^sankey^Sankey^1^ ^^H^
13^table_bar_x^Tabelle + Balken einfach (horiz.)^3^^^H^

3
superx/xml/viz_html_chart_viewer.xsl

@ -233,6 +233,7 @@ Formel: ANZ / 2 kaufm. gerundet @@ -233,6 +233,7 @@ Formel: ANZ / 2 kaufm. gerundet
<div class="modal-background"></div>
<div class="modal-content is-tiny">
<div class="box" style="text-align:right">
<h4><xsl:value-of select="viz_charts/viz_chart[@tid=$chart_id]/@caption"/></h4>
<a href="{concat('javascript:closeModalCardDetail(',$ergebniselement_ordnr,');')}">
<span class="button is-black is-outlined"> X </span>
</a>
@ -248,7 +249,7 @@ Formel: ANZ / 2 kaufm. gerundet @@ -248,7 +249,7 @@ Formel: ANZ / 2 kaufm. gerundet
<div class="card-content">
<div class="media">
<div class="media-content">
<h4><xsl:value-of select="viz_charts/viz_chart[@tid=$chart_id]/@caption"/></h4>
<p><xsl:value-of select="viz_charts/viz_chart[@tid=$chart_id]/@description"/></p>
<p class="legende">
<xsl:for-each select="../felder/feld">
<xsl:if test="(value !='' or sicht/@isFirstInGroup='false' or @isstandtoday='false') and @varname != 'sort' and @varname != 'maxoffset' and value_caption != ''">

Loading…
Cancel
Save