Compare commits

..

7 Commits

  1. 8
      src-modules/module/viz/conf/includes.txt
  2. 85
      src-modules/module/viz/conf/viz.xml
  3. 4
      src-modules/module/viz/masken/44020_felderinfo.unl
  4. 462
      src-modules/module/viz/masken/44020_maskeninfo.unl
  5. 22
      src-modules/module/viz/masken/44100_felderinfo.unl
  6. 1
      src-modules/module/viz/masken/44100_maske_system_bez.unl
  7. 19
      src-modules/module/viz/masken/44100_masken_felder_bez.unl
  8. 1
      src-modules/module/viz/masken/44100_maskeninfo.unl
  9. 1
      src-modules/module/viz/masken/44100_sachgeb_maske_bez.unl
  10. 37
      src-modules/module/viz/masken/44130_felderinfo.unl
  11. 1
      src-modules/module/viz/masken/44130_maske_system_bez.unl
  12. 23
      src-modules/module/viz/masken/44130_masken_felder_bez.unl
  13. 1
      src-modules/module/viz/masken/44130_maskeninfo.unl
  14. 1
      src-modules/module/viz/masken/44130_sachgeb_maske_bez.unl
  15. 39
      src-modules/module/viz/masken/44160_felderinfo.unl
  16. 1
      src-modules/module/viz/masken/44160_maske_system_bez.unl
  17. 19
      src-modules/module/viz/masken/44160_masken_felder_bez.unl
  18. 1
      src-modules/module/viz/masken/44160_maskeninfo.unl
  19. 1
      src-modules/module/viz/masken/44160_sachgeb_maske_bez.unl
  20. 25
      src-modules/module/viz/masken/44190_felderinfo.unl
  21. 1
      src-modules/module/viz/masken/44190_maske_system_bez.unl
  22. 21
      src-modules/module/viz/masken/44190_masken_felder_bez.unl
  23. 1
      src-modules/module/viz/masken/44190_maskeninfo.unl
  24. 1
      src-modules/module/viz/masken/44190_sachgeb_maske_bez.unl
  25. 29
      src-modules/module/viz/masken/44220_felderinfo.unl
  26. 1
      src-modules/module/viz/masken/44220_maske_system_bez.unl
  27. 15
      src-modules/module/viz/masken/44220_masken_felder_bez.unl
  28. 1
      src-modules/module/viz/masken/44220_maskeninfo.unl
  29. 1
      src-modules/module/viz/masken/44220_sachgeb_maske_bez.unl
  30. 30
      src-modules/module/viz/masken/44250_felderinfo.unl
  31. 1
      src-modules/module/viz/masken/44250_maske_system_bez.unl
  32. 15
      src-modules/module/viz/masken/44250_masken_felder_bez.unl
  33. 1
      src-modules/module/viz/masken/44250_maskeninfo.unl
  34. 1
      src-modules/module/viz/masken/44250_sachgeb_maske_bez.unl
  35. 29
      src-modules/module/viz/masken/44280_felderinfo.unl
  36. 1
      src-modules/module/viz/masken/44280_maske_system_bez.unl
  37. 15
      src-modules/module/viz/masken/44280_masken_felder_bez.unl
  38. 1
      src-modules/module/viz/masken/44280_maskeninfo.unl
  39. 1
      src-modules/module/viz/masken/44280_sachgeb_maske_bez.unl
  40. 50
      src-modules/module/viz/schluesseltabellen/customxmladd.sql
  41. 37
      src-modules/module/viz/schluesseltabellen/macro_masken_bez_fuellen.sql
  42. 253
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_fak_fuellen.sql
  43. 255
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_fak_geschl_fuellen.sql
  44. 246
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_geschl_fuellen.sql
  45. 246
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_hzbstaat_fuellen.sql
  46. 246
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_staat_fuellen.sql
  47. 44
      src-modules/module/viz/schluesseltabellen/sx_stylesheets_einfuegen.sql
  48. 216
      src-modules/module/viz/schluesseltabellen/viz_chart.unl
  49. 34
      src-modules/module/viz/schluesseltabellen/viz_property.unl
  50. 1
      src-modules/module/viz/schluesseltabellen/viz_property_input_type.unl
  51. 25
      src-modules/module/viz/schluesseltabellen/viz_property_renderer.unl
  52. 240
      src-modules/module/viz/schluesseltabellen/viz_staat_isocode.unl
  53. 26
      src-modules/module/viz/schluesseltabellen/viz_type.unl
  54. 562
      src-modules/module/viz/schluesseltabellen/viz_type_d3js_fuellen.sql
  55. 833
      src-modules/module/viz/schluesseltabellen/viz_type_plot_fuellen.sql
  56. 540
      src-modules/module/viz/schluesseltabellen/viz_type_property.unl
  57. 1028
      superx/xml/js/viz/viz_functions.js
  58. 178
      superx/xml/js/viz/world.geojson
  59. 10
      superx/xml/js/viz/world.geojson.license.txt
  60. 539
      superx/xml/viz_components.xsl
  61. 177
      superx/xml/viz_html_chart.xsl
  62. 344
      superx/xml/viz_html_chart_viewer.xsl
  63. 263
      superx/xml/viz_html_chart_viewer_grid.xsl
  64. 235
      superx/xml/viz_html_chart_viewer_mask.xsl
  65. 2692
      test/webapps_superx/test_viz/stud_zeitreihe.html
  66. 2805
      test/webapps_superx/test_viz/stud_zeitreihe_plot.html

8
src-modules/module/viz/conf/includes.txt

@ -5,9 +5,6 @@ images/information_grey_liberation.svg
images/plus-circled.svg images/plus-circled.svg
images/minus-circled.svg images/minus-circled.svg
style/sx_viz_muster.css style/sx_viz_muster.css
style/bulma.css
style/bulma-tooltip.min.css
style/LICENSE_bulma_tooltip_1.2.0.txt
WEB-INF/conf/edustore/db/bin/SQL_ENV_viz.sam WEB-INF/conf/edustore/db/bin/SQL_ENV_viz.sam
xml/js/viz/d3.min.js xml/js/viz/d3.min.js
xml/js/viz/d3-7.8.0-license.txt xml/js/viz/d3-7.8.0-license.txt
@ -16,10 +13,13 @@ xml/js/viz/plot-0.6.1-license.txt
xml/js/viz/d3-sankey.js xml/js/viz/d3-sankey.js
xml/js/viz/d3-sankey-license.txt xml/js/viz/d3-sankey-license.txt
xml/js/viz/viz_functions.js xml/js/viz/viz_functions.js
xml/js/viz/world.geojson.license.txt
xml/js/viz/world.geojson
xml/pageComponents_html_final_viz.xsl.sam xml/pageComponents_html_final_viz.xsl.sam
xml/viz_html_chart.xsl xml/viz_html_chart.xsl
xml/viz_html_chart_sankey.xsl xml/viz_html_chart_sankey.xsl
xml/viz_html_chart_viewer.xsl xml/viz_html_chart_viewer.xsl
xml/tabelle_html_viz.xsl xml/viz_html_chart_viewer_mask.xsl
xml/viz_html_chart_viewer_grid.xsl
xml/viz_components.xsl xml/viz_components.xsl
xml/viz_tableComponents.xsl xml/viz_tableComponents.xsl

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

@ -20,6 +20,8 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[VIZ]" />
<column name="srcpath" type="VARCHAR" size="255" default="" notnull="false" description="Pfad zum Quellcode" isKey="false"/> <column name="srcpath" type="VARCHAR" size="255" default="" notnull="false" description="Pfad zum Quellcode" isKey="false"/>
<column name="method" type="VARCHAR" size="255" default="" notnull="false" description="Methode" isKey="false"/> <column name="method" type="VARCHAR" size="255" default="" notnull="false" description="Methode" isKey="false"/>
<column name="orientation" type="CHAR" size="1" default="" notnull="false" description="Orientierung" isKey="false"><comment>Grafik horizontal (H) oder vertikal (V)</comment></column> <column name="orientation" type="CHAR" size="1" default="" notnull="false" description="Orientierung" isKey="false"><comment>Grafik horizontal (H) oder vertikal (V)</comment></column>
<column name="explanation" type="TEXT" size="32255" default="" notnull="false" description="Erläuterung" ><comment></comment></column>
<column name="preview" type="TEXT" size="32255" default="" notnull="false" description="Muster" ><comment>SVG-Beispiel</comment></column>
</columns> </columns>
<primaryKeys><rs> <primaryKeys><rs>
@ -278,6 +280,32 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[VIZ]" />
<indexes> <indexes>
</indexes> </indexes>
</table> </table>
<table name="viz_staat_isocode" thema="Visualisierung" typ="Schlüsseltabelle"
caption="Staaten (Geocodes)" releaseUnload="demo">
<columns><column name="name" type ="VARCHAR" size ="4000" default ="" notnull ="false" />
<column name="iso3" type ="VARCHAR" size ="3" default ="" notnull ="false" />
<column name="kurzbezeichnung" type ="VARCHAR" size ="3" default ="" notnull ="false" />
<column name="astat" type ="INTEGER" size ="10" default ="" notnull ="false" />
</columns>
<indexes></indexes>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>viz_staat_isocode</fld>
<fld name='column_name'>astat</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>viz_staat_isocode_pk</fld>
</row>
</rs>
</primaryKeys><foreignKeys><rs>
</rs></foreignKeys>
<importedKeys><rs>
</rs></importedKeys>
<privileges><rs>
</rs></privileges>
</table>
<views> <views>
<view name="viz_property_dimension_measure"> <view name="viz_property_dimension_measure">
<description>View Eigenschaften für Dimensionen und Maße</description> <description>View Eigenschaften für Dimensionen und Maße</description>
@ -347,8 +375,49 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
<path>$VIZ_PFAD/masken</path> <path>$VIZ_PFAD/masken</path>
</src> </src>
</maske> </maske>
<maske tid="44100" name="Studierende Zeitreihe (VIZ)" thema="Visualisierungen">
</masken> <description>Studierende gesamt / 1. FS / 1.HS </description>
<src>
<path>$VIZ_PFAD/masken</path>
</src>
</maske>
<maske tid="44130" name="Studierende nach Alter (VIZ)" thema="Visualisierungen">
<description> </description>
<src>
<path>$VIZ_PFAD/masken</path>
</src>
</maske>
<maske tid="44160" name="Übergang Bachelor/Master (Flussdiagramm)" thema="Visualisierungen">
<description> </description>
<src>
<path>$VIZ_PFAD/masken</path>
</src>
</maske>
<maske tid="44190" name="Studienanfänger_innen Makro" thema="Visualisierungen">
<description> </description>
<src>
<path>$VIZ_PFAD/masken</path>
</src>
</maske>
<maske tid="44220" name="Studierende nach Geschlecht" thema="Visualisierungen">
<description> </description>
<src>
<path>$VIZ_PFAD/masken</path>
</src>
</maske>
<maske tid="44250" name="Studierende nach Staaten" thema="Visualisierungen">
<description> </description>
<src>
<path>$VIZ_PFAD/masken</path>
</src>
</maske>
<maske tid="44280" name="Studierende nach Fakultät" thema="Visualisierungen">
<description> </description>
<src>
<path>$VIZ_PFAD/masken</path>
</src>
</maske>
</masken>
<data-integrity> <data-integrity>
<!--viz_type_property--> <!--viz_type_property-->
@ -447,6 +516,8 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
<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_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> <loadtable refresh="true" delimiter="^" header="false" tabname="viz_type_property"><file path="$VIZ_PFAD/schluesseltabellen/viz_type_property.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_chart"><file path="$VIZ_PFAD/schluesseltabellen/viz_chart.unl"/></loadtable> <loadtable refresh="true" delimiter="^" header="false" tabname="viz_chart"><file path="$VIZ_PFAD/schluesseltabellen/viz_chart.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_staat_isocode"><file path="$VIZ_PFAD/schluesseltabellen/viz_staat_isocode.unl"/></loadtable>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sachgebiete_fuellen.sql" database=""/> <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> <loadtable refresh="true" delimiter="^" header="false" tabname="viz_type_type"><file path="$VIZ_PFAD/schluesseltabellen/viz_type_type.unl"/></loadtable>
@ -456,6 +527,11 @@ 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_jobs_fuellen.sql" database=""/>-->
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sx_stylesheets_einfuegen.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=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/macro_masken_bez_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_type_plot_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_fak_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_geschl_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_hzbstaat_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_staat_fuellen.sql" database=""/>
</action> </action>
@ -474,12 +550,17 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
<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_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_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> <loadtable refresh="true" delimiter="^" header="false" tabname="viz_type_property"><file path="$VIZ_PFAD/schluesseltabellen/viz_type_property.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_staat_isocode"><file path="$VIZ_PFAD/schluesseltabellen/viz_staat_isocode.unl"/></loadtable>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sachgebiete_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sachgebiete_fuellen.sql" database=""/>
</action> </action>
<action error="stop"> <action error="stop">
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sx_stylesheets_einfuegen.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=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/macro_masken_bez_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_fak_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_geschl_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_hzbstaat_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_staat_fuellen.sql" database=""/>
</action> </action>
<action> <action>

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

@ -25,8 +25,8 @@ and apnr=1)) \
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^ 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'^ 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;^^ ^ 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');^^^ 44038^Semester^42^350^-1^140^180^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^^^
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;^ 44039^Semestertyp^15^350^-1^140^80^1^integer^255^0^1^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^ ^ ^
44040^Spaltenanzahl^300^0^0^140^80^1^integer^30^0^1^<<SQL>> SELECT 1,'1-spaltig' from xdummy \ 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 2,'2-spaltig' from xdummy \
union SELECT 3,'3-spaltig' from xdummy \ union SELECT 3,'3-spaltig' from xdummy \

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

@ -1 +1,461 @@
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^ ^ 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")&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 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 &lt; 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^ ^

22
src-modules/module/viz/masken/44100_felderinfo.unl

@ -0,0 +1,22 @@
44100^Köpfe oder Fälle ?^-3^0^0^130^150^1^sql^30^1^1^<<SQL>> select apnr, eintrag from koepfe_oder_faelle;^hidden^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag = 'Köpfe';^
44101^Seit Semester^1^0^0^130^80^1^integer^30^1^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^^<<SQL>> select tid,eintrag from semester where today()-(3*365) between sem_beginn and sem_ende;^
44102^Fächer^6^0^0^130^200^6^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='Fächer-Sicht' order by 3,2;^^^
44103^bis Fachsemester^23^330^-1^130^100^1^integer^30^0^0^^hidden^^
44104^Hörerstatus^18^0^0^130^150^1^sql^30^0^1^<<SQL>> select apnr, eintrag from hoererstatus order by 2^hidden^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
44105^Stichtag^-2^330^-1^130^100^1^sql^30^1^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';^
44106^Status^11^330^-1^130^180^1^sql^30^0^1^<<SQL>> select apnr,eintrag from sos_status order by 2^hidden^<<SQL>> select apnr,eintrag from sos_status where eintrag='Alle ohne Beurl.';^
44107^Bis Semester^3^330^-1^130^100^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;^
44108^Abschluss^5^0^0^130^150^5^char^30^0^1^<<SQL>> select apnr, trim(druck) || ' (' || trim(apnr) || ')' from cifx where key = 35 order by 2;^^^
44109^Fachkennz.^16^330^-1^130^150^1^char^30^0^1^<<SQL>> select apnr,druck from sos_k_kzfa order by 2^hidden^^
44110^Vertiefung^7^330^-1^130^100^1^char^30^0^1^<<SQL>> select apnr,druck from cifx where key=39 order by 2;^hidden^^
44111^ab Fachsemester^22^0^0^130^100^1^integer^30^0^0^^hidden^^
44112^Filter Studierende^120^0^0^130^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;^^^
44113^Trennen nach^121^330^-1^130^100^1^char^20^0^1^<<SQL>> \
select 'Fach' from xdummy where (select count(*) from sos_gewichtungsvariante)=0 \
union \
select 'Abschluss' from xdummy^hidden^^
44114^Studiengang^4^0^0^130^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;^^^
44115^##line##^13^0^0^100^100^1^char^5000^0^8^^^1^
44116^##line##^30^0^0^100^100^1^char^5000^0^8^^^1^
44117^Grafik^1000^300^-1^170^150^1^integer^30^0^1^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44100 order by 2;^ ^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44100 order by 2 limit 1;^
44118^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=44100 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=44100 order by ord limit 1^

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

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

19
src-modules/module/viz/masken/44100_masken_felder_bez.unl

@ -0,0 +1,19 @@
44100^44100^
44100^44101^
44100^44102^
44100^44103^
44100^44104^
44100^44105^
44100^44106^
44100^44107^
44100^44108^
44100^44109^
44100^44110^
44100^44111^
44100^44112^
44100^44113^
44100^44114^
44100^44115^
44100^44116^
44100^44117^
44100^44118^

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

@ -0,0 +1 @@
44100^Studierende Zeitreihe (VIZ)^<sximport>select select_stmt from maskeninfo where tid=16000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=16000</sximport>^Semester^Anzahl^je Semester mit Geschlechtsangabe und Prozentwert^<sximport>select cleanup_stmt from maskeninfo where tid=16000</sximport>^-leer-^3^700^360^0^1^^

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

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

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

@ -0,0 +1,37 @@
44130^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^hidden^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag='Köpfe';^
44131^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;^
44132^Stichtag^1^350^-1^140^100^1^sql^30^0^1^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^hidden^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^
44133^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;^^^
44134^Status^14^350^-1^140^180^1^sql^30^0^1^<<SQL>> select apnr,eintrag from sos_status order by 2^hidden^<<SQL>> select apnr,eintrag from sos_status where eintrag='Alle ohne Beurl.';^
44135^Hörerstatus^33^0^0^140^170^1^sql^30^0^1^<<SQL>> select apnr, eintrag from hoererstatus order by 2^hidden^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
44136^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^hidden^^
44137^bis Fachsemester^35^350^-1^140^100^1^integer^30^0^0^^hidden^^
44139^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;^
44140^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;^^^
44141^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;^^^
44142^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;^hidden^sos_stg_aggr.alter,sos_stg_aggr.geschlecht,sos_stg_aggr.matrikel_nr,sos_stg_aggr.summe^
44143^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;^^^
44144^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^
44145^tablestylesheet^121^0^0^100^200^1^char^200^1^1^<<SQL>> select filename,X.caption,ord from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=44130 order by ord^^<<SQL>> select filename,X.caption from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=44130 and ord=20 order by ord limit 1^
44146^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^hidden^<<SQL>> select element_value,description from menu_element where element='Ausgabeformat' and description='HTML'^
44147^Grafik^1000^300^-1^170^150^1^integer^30^0^1^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44130 order by 2;^^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44130 order by 2 limit 1^
44148^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');^hidden^^
44149^Name der Hochschule^15^350^-1^140^80^1^char^255^0^13^<<SQL>> select name from hochschulinfo;^Eintrag^<<SQL>> select name from hochschulinfo;^
44150^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;^hidden^<<SQL>> SELECT 1,'1-spaltig' from xdummy^
44151^Abschluss^7^0^0^140^170^5^char^30^0^1^<<SQL>> select abint,dtxt from k_abint order by 2;^^^
44152^Matrikel-Nr.^20^350^-1^150^180^1^char^200^0^0^^hidden^^
44153^##line##^40^0^0^100^100^1^char^5000^0^8^^^1^

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

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

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

@ -0,0 +1,23 @@
44130^44130^
44130^44131^
44130^44132^
44130^44133^
44130^44134^
44130^44135^
44130^44136^
44130^44137^
44130^44139^
44130^44140^
44130^44141^
44130^44142^
44130^44143^
44130^44144^
44130^44145^
44130^44146^
44130^44147^
44130^44148^
44130^44149^
44130^44150^
44130^44151^
44130^44152^
44130^44153^

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

@ -0,0 +1 @@
44130^Studierende nach Alter (Boxplot)^<sximport>select select_stmt from maskeninfo where tid=160440</sximport>^<sximport>select xil_proplist from maskeninfo where tid=160440</sximport>^Altersgruppe^Anzahl^Altersverteilung der Studierenden als Boxplot^<sximport>select cleanup_stmt from maskeninfo where tid=160440</sximport>^^3^700^360^0^1^ ^

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

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

39
src-modules/module/viz/masken/44160_felderinfo.unl

@ -0,0 +1,39 @@
44160^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^13^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^hidden^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag = 'Fälle';^
44161^Seit Semester^3^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today()-(3*365) between sem_beginn and sem_ende;^
44162^Fächer^9^0^0^100^200^6^char^30^0^12^<<SQL>> select tid from sichten where art='Fächer-Sicht' order by sortnr^ ^ ^
44163^Staatsangehörigkeit^35^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;^ ^ ^
44164^Bis Semester^4^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44165^Abschluss^12^0^0^100^100^6^char^30^0^1^<<SQL>> select apnr, druck from cifx where key=35 order by druck;^hidden^ ^
44166^Weitere Tabellen^123^0^0^140^140^3^char^30^0^1^<<SQL>> \
--freemarker template\
select name,string_not_null(caption) || ' - ' || name from sx_tables where name in ('_xy')\
<#if <<tablestylesheet>>!='tabelle_html_datenblatt.xsl'>\
and name in (select distinct tablename from stylesheet_field where stylesheet_id in (select tid from sx_stylesheets where filename=<<tablestylesheet>>)) \
</#if>\
order by 2^hidden^^
44167^Geschlecht^75^0^0^140^170^1^integer^4^0^1^<<SQL>> select tid, beschreibung from konstanten where tid in (1,2);^ ^ ^
44168^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 \
and (F.table_name ='erfolg_ba_ma_uebergang'\
/* or F.table_name in (<<Weitere Tabellen>>) */) \
and (F.name != 'matrikel_nr' or 0=(select \
count(*) from konstanten where beschreibung='SOS_MTKNR_EXT'\
and apnr=1))\
order by 2;^hidden^erfolg_ba_ma_uebergang.einschr_nachher_abschluss,erfolg_ba_ma_uebergang.summe,erfolg_ba_ma_uebergang.abschluss_vorher_abschluss^
44169^Fachebene^28^330^-1^130^100^1^char^30^1^1^<<SQL>> select 'stg','Fach (intern)' from xdummy union\
select 'stg_astat','Fach (amtlich)' from xdummy union\
select 'lehr','Lehreinheit' from xdummy union\
select 'fb','Fakultät' from xdummy union \
select 'stg_astgrp','Fächergruppe' from xdummy \
order by 1^hidden^<<SQL>> select 'stg','Fach (intern)' from xdummy^
44171^Hörerstatus^36^0^0^140^80^1^sql^30^0^1^<<SQL>> select apnr, eintrag from hoererstatus where apnr like 'hrst%' order by 2^hidden^ ^
44172^Richtung^38^0^0^150^190^1^char^30^1^1^<<SQL>>select 'gw','Grundständig zu weiterf.' from xdummy union select 'wg','Weiterf. zu Grundständig' from xdummy order by 1;^hidden^<<SQL>>select 'gw','Grundständig zu weiterf.' from xdummy^
44173^Studiengang^15^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;^ ^ ^
44174^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^
44175^tablestylesheet^121^0^0^100^200^1^char^200^1^1^<<SQL>> select distinct filename,X.caption from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=44160^ ^<<SQL>> select filename,X.caption from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=44160 order by ord limit 1^
44176^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^hidden^<<SQL>> select element_value,description from menu_element where element='Ausgabeformat' and description='HTML'^
44177^Grafik^1000^300^-1^170^150^1^integer^30^0^1^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44160 order by 2;^^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44160 order by 2 limit 1^
44178^##line##^30^0^0^100^100^1^char^5000^0^8^^ ^1^
44179^##line##^40^0^0^100^100^1^char^5000^0^8^^ ^1^

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

@ -0,0 +1 @@
44160^120^

19
src-modules/module/viz/masken/44160_masken_felder_bez.unl

@ -0,0 +1,19 @@
44160^44160^
44160^44161^
44160^44162^
44160^44163^
44160^44164^
44160^44165^
44160^44166^
44160^44167^
44160^44168^
44160^44169^
44160^44171^
44160^44172^
44160^44173^
44160^44174^
44160^44175^
44160^44176^
44160^44177^
44160^44178^
44160^44179^

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

@ -0,0 +1 @@
44160^Übergang Bachelor/Master (Flussdiagramm)^<sximport>select select_stmt from maskeninfo where tid=30190</sximport>^<sximport>select xil_proplist from maskeninfo where tid=30190</sximport>^Altersgruppe^Anzahl^Übergang Bachelor-Master als Flussdiagramm (Sankey)^<sximport>select cleanup_stmt from maskeninfo where tid=30190</sximport>^^3^700^360^^1^^

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

@ -0,0 +1 @@
120^44160^

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

@ -0,0 +1,25 @@
44190^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';^
44191^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;^
44192^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';^
44193^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^^
44194^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.';^
44195^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';^
44196^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^
44197^bis Fachsemester^35^350^-1^140^100^1^integer^30^0^999^^^^
44199^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;^
44200^Filter Studierende^119^0^0^140^150^1^sql^20^0^999^<<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;^^^
44201^Geschlecht^37^0^0^140^80^1^integer^30^0^999^<<SQL>> SELECT apnr,druck FROM cif where key = 9003 and apnr between 1 and 4 order by 1;^^^
44203^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;^^^
44204^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^
44205^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^
44207^Grafik^1000^300^-1^170^150^1^integer^30^0^1^<<SQL>> select tid, caption from viz_chart order by 2;^hidden^ ^
44208^Jahrgang^42^350^-1^140^180^1^sql^30^0^999^<<SQL>> select attributevalue from personattribute_value_list where personattributetype_id = (select personattributetype_id from personattributetype where attributevalue = 'Jahrgang');^^^
44209^Semestertyp^5^350^-1^140^80^1^integer^255^0^1^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^Eintrag^<<SQL>> select 2,'nur Wintersemester' from xdummy^
44210^##line##^30^0^0^100^100^1^char^5000^0^8^^^1^
44211^Abschluss^7^0^0^140^170^5^char^30^0^1^<<SQL>> select abint,dtxt from k_abint order by 2;^^^
44212^Matrikel-Nr.^20^350^-1^150^180^1^char^200^0^13^^{InputCheck:matrikelnummern}^^
44213^##line##^40^0^0^100^100^1^char^5000^0^8^^^1^

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

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

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

@ -0,0 +1,21 @@
44190^44190^
44190^44191^
44190^44192^
44190^44193^
44190^44194^
44190^44195^
44190^44196^
44190^44197^
44190^44199^
44190^44200^
44190^44201^
44190^44203^
44190^44204^
44190^44205^
44190^44207^
44190^44208^
44190^44209^
44190^44210^
44190^44211^
44190^44212^
44190^44213^

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

@ -0,0 +1 @@
44190^Studienanfänger_innen Übersicht^ ^ ^Altersgruppe^Anzahl^Studienanfänger_innen als Zeitreihe, nach Gesschlecht und Fakultät in verschiedenen Visualisierungen^drop table tmp_tabelle;^^3^700^360^0^1^^

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

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

29
src-modules/module/viz/masken/44220_felderinfo.unl

@ -0,0 +1,29 @@
44220^Spaltenlayout^3000^350^-1^140^180^1^integer^30^1^1^<<SQL>>SELECT tid,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat')\
and R.systeminfo_id=7)\
and uniquename in ('sos_stud_geschl')\
order by sortnr, caption\
;^^<<SQL>>SELECT tid,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat')\
and R.systeminfo_id=7)\
and uniquename in ('sos_stud_geschl')\
order by sortnr, caption limit 1\
;^
44221^Seit Semester^10^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44222^Fächer^30^0^0^130^200^6^char^1000^0^12^<<SQL>> select tid,name,sortnr from sichten where art='Fächer-Sicht' order by 3,2;^ ^ ^
44223^Abschluss^40^0^0^100^200^3^char^1500^0^1^<<SQL>> select apnr, druck from cifx where key=35 order by 2;^ ^ ^
44224^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^13^^ ^ ^
44225^Grafik^4000^300^-1^170^150^1^integer^30^0^1^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44220 order by 2;^^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44220 order by 2 limit 1;^
44226^Hochschulzugangsberechtigung^120^300^-1^200^200^1^sql^30^0^1^hs_zugangsber^apnr, eintrag^ ^
44227^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44228^Staatsangehörigkeit^150^0^0^140^150^10^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^ ^ ^
44229^Studiengang^25^0^0^140^150^50^char^1000^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^ ^ ^
44230^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=44100 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=44100 order by ord limit 1^
44231^Stichtag^23^330^-1^130^100^1^sql^30^1^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';^
44232^Hörerstatus^200^330^-1^140^150^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';^
44238^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 = 'Fälle';^
44242^Geschlecht^110^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;^ ^ ^

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

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

15
src-modules/module/viz/masken/44220_masken_felder_bez.unl

@ -0,0 +1,15 @@
44220^44220^
44220^44221^
44220^44222^
44220^44223^
44220^44224^
44220^44225^
44220^44226^
44220^44227^
44220^44228^
44220^44229^
44220^44230^
44220^44231^
44220^44232^
44220^44238^
44220^44242^

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

@ -0,0 +1 @@
44220^Studierende nach Geschlecht^<sximport>select select_stmt from maskeninfo where tid=45000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=45000</sximport>^Studienfach^Anzahl bzw. Anteil^Ausgabe der Studierenden nach Geschlecht in verschiedenen Visualisierungen (z.B. Tortendiagramm)^<sximport>select cleanup_stmt from maskeninfo where tid=45000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^

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

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

30
src-modules/module/viz/masken/44250_felderinfo.unl

@ -0,0 +1,30 @@
44250^Spaltenlayout^3000^350^-1^140^180^1^integer^30^1^1^<<SQL>>SELECT tid,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat')\
and R.systeminfo_id=7)\
and uniquename in ('sos_stud_ca12_staat','sos_stud_hzb_staat')\
order by sortnr, caption\
;^^<<SQL>>SELECT tid,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat')\
and R.systeminfo_id=7)\
and uniquename in ('sos_stud_ca12_staat','sos_stud_hzb_staat')\
order by sortnr, caption\
limit 1\
;^
44251^Seit Semester^10^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44252^Fächer^30^0^0^130^200^6^char^1000^0^12^<<SQL>> select tid,name,sortnr from sichten where art='Fächer-Sicht' order by 3,2;^ ^ ^
44253^Abschluss^40^0^0^100^200^3^char^1500^0^1^<<SQL>> select apnr, druck from cifx where key=35 order by 2;^ ^ ^
44254^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^13^^ ^ ^
44255^Grafik^4000^300^-1^170^150^1^integer^30^0^1^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44250 order by 2;^^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44250 order by 2 limit 1;^
44256^Hochschulzugangsberechtigung^120^300^-1^200^200^1^sql^30^0^1^hs_zugangsber^apnr, eintrag^ ^
44257^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44258^Staatsangehörigkeit^150^0^0^140^150^10^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^ ^ ^
44259^Studiengang^25^0^0^140^150^50^char^1000^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^ ^ ^
44260^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=44250 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=44100 order by ord limit 1^
44261^Stichtag^23^330^-1^130^100^1^sql^30^1^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';^
44262^Hörerstatus^200^330^-1^140^150^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';^
44268^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 = 'Fälle';^
44272^Geschlecht^110^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;^ ^ ^

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

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

15
src-modules/module/viz/masken/44250_masken_felder_bez.unl

@ -0,0 +1,15 @@
44250^44250^
44250^44251^
44250^44252^
44250^44253^
44250^44254^
44250^44255^
44250^44256^
44250^44257^
44250^44258^
44250^44259^
44250^44260^
44250^44261^
44250^44262^
44250^44268^
44250^44272^

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

@ -0,0 +1 @@
44250^Studierende nach Staaten^<sximport>select select_stmt from maskeninfo where tid=45000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=45000</sximport>^Studienfach^Anzahl bzw. Anteil^Ausgabe der Studierenden nach Staat (Staatsangehörigkeit, Staat der Hochschulzugangsberechtigung) als Datenblatt oder Weltkarte^<sximport>select cleanup_stmt from maskeninfo where tid=45000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^

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

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

29
src-modules/module/viz/masken/44280_felderinfo.unl

@ -0,0 +1,29 @@
44280^Spaltenlayout^3000^350^-1^140^180^1^integer^30^1^1^<<SQL>>SELECT tid,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat')\
and R.systeminfo_id=7)\
and uniquename in ('sos_stud_fak')\
order by sortnr, caption\
;^^<<SQL>>SELECT tid,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat')\
and R.systeminfo_id=7)\
and uniquename in ('sos_stud_fak')\
order by sortnr, caption limit 1\
;^
44281^Seit Semester^10^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44282^Fächer^30^0^0^130^200^6^char^1000^0^12^<<SQL>> select tid,name,sortnr from sichten where art='Fächer-Sicht' order by 3,2;^ ^ ^
44283^Abschluss^40^0^0^100^200^3^char^1500^0^1^<<SQL>> select apnr, druck from cifx where key=35 order by 2;^ ^ ^
44284^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^13^^ ^ ^
44285^Grafik^4000^300^-1^170^150^1^integer^30^0^1^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44280 order by 2;^^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44280 order by 2 limit 1;^
44286^Hochschulzugangsberechtigung^120^300^-1^200^200^1^sql^30^0^1^hs_zugangsber^apnr, eintrag^ ^
44287^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44288^Staatsangehörigkeit^150^0^0^140^150^10^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^ ^ ^
44289^Studiengang^25^0^0^140^150^50^char^1000^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^ ^ ^
44290^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=44100 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=44100 order by ord limit 1^
44291^Stichtag^23^330^-1^130^100^1^sql^30^1^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';^
44292^Hörerstatus^200^330^-1^140^150^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';^
44298^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 = 'Fälle';^
44302^Geschlecht^110^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;^ ^ ^

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

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

15
src-modules/module/viz/masken/44280_masken_felder_bez.unl

@ -0,0 +1,15 @@
44280^44280^
44280^44281^
44280^44282^
44280^44283^
44280^44284^
44280^44285^
44280^44286^
44280^44287^
44280^44288^
44280^44289^
44280^44290^
44280^44291^
44280^44292^
44280^44298^
44280^44302^

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

@ -0,0 +1 @@
44280^Studierende nach Fakultät^<sximport>select select_stmt from maskeninfo where tid=45000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=45000</sximport>^Studienfach^Anzahl bzw. Anteil^Ausgabe der Studierenden nach Fakultät mit verschiedenen Visualisierungen (z.B. Tortendiagramm)^<sximport>select cleanup_stmt from maskeninfo where tid=45000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^

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

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

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

@ -1,16 +1,5 @@
<#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> <#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"> <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 SELECT
P.tid, P.tid,
P.caption, P.caption,
@ -24,8 +13,8 @@ P.explanation,
P.sortnr, P.sortnr,
P.range_from, P.range_from,
P.range_to, P.range_to,
T.caption as input_type_caption, I.caption as input_type_caption,
T.uniquename as input_type_uniquename, I.uniquename as input_type_uniquename,
G.caption as group_caption, G.caption as group_caption,
G.sortnr as group_sortnr, G.sortnr as group_sortnr,
G.uniquename as group_uniquename, G.uniquename as group_uniquename,
@ -35,12 +24,12 @@ PR.variable_name,
P.prop_value_type, P.prop_value_type,
P.is_generic P.is_generic
FROM viz_property_input_type T, viz_property P left outer join viz_property_group G FROM viz_property_input_type I, viz_property P left outer join viz_property_group G
on (P.property_group_id=G.tid) 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_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_renderer R on (R.tid=GR.renderer_id)
left outer join viz_property_renderer PR on (P.tid=PR.property_id) left outer join viz_property_renderer PR on (P.tid=PR.property_id)
where T.tid=P.input_type_id where I.tid=P.input_type_id
--and P.is_generic=1 --and P.is_generic=1
order by G.sortnr,G.uniquename,P.sortnr,P.caption order by G.sortnr,G.uniquename,P.sortnr,P.caption
; ;
@ -70,14 +59,29 @@ order by 3
<sqlvar name="viz_type_properties" type="hash"> <sqlvar name="viz_type_properties" type="hash">
SELECT T.tid, SELECT T.tid,
T.uniquename as viz_type_uniquename, T.uniquename as viz_type_uniquename,
P.prop_uniquename,
P.caption, 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,
I.caption as input_type_caption,
I.uniquename as input_type_uniquename,
G.uniquename as viz_property_group_uniquename, G.uniquename as viz_property_group_uniquename,
TP.is_mandatory, TP.is_mandatory,
TP.sortnr TP.sortnr,
FROM viz_type T, viz_type_property TP, viz_property P, viz_property_group G P.prop_value_type,
P.is_generic
FROM viz_type T, viz_type_property TP, viz_property P,
viz_property_input_type I, viz_property_group G
where T.tid=TP.viz_type_id where T.tid=TP.viz_type_id
and P.tid=TP.viz_property_id and P.tid=TP.viz_property_id
and I.tid=P.input_type_id
and G.tid=P.property_group_id and G.tid=P.property_group_id
order by 2,TP.sortnr,P.caption order by 2,TP.sortnr,P.caption
; ;
@ -163,7 +167,15 @@ order by 3
viz_type_uniquename="${tp.viz_type_uniquename}" viz_type_uniquename="${tp.viz_type_uniquename}"
viz_property_group_uniquename="${tp.viz_property_group_uniquename}" viz_property_group_uniquename="${tp.viz_property_group_uniquename}"
is_mandatory="${tp.is_mandatory}" is_mandatory="${tp.is_mandatory}"
sortnr="${tp.sortnr}" prop_default="${tp.prop_default}"
static_values="${tp.static_values}"
input_type_uniquename="${tp.input_type_uniquename}"
prop_unit="${tp.prop_unit}"
prop_range_from="${tp.range_from}"
prop_range_to="${tp.range_to}"
propValueType="${tp.prop_value_type}"
explanation="${tp.explanation}"
isGeneric="${tp.is_generic}"
/> />
</#foreach> </#foreach>
</#if> </#if>

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

@ -1,7 +1,8 @@
--freemarker template --freemarker template
<#assign makros = [ <#assign makros = [
{"tid":"44070"} {"tid":"44070"},
{"tid":"44190"}
] /> ] />
@ -16,7 +17,12 @@
{"makro":"44070", "tid":"44020", "sortnr":"60"}, {"makro":"44070", "tid":"44020", "sortnr":"60"},
{"makro":"44070", "tid":"44020", "sortnr":"70"}, {"makro":"44070", "tid":"44020", "sortnr":"70"},
{"makro":"44070", "tid":"44020", "sortnr":"80"} {"makro":"44070", "tid":"44020", "sortnr":"80"},
{"makro":"44190", "tid":"44020", "sortnr":"1"},
{"makro":"44190", "tid":"44020", "sortnr":"10"},
{"makro":"44190", "tid":"44020", "sortnr":"20"}
] /> ] />
<#assign felder = [ <#assign felder = [
@ -78,7 +84,32 @@
{"makro":"44070", "sortnr":"80", "feldname":"Grafik", "value":"9"}, {"makro":"44070", "sortnr":"80", "feldname":"Grafik", "value":"9"},
{"makro":"44070", "sortnr":"80", "feldname":"Weitere Tabellen", "value":"dim_studiengang"}, {"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":"Filter Studierende", "value":"SOS_HSSEM_1"},
{"makro":"44070", "sortnr":"80", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"} {"makro":"44070", "sortnr":"80", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44190", "sortnr":"1", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44190", "sortnr":"1", "feldname":"Felder", "value":"sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"},
{"makro":"44190", "sortnr":"1", "feldname":"Grafik", "value":"16"},
{"makro":"44190", "sortnr":"1", "feldname":"Weitere Tabellen", "value":"dim_studiengang"},
{"makro":"44190", "sortnr":"1", "feldname":"bis Fachsemester", "value":"1"},
{"makro":"44190", "sortnr":"1", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44190", "sortnr":"10", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44190", "sortnr":"10", "feldname":"Felder", "value":"sos_stg_aggr.geschlecht|sos_stg_aggr.summe"},
{"makro":"44190", "sortnr":"10", "feldname":"Grafik", "value":"17"},
{"makro":"44190", "sortnr":"10", "feldname":"Weitere Tabellen", "value":"dim_studiengang"},
{"makro":"44190", "sortnr":"10", "feldname":"bis Fachsemester", "value":"1"},
{"makro":"44190", "sortnr":"10", "feldname":"Semester", "value":"20232"},
{"makro":"44190", "sortnr":"10", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44190", "sortnr":"20", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44190", "sortnr":"20", "feldname":"Felder", "value":"dim_studiengang.fb|dim_studiengang.fb_str|sos_stg_aggr.summe"},
{"makro":"44190", "sortnr":"20", "feldname":"Grafik", "value":"18"},
{"makro":"44190", "sortnr":"20", "feldname":"Weitere Tabellen", "value":"dim_studiengang"},
{"makro":"44190", "sortnr":"20", "feldname":"bis Fachsemester", "value":"1"},
{"makro":"44190", "sortnr":"20", "feldname":"Semester", "value":"20232"},
{"makro":"44190", "sortnr":"20", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"}
] /> ] />

253
src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_fak_fuellen.sql

@ -0,0 +1,253 @@
--freemarker template
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
</sqlvar>
</sqlvars>
<#assign rpta_column_layout = {"uniquename":"sos_stud_fak",
"caption":"Studierende nach Fakultät",
"rpta_resultset":"sos_stud_astat",
"whereclause":"",
"description":"Studierende nach Fakultät"
}
/>
<#assign rpta_columns = [
{"uniquename":"dim_studiengang_fak",
"caption":"Fakultät (Schlüssel)",
"srcfieldname":"dim_studiengang_fb",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":"Fakultät (Schlüssel)"
},
{"uniquename":"dim_studiengang_fak_str",
"caption":"Fakultät",
"srcfieldname":"dim_studiengang_fb_str",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":"Fakultät (Name)"
},
{"uniquename":"summe",
"caption":"Anzahl der Studierenden",
"srcfieldname":"summe",
"column_type":"physicalColumn",
"col_function":"sum",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"Summe der Studierenden"
}
]
/>
<#if rpta_installed==1>
---ab hier nicht mehr ändern:
CREATE temp TABLE tmp_rpta_column
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
srcfieldname varchar(255),
targetfieldname varchar(255),
column_type integer,
col_function text,
is_visible smallint,
visible_size smallint,
is_aggregate smallint,
resultset_id integer,
sortnr integer,
description TEXT
);
CREATE temp TABLE tmp_rpta_column_layout
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
resultset_id integer,
whereclause text,
description text
);
insert into tmp_rpta_column_layout(
resultset_id,
uniquename,
caption,
whereclause,
description
)
select tid,
'${rpta_column_layout.uniquename}',
'${rpta_column_layout.caption}',
'${rpta_column_layout.whereclause}',
'${rpta_column_layout.description}'
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}';
<#assign sortnr=0 />
<#foreach column in rpta_columns>
<#assign sortnr=sortnr +1 />
INSERT INTO tmp_rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_visible,
visible_size,
is_aggregate,
sortnr,
description
)
select R.tid,
'${column.uniquename}',
'${column.caption}',
'${column.srcfieldname}',
<#if !column.targetfieldname?exists || column.targetfieldname=="">null::varchar <#else>'${column.targetfieldname}' </#if>,
T.tid as column_type,
'${column.col_function}',
${column.is_visible},
${column.visible_size},
${column.is_aggregate},
${sortnr*10},
'${column.description}'
FROM rpta_resultset R, rpta_column_type T
where R.uniquename='${rpta_column_layout.rpta_resultset}'
and T.uniquename='${column.column_type}';
</#foreach>
select * into temp tmp_rpta_column2layout
from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_column_layout.rpta_resultset}'
and L.uniquename='${rpta_column_layout.uniquename}'
)
;
select * into temp tmp_rpta_column_layout_target
from rpta_column_layout
where resultset_id in (select tid
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}')
and uniquename in (select uniquename from tmp_rpta_column_layout)
;
insert into rpta_column_layout
(uniquename,
caption,
resultset_id,
whereclause,
description)
select uniquename,
caption,
resultset_id,
whereclause,
description
FROM tmp_rpta_column_layout T
where 0=(select count(*) from tmp_rpta_column_layout_target T2
where T.uniquename=T2.uniquename);
drop table tmp_rpta_column_layout_target;
delete from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_column_layout.rpta_resultset}'
and L.uniquename='${rpta_column_layout.uniquename}'
)
;
select * into temp tmp_rpta_column2
from tmp_rpta_column T
where (resultset_id,uniquename) not in
(select resultset_id,uniquename from rpta_column);
INSERT INTO rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
custom
)
select
resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
0 as custom
from tmp_rpta_column2;
--evtl. neuen Satz einfügen, dann alle updaten
update rpta_column set ( caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description)
= (select caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description
from tmp_rpta_column T
where T.resultset_id=rpta_column.resultset_id
and T.uniquename=rpta_column.uniquename)
where custom=0
and (resultset_id,uniquename) in
(select T.resultset_id,T.uniquename
from tmp_rpta_column T)
;
drop table tmp_rpta_column2;
insert into rpta_column2layout(column_id,
layout_id,
sortnr,
is_visible,
visible_size,
caption,
description)
select C.tid as column_id,
L.tid as layout_id,
T.sortnr,
T.is_visible,
T.visible_size,
T.caption,
T.description
FROM rpta_column C, rpta_column_layout L, tmp_rpta_column T
where C.uniquename=T.uniquename
and C.resultset_id=T.resultset_id
and L.uniquename='${rpta_column_layout.uniquename}'
and L.resultset_id=T.resultset_id
;
drop table tmp_rpta_column;
drop TABLE tmp_rpta_column_layout;
</#if>

255
src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_fak_geschl_fuellen.sql

@ -0,0 +1,255 @@
--freemarker template
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
</sqlvar>
</sqlvars>
<#assign rpta_column_layout = {"uniquename":"sos_stud_fak_geschl",
"caption":"Studierende nach Fak. und Geschlecht",
"rpta_resultset":"sos_stud_astat",
"whereclause":"",
"description":"Studierende nach Fak. und Geschlecht"
}
/>
<#assign rpta_columns = [
{"uniquename":"dim_studiengang_fak",
"caption":"Fakultät",
"srcfieldname":"dim_studiengang_fb_str",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":"Fakultät"
},
{"uniquename":"geschlecht_w",
"caption":"Geschlecht (weiblich)",
"srcfieldname":"geschlecht",
"targetfieldname":"",
"column_type":"logicalColumn",
"col_function":"case when geschlecht=2 then ''Weiblich''::varchar(255) else ''Nicht weiblich''::varchar(255) end",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"Geschlecht weiblich"
},
{"uniquename":"summe",
"caption":"Anzahl der Studierenden",
"srcfieldname":"summe",
"column_type":"physicalColumn",
"col_function":"sum",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"Summe der Studierenden"
}
]
/>
<#if rpta_installed==1>
---ab hier nicht mehr ändern:
CREATE temp TABLE tmp_rpta_column
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
srcfieldname varchar(255),
targetfieldname varchar(255),
column_type integer,
col_function text,
is_visible smallint,
visible_size smallint,
is_aggregate smallint,
resultset_id integer,
sortnr integer,
description TEXT
);
CREATE temp TABLE tmp_rpta_column_layout
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
resultset_id integer,
whereclause text,
description text
);
insert into tmp_rpta_column_layout(
resultset_id,
uniquename,
caption,
whereclause,
description
)
select tid,
'${rpta_column_layout.uniquename}',
'${rpta_column_layout.caption}',
'${rpta_column_layout.whereclause}',
'${rpta_column_layout.description}'
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}';
<#assign sortnr=0 />
<#foreach column in rpta_columns>
<#assign sortnr=sortnr +1 />
INSERT INTO tmp_rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_visible,
visible_size,
is_aggregate,
sortnr,
description
)
select R.tid,
'${column.uniquename}',
'${column.caption}',
'${column.srcfieldname}',
<#if !column.targetfieldname?exists || column.targetfieldname=="">null::varchar <#else>'${column.targetfieldname}' </#if>,
T.tid as column_type,
'${column.col_function}',
${column.is_visible},
${column.visible_size},
${column.is_aggregate},
${sortnr*10},
'${column.description}'
FROM rpta_resultset R, rpta_column_type T
where R.uniquename='${rpta_column_layout.rpta_resultset}'
and T.uniquename='${column.column_type}';
</#foreach>
select * into temp tmp_rpta_column2layout
from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_column_layout.rpta_resultset}'
and L.uniquename='${rpta_column_layout.uniquename}'
)
;
select * into temp tmp_rpta_column_layout_target
from rpta_column_layout
where resultset_id in (select tid
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}')
and uniquename in (select uniquename from tmp_rpta_column_layout)
;
insert into rpta_column_layout
(uniquename,
caption,
resultset_id,
whereclause,
description)
select uniquename,
caption,
resultset_id,
whereclause,
description
FROM tmp_rpta_column_layout T
where 0=(select count(*) from tmp_rpta_column_layout_target T2
where T.uniquename=T2.uniquename);
drop table tmp_rpta_column_layout_target;
delete from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_column_layout.rpta_resultset}'
and L.uniquename='${rpta_column_layout.uniquename}'
)
;
select * into temp tmp_rpta_column2
from tmp_rpta_column T
where (resultset_id,uniquename) not in
(select resultset_id,uniquename from rpta_column);
INSERT INTO rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
custom
)
select
resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
0 as custom
from tmp_rpta_column2;
--evtl. neuen Satz einfügen, dann alle updaten
update rpta_column set ( caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description)
= (select caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description
from tmp_rpta_column T
where T.resultset_id=rpta_column.resultset_id
and T.uniquename=rpta_column.uniquename)
where custom=0
and (resultset_id,uniquename) in
(select T.resultset_id,T.uniquename
from tmp_rpta_column T)
;
drop table tmp_rpta_column2;
insert into rpta_column2layout(column_id,
layout_id,
sortnr,
is_visible,
visible_size,
caption,
description)
select C.tid as column_id,
L.tid as layout_id,
T.sortnr,
T.is_visible,
T.visible_size,
T.caption,
T.description
FROM rpta_column C, rpta_column_layout L, tmp_rpta_column T
where C.uniquename=T.uniquename
and C.resultset_id=T.resultset_id
and L.uniquename='${rpta_column_layout.uniquename}'
and L.resultset_id=T.resultset_id
;
drop table tmp_rpta_column;
drop TABLE tmp_rpta_column_layout;
</#if>

246
src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_geschl_fuellen.sql

@ -0,0 +1,246 @@
--freemarker template
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
</sqlvar>
</sqlvars>
<#assign rpta_column_layout =
{"uniquename":"sos_stud_geschl",
"caption":"Studierende nach Geschlecht",
"rpta_resultset":"sos_stud_astat",
"whereclause":"",
"description":"Studierende nach Geschlecht"
}
/>
<#assign rpta_columns = [
{"uniquename":"geschlecht_w",
"caption":"Geschlecht (weiblich)",
"srcfieldname":"geschlecht",
"targetfieldname":"",
"column_type":"logicalColumn",
"col_function":"case when geschlecht=2 then ''Weiblich''::varchar(255) else ''Nicht weiblich''::varchar(255) end",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"Geschlecht weiblich"
},
{"uniquename":"summe",
"caption":"Anzahl der Studierenden",
"srcfieldname":"summe",
"column_type":"physicalColumn",
"col_function":"sum",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"Summe der Studierenden"
}
]
/>
<#if rpta_installed==1>
---ab hier nicht mehr ändern:
CREATE temp TABLE tmp_rpta_column
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
srcfieldname varchar(255),
targetfieldname varchar(255),
column_type integer,
col_function text,
is_visible smallint,
visible_size smallint,
is_aggregate smallint,
resultset_id integer,
sortnr integer,
description TEXT
);
CREATE temp TABLE tmp_rpta_column_layout
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
resultset_id integer,
whereclause text,
description text
);
insert into tmp_rpta_column_layout(
resultset_id,
uniquename,
caption,
whereclause,
description
)
select tid,
'${rpta_column_layout.uniquename}',
'${rpta_column_layout.caption}',
'${rpta_column_layout.whereclause}',
'${rpta_column_layout.description}'
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}';
<#assign sortnr=0 />
<#foreach column in rpta_columns>
<#assign sortnr=sortnr +1 />
INSERT INTO tmp_rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_visible,
visible_size,
is_aggregate,
sortnr,
description
)
select R.tid,
'${column.uniquename}',
'${column.caption}',
'${column.srcfieldname}',
<#if !column.targetfieldname?exists || column.targetfieldname=="">null::varchar <#else>'${column.targetfieldname}' </#if>,
T.tid as column_type,
'${column.col_function}',
${column.is_visible},
${column.visible_size},
${column.is_aggregate},
${sortnr*10},
'${column.description}'
FROM rpta_resultset R, rpta_column_type T
where R.uniquename='${rpta_column_layout.rpta_resultset}'
and T.uniquename='${column.column_type}';
</#foreach>
select * into temp tmp_rpta_column2layout
from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_column_layout.rpta_resultset}'
and L.uniquename='${rpta_column_layout.uniquename}'
)
;
select * into temp tmp_rpta_column_layout_target
from rpta_column_layout
where resultset_id in (select tid
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}')
and uniquename in (select uniquename from tmp_rpta_column_layout)
;
insert into rpta_column_layout
(uniquename,
caption,
resultset_id,
whereclause,
description)
select uniquename,
caption,
resultset_id,
whereclause,
description
FROM tmp_rpta_column_layout T
where 0=(select count(*) from tmp_rpta_column_layout_target T2
where T.uniquename=T2.uniquename);
drop table tmp_rpta_column_layout_target;
delete from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_column_layout.rpta_resultset}'
and L.uniquename='${rpta_column_layout.uniquename}'
)
;
select * into temp tmp_rpta_column2
from tmp_rpta_column T
where (resultset_id,uniquename) not in
(select resultset_id,uniquename from rpta_column);
INSERT INTO rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
custom
)
select
resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
0 as custom
from tmp_rpta_column2;
--evtl. neuen Satz einfügen, dann alle updaten
update rpta_column set ( caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description)
= (select caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description
from tmp_rpta_column T
where T.resultset_id=rpta_column.resultset_id
and T.uniquename=rpta_column.uniquename)
where custom=0
and (resultset_id,uniquename) in
(select T.resultset_id,T.uniquename
from tmp_rpta_column T)
;
drop table tmp_rpta_column2;
insert into rpta_column2layout(column_id,
layout_id,
sortnr,
is_visible,
visible_size,
caption,
description)
select C.tid as column_id,
L.tid as layout_id,
T.sortnr,
T.is_visible,
T.visible_size,
T.caption,
T.description
FROM rpta_column C, rpta_column_layout L, tmp_rpta_column T
where C.uniquename=T.uniquename
and C.resultset_id=T.resultset_id
and L.uniquename='${rpta_column_layout.uniquename}'
and L.resultset_id=T.resultset_id
;
drop table tmp_rpta_column;
drop TABLE tmp_rpta_column_layout;
</#if>

246
src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_hzbstaat_fuellen.sql

@ -0,0 +1,246 @@
--freemarker template
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
</sqlvar>
</sqlvars>
<#assign rpta_column_layout =
{"uniquename":"sos_stud_hzb_staat",
"caption":"Studierende nach Staat der HZB",
"rpta_resultset":"sos_stud_astat",
"whereclause":"",
"description":"Studierende nach Staat der HZB"
}
/>
<#assign rpta_columns = [
{"uniquename":"hzbstaat_iso3",
"caption":"Staat der HZB",
"srcfieldname":"hzbkfz",
"targetfieldname":"staat_iso3",
"column_type":"lookupColumn",
"col_function":"select I.iso3 from viz_staat_isocode I where I.astat=hzbkfz and hzbkfzkz=1 union select I.iso3 from viz_staat_isocode I where I.astat=0 and hzbkfzkz=0",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"Staat (ISO Code)"
},
{"uniquename":"summe",
"caption":"Anzahl der Studierenden",
"srcfieldname":"summe",
"column_type":"physicalColumn",
"col_function":"sum",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"Summe der Studierenden"
}
]
/>
<#if rpta_installed==1>
---ab hier nicht mehr ändern:
CREATE temp TABLE tmp_rpta_column
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
srcfieldname varchar(255),
targetfieldname varchar(255),
column_type integer,
col_function text,
is_visible smallint,
visible_size smallint,
is_aggregate smallint,
resultset_id integer,
sortnr integer,
description TEXT
);
CREATE temp TABLE tmp_rpta_column_layout
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
resultset_id integer,
whereclause text,
description text
);
insert into tmp_rpta_column_layout(
resultset_id,
uniquename,
caption,
whereclause,
description
)
select tid,
'${rpta_column_layout.uniquename}',
'${rpta_column_layout.caption}',
'${rpta_column_layout.whereclause}',
'${rpta_column_layout.description}'
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}';
<#assign sortnr=0 />
<#foreach column in rpta_columns>
<#assign sortnr=sortnr +1 />
INSERT INTO tmp_rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_visible,
visible_size,
is_aggregate,
sortnr,
description
)
select R.tid,
'${column.uniquename}',
'${column.caption}',
'${column.srcfieldname}',
<#if !column.targetfieldname?exists || column.targetfieldname=="">null::varchar <#else>'${column.targetfieldname}' </#if>,
T.tid as column_type,
'${column.col_function}',
${column.is_visible},
${column.visible_size},
${column.is_aggregate},
${sortnr*10},
'${column.description}'
FROM rpta_resultset R, rpta_column_type T
where R.uniquename='${rpta_column_layout.rpta_resultset}'
and T.uniquename='${column.column_type}';
</#foreach>
select * into temp tmp_rpta_column2layout
from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_column_layout.rpta_resultset}'
and L.uniquename='${rpta_column_layout.uniquename}'
)
;
select * into temp tmp_rpta_column_layout_target
from rpta_column_layout
where resultset_id in (select tid
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}')
and uniquename in (select uniquename from tmp_rpta_column_layout)
;
insert into rpta_column_layout
(uniquename,
caption,
resultset_id,
whereclause,
description)
select uniquename,
caption,
resultset_id,
whereclause,
description
FROM tmp_rpta_column_layout T
where 0=(select count(*) from tmp_rpta_column_layout_target T2
where T.uniquename=T2.uniquename);
drop table tmp_rpta_column_layout_target;
delete from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_column_layout.rpta_resultset}'
and L.uniquename='${rpta_column_layout.uniquename}'
)
;
select * into temp tmp_rpta_column2
from tmp_rpta_column T
where (resultset_id,uniquename) not in
(select resultset_id,uniquename from rpta_column);
INSERT INTO rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
custom
)
select
resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
0 as custom
from tmp_rpta_column2;
--evtl. neuen Satz einfügen, dann alle updaten
update rpta_column set ( caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description)
= (select caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description
from tmp_rpta_column T
where T.resultset_id=rpta_column.resultset_id
and T.uniquename=rpta_column.uniquename)
where custom=0
and (resultset_id,uniquename) in
(select T.resultset_id,T.uniquename
from tmp_rpta_column T)
;
drop table tmp_rpta_column2;
insert into rpta_column2layout(column_id,
layout_id,
sortnr,
is_visible,
visible_size,
caption,
description)
select C.tid as column_id,
L.tid as layout_id,
T.sortnr,
T.is_visible,
T.visible_size,
T.caption,
T.description
FROM rpta_column C, rpta_column_layout L, tmp_rpta_column T
where C.uniquename=T.uniquename
and C.resultset_id=T.resultset_id
and L.uniquename='${rpta_column_layout.uniquename}'
and L.resultset_id=T.resultset_id
;
drop table tmp_rpta_column;
drop TABLE tmp_rpta_column_layout;
</#if>

246
src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_staat_fuellen.sql

@ -0,0 +1,246 @@
--freemarker template
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
</sqlvar>
</sqlvars>
<#assign rpta_column_layout =
{"uniquename":"sos_stud_ca12_staat",
"caption":"Studierende nach Staatsangehörigkeit",
"rpta_resultset":"sos_stud_astat",
"whereclause":"",
"description":"Studierende nach Staatsangehörigkeit"
}
/>
<#assign rpta_columns = [
{"uniquename":"staat_iso3",
"caption":"Staatsangehörigkeit",
"srcfieldname":"ca12_staat",
"targetfieldname":"staat_iso3",
"column_type":"lookupColumn",
"col_function":"select I.iso3 from viz_staat_isocode I where I.astat=ca12_staat",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"Staat (ISO Code)"
},
{"uniquename":"summe",
"caption":"Anzahl der Studierenden",
"srcfieldname":"summe",
"column_type":"physicalColumn",
"col_function":"sum",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"Summe der Studierenden"
}
]
/>
<#if rpta_installed==1>
---ab hier nicht mehr ändern:
CREATE temp TABLE tmp_rpta_column
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
srcfieldname varchar(255),
targetfieldname varchar(255),
column_type integer,
col_function text,
is_visible smallint,
visible_size smallint,
is_aggregate smallint,
resultset_id integer,
sortnr integer,
description TEXT
);
CREATE temp TABLE tmp_rpta_column_layout
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
resultset_id integer,
whereclause text,
description text
);
insert into tmp_rpta_column_layout(
resultset_id,
uniquename,
caption,
whereclause,
description
)
select tid,
'${rpta_column_layout.uniquename}',
'${rpta_column_layout.caption}',
'${rpta_column_layout.whereclause}',
'${rpta_column_layout.description}'
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}';
<#assign sortnr=0 />
<#foreach column in rpta_columns>
<#assign sortnr=sortnr +1 />
INSERT INTO tmp_rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_visible,
visible_size,
is_aggregate,
sortnr,
description
)
select R.tid,
'${column.uniquename}',
'${column.caption}',
'${column.srcfieldname}',
<#if !column.targetfieldname?exists || column.targetfieldname=="">null::varchar <#else>'${column.targetfieldname}' </#if>,
T.tid as column_type,
'${column.col_function}',
${column.is_visible},
${column.visible_size},
${column.is_aggregate},
${sortnr*10},
'${column.description}'
FROM rpta_resultset R, rpta_column_type T
where R.uniquename='${rpta_column_layout.rpta_resultset}'
and T.uniquename='${column.column_type}';
</#foreach>
select * into temp tmp_rpta_column2layout
from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_column_layout.rpta_resultset}'
and L.uniquename='${rpta_column_layout.uniquename}'
)
;
select * into temp tmp_rpta_column_layout_target
from rpta_column_layout
where resultset_id in (select tid
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}')
and uniquename in (select uniquename from tmp_rpta_column_layout)
;
insert into rpta_column_layout
(uniquename,
caption,
resultset_id,
whereclause,
description)
select uniquename,
caption,
resultset_id,
whereclause,
description
FROM tmp_rpta_column_layout T
where 0=(select count(*) from tmp_rpta_column_layout_target T2
where T.uniquename=T2.uniquename);
drop table tmp_rpta_column_layout_target;
delete from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_column_layout.rpta_resultset}'
and L.uniquename='${rpta_column_layout.uniquename}'
)
;
select * into temp tmp_rpta_column2
from tmp_rpta_column T
where (resultset_id,uniquename) not in
(select resultset_id,uniquename from rpta_column);
INSERT INTO rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
custom
)
select
resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
0 as custom
from tmp_rpta_column2;
--evtl. neuen Satz einfügen, dann alle updaten
update rpta_column set ( caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description)
= (select caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description
from tmp_rpta_column T
where T.resultset_id=rpta_column.resultset_id
and T.uniquename=rpta_column.uniquename)
where custom=0
and (resultset_id,uniquename) in
(select T.resultset_id,T.uniquename
from tmp_rpta_column T)
;
drop table tmp_rpta_column2;
insert into rpta_column2layout(column_id,
layout_id,
sortnr,
is_visible,
visible_size,
caption,
description)
select C.tid as column_id,
L.tid as layout_id,
T.sortnr,
T.is_visible,
T.visible_size,
T.caption,
T.description
FROM rpta_column C, rpta_column_layout L, tmp_rpta_column T
where C.uniquename=T.uniquename
and C.resultset_id=T.resultset_id
and L.uniquename='${rpta_column_layout.uniquename}'
and L.resultset_id=T.resultset_id
;
drop table tmp_rpta_column;
drop TABLE tmp_rpta_column_layout;
</#if>

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

@ -3,10 +3,25 @@
--Bitte nur Freemarker Variablen füllen --Bitte nur Freemarker Variablen füllen
<#assign masken = [ <#assign masken = [
{"mask":"30220", "filename":"viz_html_chart_sankey.xsl", "ord":"120"},
{"mask":"30220", "filename":"30220_html_chart_sankey.xsl", "ord":"130"},
{"mask":"44070", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"}, {"mask":"44070", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44070", "filename":"viz_html_chart_viewer.xsl", "ord":"1"} {"mask":"44070", "filename":"viz_html_chart_viewer_grid.xsl", "ord":"1"},
{"mask":"44100", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44100", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"10"},
{"mask":"44100", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44130", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44130", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44160", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44160", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44160", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"},
{"mask":"44190", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44190", "filename":"viz_html_chart_viewer_grid.xsl", "ord":"1"},
{"mask":"44190", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"},
{"mask":"44220", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44220", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44220", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"},
{"mask":"44250", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44250", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44250", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"}
] /> ] />
@ -18,28 +33,13 @@
"contenttype":"text/html", "contenttype":"text/html",
"is_generic":"1" "is_generic":"1"
}, },
{"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":"viz_html_chart_viewer_grid.xsl", "caption":"Dashboard", "description":"Viewer-Stylesheet für VIZ Charts in einer Kachelansicht ", "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_mask.xsl", "caption":"Diagramm + Maskenfelder", "description":"Viewer-Stylesheet für VIZ Charts mit Maskenfeldern", "relation":"table", "contenttype":"text/html","is_generic":"0"},
{"filename":"viz_html_chart_viewer.xsl", "caption":"Dashboard", "description":"Viewer-Stylesheet für VIZ Charts", "relation":"table", "contenttype":"text/html","is_generic":"1"}, {"filename":"tabelle_html_viz.xsl", "caption":"Tabelle + Visualisierung", "description":"Viewer-Stylesheet für Tabellen und VIZ Charts", "relation":"table", "contenttype":"text/html","is_generic":"0"},
{"filename":"tabelle_html_viz.xsl", "caption":"Tabelle + Visualisierung", "description":"Viewer-Stylesheet für Tabellen und VIZ Charts", "relation":"table", "contenttype":"text/html","is_generic":"1"} {"filename":"viz_html_chart_viewer.xsl", "caption":"Diagramm-Viewer (einfach)", "description":"Viewer-Stylesheet für VIZ Charts in einer Einzelansicht ", "relation":"table", "contenttype":"text/html","is_generic":"0"}
] /> ] />
<#assign stylesheet_field = [ <#assign stylesheet_field = [
{"filename":"viz_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"abschluss_vorher_abschluss"},
{"filename":"viz_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"abschluss_vorher_abschlussart"},
{"filename":"viz_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"abschluss_vorher_abschlusstyp"},
{"filename":"viz_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"einschr_nachher_abschlussart"},
{"filename":"viz_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"einschr_nachher_abschluss"},
{"filename":"viz_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"einschr_nachher_abschlusstyp"},
{"filename":"viz_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"summe"},
{"filename":"30220_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"abschluss_vorher_abschluss"},
{"filename":"30220_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"abschluss_vorher_abschlussart"},
{"filename":"30220_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"abschluss_vorher_abschlusstyp"},
{"filename":"30220_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"einschr_nachher_abschlussart"},
{"filename":"30220_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"einschr_nachher_abschluss"},
{"filename":"30220_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"einschr_nachher_abschlusstyp"},
{"filename":"30220_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"summe"}
] /> ] />
--Hier eventuell notwendige delete's auf die Tabellen sx_mask_style, sx_stylesheets oder stylesheet_field einfügen. --Hier eventuell notwendige delete's auf die Tabellen sx_mask_style, sx_stylesheets oder stylesheet_field einfügen.

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

@ -7,3 +7,219 @@
8^STUD_ENTW_SEM_STAAT_LINE_1HS^Studienanfänger_innen 1. HS nach Nationalität^ ^{"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":"7","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":"tableau10","propUnit":""},{"name":"legend","vizPropertyVariablename":"legend","propertyValue":"true","propUnit":""}],"dataTransformation":[{"tableId":7,"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^ ^{"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":"7","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":"tableau10","propUnit":""},{"name":"legend","vizPropertyVariablename":"legend","propertyValue":"true","propUnit":""}],"dataTransformation":[{"tableId":7,"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^ ^{"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":"6","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":"tableau10","propUnit":""},{"name":"legend","vizPropertyVariablename":"legend","propertyValue":"true","propUnit":""}],"dataTransformation":[{"tableId":6,"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^ ^{"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":"6","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":"tableau10","propUnit":""},{"name":"legend","vizPropertyVariablename":"legend","propertyValue":"true","propUnit":""}],"dataTransformation":[{"tableId":6,"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^ ^{"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":"8","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":"tableau10","propUnit":""},{"name":"legend","vizPropertyVariablename":"legend","propertyValue":"true","propUnit":""}],"dataTransformation":[{"tableId":8,"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^ ^{"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":"8","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":"tableau10","propUnit":""},{"name":"legend","vizPropertyVariablename":"legend","propertyValue":"true","propUnit":""}],"dataTransformation":[{"tableId":8,"colname":"sos_stg_aggr_sem_rueck_beur_ein_str","colfunction":"switchWord1and2ff"}]}^ ^1^^^44070^ ^2^^^
11^STUD_ZEITR_BAR_LINE^Studierende Zeitreihe Balken- und Liniendiagramm^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true}],"targetDiv":"","chartElements":[{"elemID":"1","vizTypeUniquename":"bar_y","caption":"bar_y","datasource":"0","elementTypeProperties":[{"nr":"1","vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"eintrag","propertyType":"string"},{"nr":"1","vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"gesamt","propertyType":"string"},{"nr":"1","vizTypePropertyUniquename":"stroke_static","caption":"Strichfarbe","propertyValue":"#000000","propertyType":"string"},{"nr":"1","vizTypePropertyUniquename":"fill_static","caption":"Flächenfarbe","propertyValue":"#2ec27e","propertyType":"string"}]},{"elemID":2,"vizTypeUniquename":"line","caption":"line","datasource":"0","elementTypeProperties":[{"nr":2,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"eintrag"},{"nr":2,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"ges_1fs"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studierende Zeitreihe (VIZ)"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"100","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#dfe4f2","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"stroke_static","vizPropertyVariablename":"stroke_static","propertyValue":"#000000","propUnit":""},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#2ec27e","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Summe","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":"-45","propUnit":""},{"name":"scale_x","vizPropertyVariablename":"type","propertyValue":"band","propUnit":""},{"name":"x","vizPropertyVariablename":"x","propertyValue":"eintrag","propUnit":""},{"name":"y","vizPropertyVariablename":"y","propertyValue":"gesamt","propUnit":""}],"dataTransformation":[]}^ ^^25.08.2024^25.08.2024^44100^ ^2^ ^ ^
12^STUD_ZEITR_BAR_LINE_DOT^Studierende Zeitreihe Balken-, Linien- und Punktediagramm^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true}],"targetDiv":"","chartElements":[{"elemID":"1","vizTypeUniquename":"bar_y","caption":"bar_y","datasource":"0","elementTypeProperties":[{"nr":"1","vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"eintrag","propertyType":"string"},{"nr":"1","vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"gesamt","propertyType":"string"},{"nr":"1","vizTypePropertyUniquename":"stroke_static","caption":"Strichfarbe","propertyValue":"#000000","propertyType":"string"},{"nr":"1","vizTypePropertyUniquename":"fill_static","caption":"Flächenfarbe","propertyValue":"#2ec27e","propertyType":"string"}]},{"elemID":2,"vizTypeUniquename":"line","caption":"line","datasource":"0","elementTypeProperties":[{"nr":2,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"eintrag"},{"nr":2,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"ges_1fs"}]},{"elemID":"3","vizTypeUniquename":"dot","caption":"dot","datasource":"0","elementTypeProperties":[{"nr":"3","vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"eintrag","propertyType":"string"},{"nr":"3","vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"ges_1fs","propertyType":"string"},{"nr":"3","vizTypePropertyUniquename":"stroke_static","caption":"Strichfarbe","propertyValue":"#1a5fb4","propertyType":"string"},{"nr":"3","vizTypePropertyUniquename":"fill_static","caption":"Flächenfarbe","propertyValue":"#000000","propertyType":"string"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studierende Zeitreihe (VIZ)"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"100","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#dfe4f2","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"stroke_static","vizPropertyVariablename":"stroke_static","propertyValue":"#1a5fb4","propUnit":""},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Summe","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":"-45","propUnit":""},{"name":"scale_x","vizPropertyVariablename":"type","propertyValue":"band","propUnit":""},{"name":"x","vizPropertyVariablename":"x","propertyValue":"eintrag","propUnit":""},{"name":"y","vizPropertyVariablename":"y","propertyValue":"gesamt","propUnit":""}],"dataTransformation":[]}^ ^^25.08.2024^25.08.2024^44100^ ^2^ ^ ^
14^STUD_ALTER_BOXPLOT_H^Studierende nach Alter Boxplot horizontal^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true}],"targetDiv":"","chartElements":[{"elemID":"1","vizTypeUniquename":"box_x","caption":"box_x","datasource":"0","elementTypeProperties":[{"nr":"1","vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sos_stg_aggr_alter","propertyType":"string"},{"nr":"1","vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_geschlecht_str","propertyType":"string"},{"nr":"1","vizTypePropertyUniquename":"stroke_static","caption":"Strichfarbe","propertyValue":"#26a269","propertyType":"string"},{"nr":"1","vizTypePropertyUniquename":"fill_static","caption":"Flächenfarbe","propertyValue":"#1c71d8","propertyType":"string"},{"nr":"1","vizTypePropertyUniquename":"tip","caption":"Tooltip einschalten","propertyValue":"true","propertyType":"boolean"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studierende nach Alter"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"120","propUnit":""},{"name":"tip","vizPropertyVariablename":"tip","propertyValue":"true","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#dfe4f2","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"stroke_static","vizPropertyVariablename":"stroke_static","propertyValue":"#26a269","propUnit":""},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#1c71d8","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Geschlecht","propUnit":""},{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Alter","propUnit":""},{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"scale_x","vizPropertyVariablename":"type","propertyValue":"band","propUnit":""},{"name":"x","vizPropertyVariablename":"x","propertyValue":"sos_stg_aggr_alter","propUnit":""},{"name":"y","vizPropertyVariablename":"y","propertyValue":"sos_stg_aggr_geschlecht_str","propUnit":""}],"dataTransformation":[]}^ ^^25.08.2024^25.08.2024^44130^ ^2^ ^ ^
15^ERFOLG_BA_MA_SANKEY^Bachelor-Master Übergang Sankey Diagramm^ ^{"version":"0.2b","id":1,"name":"","renderer":"d3js","dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true}],"targetDiv":"","chartElements":[{"elemID":1,"vizTypeUniquename":"sankey","caption":"sankey","datasource":"0","elementTypeProperties":[{"nr":1,"vizTypePropertyUniquename":"dimension1","caption":"Dimension 1","propertyValue":"erfolg_ba_ma_uebergang_abschluss_vorher_abschluss_str","propertyType":"string"},{"nr":1,"vizTypePropertyUniquename":"dimension2","caption":"Dimension 2","propertyValue":"erfolg_ba_ma_uebergang_einschr_nachher_abschluss_str","propertyType":"string"},{"nr":1,"vizTypePropertyUniquename":"measure1","caption":"Maß 1","propertyValue":"erfolg_ba_ma_uebergang_summe","propertyType":"string"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Übergang Bachelor/Master (Flussdiagramm)"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"null_value_mask","vizPropertyVariablename":"null_value_mask","propertyValue":"Kein Master","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"stroke_static","vizPropertyVariablename":"stroke_static","propertyValue":"#000000","propUnit":""},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"scale_x","vizPropertyVariablename":"type","propertyValue":"band","propUnit":""}],"dataTransformation":[]}^ ^^25.08.2024^25.08.2024^44160^ ^2^ ^ ^
13^STUD_ZEITR_BAR_LINE_DOT_TEXT^Studierende Zeitreihe Balken-, Linien,- Punktdiagramm mit Beschriftung^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true}],"targetDiv":"","chartElements":[{"elemID":"1","vizTypeUniquename":"bar_y","caption":"bar_y","datasource":"0","elementTypeProperties":[{"nr":"1","vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"eintrag","propertyType":"string"},{"nr":"1","vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"gesamt","propertyType":"string"},{"nr":"1","vizTypePropertyUniquename":"stroke_static","caption":"Strichfarbe","propertyValue":"#000000","propertyType":"string"},{"nr":"1","vizTypePropertyUniquename":"fill_static","caption":"Flächenfarbe","propertyValue":"#2ec27e","propertyType":"string"},\
{"nr":"1","vizTypePropertyUniquename":"sortchannel","caption":"Zusätzl. Sortierung","propertyValue":"rownr","propertyType":"string"}\
]},{"elemID":2,"vizTypeUniquename":"line","caption":"line","datasource":"0","elementTypeProperties":[{"nr":2,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"eintrag"},{"nr":2,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"ges_1fs"}]},{"elemID":"3","vizTypeUniquename":"dot","caption":"dot","datasource":"0","elementTypeProperties":[{"nr":"3","vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"eintrag","propertyType":"string"},{"nr":"3","vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"ges_1fs","propertyType":"string"},{"nr":"3","vizTypePropertyUniquename":"stroke_static","caption":"Strichfarbe","propertyValue":"#1a5fb4","propertyType":"string"},{"nr":"3","vizTypePropertyUniquename":"fill_static","caption":"Flächenfarbe","propertyValue":"#000000","propertyType":"string"}]},{"elemID":"4","vizTypeUniquename":"text","caption":"text","datasource":"0","elementTypeProperties":[{"nr":"4","vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"eintrag","propertyType":"string"},{"nr":"4","vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"ges_1fs","propertyType":"string"},{"nr":"4","vizTypePropertyUniquename":"text","caption":"Beschriftung","propertyValue":"ges_1fs","propertyType":"string"},{"nr":"4","vizTypePropertyUniquename":"stroke_static","caption":"Strichfarbe","propertyValue":"#f8e45c","propertyType":"string"},{"nr":"4","vizTypePropertyUniquename":"fill_static","caption":"Flächenfarbe","propertyValue":"#000000","propertyType":"string"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studierende Zeitreihe (VIZ)"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"100","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#dfe4f2","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"stroke_static","vizPropertyVariablename":"stroke_static","propertyValue":"#f8e45c","propUnit":""},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Summe","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":"-45","propUnit":""},{"name":"scale_x","vizPropertyVariablename":"type","propertyValue":"band","propUnit":""},{"name":"x","vizPropertyVariablename":"x","propertyValue":"eintrag","propUnit":""},{"name":"y","vizPropertyVariablename":"y","propertyValue":"ges_1fs","propUnit":""},{"name":"text","vizPropertyVariablename":"text","propertyValue":"ges_1fs","propUnit":""}],"dataTransformation":[]}^ ^^25.08.2024^25.08.2024^44100^ ^2^ ^ ^
10^STUD_ZEITR_BAR^Studierende Zeitreihe Balkendiagramm^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[\
{"value":"0","nr":1,"name":"Tab. 1","isDefault":true}]\
,"targetDiv":"","chartElements":[\
{"elemID":1,"vizTypeUniquename":"bar_y","caption":"bar_y","datasource":"0","elementTypeProperties":[\
{"nr":1,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"eintrag","propertyType":"string"},\
{"nr":1,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"gesamt","propertyType":"string"},\
{"nr":1,"vizTypePropertyUniquename":"stroke_static","caption":"Strichfarbe","propertyValue":"#000000","propertyType":"string"},\
{"nr":1,"vizTypePropertyUniquename":"fill_static","caption":"Flächenfarbe","propertyValue":"#1a5fb4","propertyType":"string"},\
{"nr":1,"vizTypePropertyUniquename":"sortchannel","caption":"Sort.","propertyValue":"rownr","propertyType":"string"}]\
}]\
,"chartPropertiesUsed":[\
{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studierende Zeitreihe (VIZ)"},\
{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},\
{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},\
{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},\
{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"100","propUnit":""},\
{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},\
{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},\
{"name":"stroke_static","vizPropertyVariablename":"stroke_static","propertyValue":"#000000","propUnit":""},\
{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#1a5fb4","propUnit":""},\
{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Summe","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":"-45","propUnit":""},\
{"name":"scale_x","vizPropertyVariablename":"type","propertyValue":"band","propUnit":""},\
{"name":"x","vizPropertyVariablename":"x","propertyValue":"eintrag","propUnit":""},\
\
{"name":"y","vizPropertyVariablename":"y","propertyValue":"gesamt","propUnit":""}]\
,"dataTransformation":""}^ ^^25.08.2024^25.08.2024^44100^ ^2^ ^ ^
18^STUDANF_FAK_BAR^Studierende nach Fakultät Balken^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true},\
{"value":"1","nr":2,"name":"Tab. 2","isDefault":false},\
{"value":"2","nr":3,"name":"Tab. 3","isDefault":false}],\
"targetDiv":"","chartElements":[{"elemID":"1","vizTypeUniquename":"bar_y","caption":"bar_y","datasource":"2","elementTypeProperties":[{"nr":"1","vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"dim_studiengang_fb_str","propertyType":"string"},\
{"nr":"1","vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_summe","propertyType":"string"},\
{"nr":"1","vizTypePropertyUniquename":"stroke_static","caption":"Strichfarbe","propertyValue":"#000000","propertyType":"string"},\
{"nr":"1","vizTypePropertyUniquename":"fill_static","caption":"Flächenfarbe","propertyValue":"#2ec27e","propertyType":"string"}]}],\
"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studienanfänger_innen"},\
{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},\
{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},\
{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},\
{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},\
{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},\
{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"150","propUnit":""},\
{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},\
{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},\
{"name":"stroke_static","vizPropertyVariablename":"stroke_static","propertyValue":"#000000","propUnit":""},\
{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#2ec27e","propUnit":""},\
{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Summe","propUnit":""},\
{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},\
{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Fakultät","propUnit":""},\
{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},\
{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-45","propUnit":""},\
{"name":"scale_x","vizPropertyVariablename":"type","propertyValue":"band","propUnit":""},\
{"name":"x","vizPropertyVariablename":"x","propertyValue":"dim_studiengang_fb_str","propUnit":""},\
{"name":"y","vizPropertyVariablename":"y","propertyValue":"sos_stg_aggr_summe","propUnit":""}],\
"dataTransformation":[]}^ ^^25.08.2024^25.08.2024^44190^ ^2^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true},\
{"value":"1","nr":2,"name":"Tab. 2","isDefault":false},\
{"value":"2","nr":3,"name":"Tab. 3","isDefault":false}],\
"targetDiv":"","chartElements":[{"elemID":"1","vizTypeUniquename":"bar_y","caption":"bar_y","datasource":"2","elementTypeProperties":[{"nr":"1","vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"dim_studiengang_fb_str","propertyType":"string"},\
{"nr":"1","vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_summe","propertyType":"string"},\
{"nr":"1","vizTypePropertyUniquename":"stroke_static","caption":"Strichfarbe","propertyValue":"#000000","propertyType":"string"},\
{"nr":"1","vizTypePropertyUniquename":"fill_static","caption":"Flächenfarbe","propertyValue":"#2ec27e","propertyType":"string"}]}],\
"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studienanfänger_innen"},\
{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},\
{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},\
{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},\
{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},\
{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},\
{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"150","propUnit":""},\
{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},\
{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},\
{"name":"stroke_static","vizPropertyVariablename":"stroke_static","propertyValue":"#000000","propUnit":""},\
{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#2ec27e","propUnit":""},\
{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Summe","propUnit":""},\
{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},\
{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Fakultät","propUnit":""},\
{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},\
{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-45","propUnit":""},\
{"name":"scale_x","vizPropertyVariablename":"type","propertyValue":"band","propUnit":""},\
{"name":"x","vizPropertyVariablename":"x","propertyValue":"dim_studiengang_fb_str","propUnit":""},\
{"name":"y","vizPropertyVariablename":"y","propertyValue":"sos_stg_aggr_summe","propUnit":""}],\
"dataTransformation":[]}^ ^
16^STUDANF_SEM_LINE^Studierende Zeitreihe Linien mit Beschr.^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true},\
{"value":"1","nr":2,"name":"Tab. 2","isDefault":false},\
{"value":"2","nr":3,"name":"Tab. 3","isDefault":false}],\
"targetDiv":"","chartElements":[{"elemID":1,"vizTypeUniquename":"line","caption":"line","datasource":"0","elementTypeProperties":[{"nr":1,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein_str","propertyType":"string"},\
{"nr":1,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_summe","propertyType":"string"},\
{"nr":1,"vizTypePropertyUniquename":"sortchannel","caption":"Zusätzl. Sortierung","propertyValue":"rownr","propertyType":"string"},\
{"nr":1,"vizTypePropertyUniquename":"stroke_static","caption":"Strichfarbe","propertyValue":"#000000","propertyType":"string"},\
{"nr":1,"vizTypePropertyUniquename":"fill_static","caption":"Flächenfarbe","propertyValue":"","propertyType":"string"}]},\
{"elemID":"2","vizTypeUniquename":"text","caption":"text","datasource":"0","elementTypeProperties":[{"nr":"2","vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein_str","propertyType":"string"},\
{"nr":"2","vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_summe","propertyType":"string"},\
{"nr":"2","vizTypePropertyUniquename":"text","caption":"Beschriftung","propertyValue":"sos_stg_aggr_summe","propertyType":"string"},\
{"nr":"2","vizTypePropertyUniquename":"sortchannel","caption":"Zusätzl. Sortierung","propertyValue":"rownr","propertyType":"string"},\
{"nr":"2","vizTypePropertyUniquename":"stroke_static","caption":"Strichfarbe","propertyValue":"#33d17a","propertyType":"string"},\
{"nr":"2","vizTypePropertyUniquename":"fill_static","caption":"Flächenfarbe","propertyValue":"#000000","propertyType":"string"}]}],\
"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studienanfänger_innen"},\
{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},\
{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},\
{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},\
{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},\
{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},\
{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"100","propUnit":""},\
{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},\
{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},\
{"name":"stroke_static","vizPropertyVariablename":"stroke_static","propertyValue":"#33d17a","propUnit":""},\
{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},\
{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Summe","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":"-45","propUnit":""},\
{"name":"scale_x","vizPropertyVariablename":"type","propertyValue":"band","propUnit":""},\
{"name":"x","vizPropertyVariablename":"x","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein_str","propUnit":""},\
{"name":"y","vizPropertyVariablename":"y","propertyValue":"sos_stg_aggr_summe","propUnit":""},\
{"name":"text","vizPropertyVariablename":"text","propertyValue":"sos_stg_aggr_summe","propUnit":""},\
{"name":"sortchannel","vizPropertyVariablename":"sortchannel","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein","propUnit":""}],\
"dataTransformation":[]}^ ^^25.08.2024^25.08.2024^44190^ ^2^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true},\
{"value":"1","nr":2,"name":"Tab. 2","isDefault":false},\
{"value":"2","nr":3,"name":"Tab. 3","isDefault":false}],\
"targetDiv":"","chartElements":[{"elemID":1,"vizTypeUniquename":"line","caption":"line","datasource":"0","elementTypeProperties":[{"nr":1,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein_str","propertyType":"string"},\
{"nr":1,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_summe","propertyType":"string"},\
{"nr":1,"vizTypePropertyUniquename":"sortchannel","caption":"Zusätzl. Sortierung","propertyValue":"rownr","propertyType":"string"},\
{"nr":1,"vizTypePropertyUniquename":"stroke_static","caption":"Strichfarbe","propertyValue":"#000000","propertyType":"string"},\
{"nr":1,"vizTypePropertyUniquename":"fill_static","caption":"Flächenfarbe","propertyValue":"","propertyType":"string"}]},\
{"elemID":"2","vizTypeUniquename":"text","caption":"text","datasource":"0","elementTypeProperties":[{"nr":"2","vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein_str","propertyType":"string"},\
{"nr":"2","vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_summe","propertyType":"string"},\
{"nr":"2","vizTypePropertyUniquename":"text","caption":"Beschriftung","propertyValue":"sos_stg_aggr_summe","propertyType":"string"},\
{"nr":"2","vizTypePropertyUniquename":"sortchannel","caption":"Zusätzl. Sortierung","propertyValue":"rownr","propertyType":"string"},\
{"nr":"2","vizTypePropertyUniquename":"stroke_static","caption":"Strichfarbe","propertyValue":"#33d17a","propertyType":"string"},\
{"nr":"2","vizTypePropertyUniquename":"fill_static","caption":"Flächenfarbe","propertyValue":"#000000","propertyType":"string"}]}],\
"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studienanfänger_innen"},\
{"name":"height","vizPropertyVariablename":"height","propertyValue":"150","propUnit":""},\
{"name":"width","vizPropertyVariablename":"width","propertyValue":"250","propUnit":""},\
{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},\
{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"100","propUnit":""},\
{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},\
{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},\
{"name":"stroke_static","vizPropertyVariablename":"stroke_static","propertyValue":"#33d17a","propUnit":""},\
{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},\
{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Summe","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":"-45","propUnit":""},\
{"name":"scale_x","vizPropertyVariablename":"type","propertyValue":"band","propUnit":""},\
{"name":"x","vizPropertyVariablename":"x","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein_str","propUnit":""},\
{"name":"y","vizPropertyVariablename":"y","propertyValue":"sos_stg_aggr_summe","propUnit":""},\
{"name":"text","vizPropertyVariablename":"text","propertyValue":"sos_stg_aggr_summe","propUnit":""},\
{"name":"sortchannel","vizPropertyVariablename":"sortchannel","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein","propUnit":""}],\
"dataTransformation":[]}^ ^
17^STUDANF_GESCHL_PIE^Studierende nach Geschlecht Tortendiagramm^ ^{"version":"0.2b","id":1,"name":"","renderer":"d3js","dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true},\
{"value":"1","nr":2,"name":"Tab. 2","isDefault":false},\
{"value":"2","nr":3,"name":"Tab. 3","isDefault":false}],\
"targetDiv":"","chartElements":[{"elemID":1,"vizTypeUniquename":"pie","caption":"pie","datasource":"1","elementTypeProperties":[{"nr":1,"vizTypePropertyUniquename":"dimension1","caption":"Dimension 1","propertyValue":"sos_stg_aggr_geschlecht_str","propertyType":"string"},\
{"nr":1,"vizTypePropertyUniquename":"measure1","caption":"Maß 1","propertyValue":"sos_stg_aggr_summe","propertyType":"string"},\
{"nr":1,"vizTypePropertyUniquename":"width","caption":"Grafik-Breite","propertyValue":"640","propertyType":"integer"},\
{"nr":1,"vizTypePropertyUniquename":"height","caption":"Grafik-Höhe","propertyValue":"640","propertyType":"integer"}]}],\
"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studienanfänger_innen"},\
{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},\
{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},\
{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},\
{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},\
{"name":"scale_x","vizPropertyVariablename":"type","propertyValue":"band","propUnit":""},\
{"name":"dimension1","vizPropertyVariablename":"dimension1","propertyValue":"sos_stg_aggr_geschlecht_str","propUnit":""},\
{"name":"measure1","vizPropertyVariablename":"measure1","propertyValue":"sos_stg_aggr_summe","propUnit":""}],\
"dataTransformation":[]}^ ^^25.08.2024^25.08.2024^44190^ ^1^{"version":"0.2b","id":1,"name":"","renderer":"d3js","dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true},\
{"value":"1","nr":2,"name":"Tab. 2","isDefault":false},\
{"value":"2","nr":3,"name":"Tab. 3","isDefault":false}],\
"targetDiv":"","chartElements":[{"elemID":1,"vizTypeUniquename":"pie","caption":"pie","datasource":"1","elementTypeProperties":[{"nr":1,"vizTypePropertyUniquename":"dimension1","caption":"Dimension 1","propertyValue":"sos_stg_aggr_geschlecht_str","propertyType":"string"},\
{"nr":1,"vizTypePropertyUniquename":"measure1","caption":"Maß 1","propertyValue":"sos_stg_aggr_summe","propertyType":"string"},\
{"nr":1,"vizTypePropertyUniquename":"width","caption":"Grafik-Breite","propertyValue":"250","propertyType":"integer"},\
{"nr":1,"vizTypePropertyUniquename":"height","caption":"Grafik-Höhe","propertyValue":"250","propertyType":"integer"}]}],\
"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studienanfänger_innen"},\
{"name":"height","vizPropertyVariablename":"height","propertyValue":"200","propUnit":""},\
{"name":"width","vizPropertyVariablename":"width","propertyValue":"200","propUnit":""},\
{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},\
{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},\
{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},\
{"name":"scale_x","vizPropertyVariablename":"type","propertyValue":"band","propUnit":""},\
{"name":"dimension1","vizPropertyVariablename":"dimension1","propertyValue":"sos_stg_aggr_geschlecht_str","propUnit":""},\
{"name":"measure1","vizPropertyVariablename":"measure1","propertyValue":"sos_stg_aggr_summe","propUnit":""}],\
"dataTransformation":[]}^ ^
21^STUD_GESCHL_W_PIE^Studierende nach Geschlecht (Tortendiagramm)^ ^{"version":"0.2b","id":1,"name":"","renderer":"d3js","dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true}],\
"targetDiv":"","chartElements":[{"elemID":1,"vizTypeUniquename":"pie","caption":"pie","datasource":"0","elementTypeProperties":[{"nr":1,"vizTypePropertyUniquename":"dimension1","caption":"Dimension 1","propertyValue":"geschlecht","propertyType":"string"},\
{"nr":1,"vizTypePropertyUniquename":"measure1","caption":"Maß 1","propertyValue":"summe","propertyType":"string"},\
{"nr":1,"vizTypePropertyUniquename":"width","caption":"Grafik-Breite","propertyValue":"650","propertyType":"integer"},\
{"nr":1,"vizTypePropertyUniquename":"height","caption":"Grafik-Höhe","propertyValue":"450","propertyType":"integer"}]}],\
"chartPropertiesUsed":[],\
"dataTransformation":[]}^ ^^25.08.2024^25.08.2024^44220^ ^2^{"version":"0.2b","id":1,"name":"","renderer":"d3js","dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true}],\
"targetDiv":"","chartElements":[{"elemID":1,"vizTypeUniquename":"pie","caption":"pie","datasource":"0","elementTypeProperties":[{"nr":1,"vizTypePropertyUniquename":"dimension1","caption":"Dimension 1","propertyValue":"geschlecht","propertyType":"string"},\
{"nr":1,"vizTypePropertyUniquename":"measure1","caption":"Maß 1","propertyValue":"summe","propertyType":"string"},\
{"nr":1,"vizTypePropertyUniquename":"width","caption":"Grafik-Breite","propertyValue":"250","propertyType":"integer"},\
{"nr":1,"vizTypePropertyUniquename":"height","caption":"Grafik-Höhe","propertyValue":"250","propertyType":"integer"}]}],\
"chartPropertiesUsed":[],\
"dataTransformation":[]}^ ^
19^STUD_STAAT^Studierende nach Staat (Weltkarte)^ ^{"version":"0.2b","id":1,"name":"","renderer":"d3js","dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true}],\
"targetDiv":"","chartElements":[{"elemID":1,"vizTypeUniquename":"worldmap","caption":"worldmap","datasource":"0","elementTypeProperties":[{"nr":1,"vizTypePropertyUniquename":"dimension1","caption":"Dimension 1","propertyValue":"staat_iso3","propertyType":"string"},\
{"nr":1,"vizTypePropertyUniquename":"measure1","caption":"Maß 1","propertyValue":"summe","propertyType":"string"}]}],\
"chartPropertiesUsed":[],\
"dataTransformation":[]}^ ^^25.08.2024^25.08.2024^44250^ ^2^ ^ ^
20^STUD_FAK_KURZ_PIE^Studierende nach Fakultät (Tortendiagramm)^ ^{"version":"0.2b","id":1,"name":"","renderer":"d3js","dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true}],\
"targetDiv":"","chartElements":[{"elemID":1,"vizTypeUniquename":"pie","caption":"pie","datasource":"0","elementTypeProperties":[{"nr":1,"vizTypePropertyUniquename":"dimension1","caption":"Dimension 1","propertyValue":"dim_studiengang_fb","propertyType":"string"},\
{"nr":1,"vizTypePropertyUniquename":"measure1","caption":"Maß 1","propertyValue":"summe","propertyType":"string"},\
{"nr":1,"vizTypePropertyUniquename":"width","caption":"Grafik-Breite","propertyValue":"650","propertyType":"integer"},\
{"nr":1,"vizTypePropertyUniquename":"height","caption":"Grafik-Höhe","propertyValue":"450","propertyType":"integer"}]}],\
"chartPropertiesUsed":[],\
"dataTransformation":[]}^ ^^25.08.2024^25.08.2024^44280^ ^2^ ^ ^

34
src-modules/module/viz/schluesseltabellen/viz_property.unl

@ -5,7 +5,7 @@
5^Schriftfarbe^color^ ^ ^0^black^0^3^11^Farbe von Text- und Diagrammelementen^202^^^string^ 5^Schriftfarbe^color^ ^ ^0^black^0^3^11^Farbe von Text- und Diagrammelementen^202^^^string^
6^Schriftgröße^fontSize^^px^0^ ^0^4^11^Schriftgröße der Skalenbeschriftung^204^^^integer^ 6^Schriftgröße^fontSize^^px^0^ ^0^4^11^Schriftgröße der Skalenbeschriftung^204^^^integer^
7^Schriftfamilie^fontFamily^^ ^0^serif|sans-serif|monospace|system_ui^0^2^11^Schriftfamlilie der Skalenbeschriftung^203^^^string^ 7^Schriftfamilie^fontFamily^^ ^0^serif|sans-serif|monospace|system_ui^0^2^11^Schriftfamlilie der Skalenbeschriftung^203^^^string^
8^Flächenfarbe^fill_static^ ^ ^0^ ^0^3^11^Nur für Grafikelemente Flächen und Balken. Füllfarbe.^305^^^string^ 8^Flächenfarbe^fill_static^ ^ ^0^ ^0^3^11^Nur für Grafikelemente Flächen und Balken. Füllfarbe.^1300^^^string^
11^X: Schriftneigung^tickRotate_x^^ ^0^ ^0^1^18^Neigungswinkel der Achsenwerte^604^^^integer^ 11^X: Schriftneigung^tickRotate_x^^ ^0^ ^0^1^18^Neigungswinkel der Achsenwerte^604^^^integer^
12^X: Skalierung^ticks_x^^ ^0^ ^0^1^18^Feinheit der Wertegliederung^605^^^integer^ 12^X: Skalierung^ticks_x^^ ^0^ ^0^1^18^Feinheit der Wertegliederung^605^^^integer^
13^X: Schriftgröße^tickSize_x^^ ^0^ ^0^1^18^Größe der Achsenwerte^603^^^integer^ 13^X: Schriftgröße^tickSize_x^^ ^0^ ^0^1^18^Größe der Achsenwerte^603^^^integer^
@ -20,8 +20,8 @@
23^Innenrand rechts^insetRight^ ^^0^ ^0^4^10^Abstand zwischen Grafik und Achsenbeschriftung rechts^110^^^integer^ 23^Innenrand rechts^insetRight^ ^^0^ ^0^4^10^Abstand zwischen Grafik und Achsenbeschriftung rechts^110^^^integer^
24^Farbschema^scheme^ ^ ^0^blues|greens|greys|oranges|purples|reds|paired|set1|pastel1|pastel2|tableau10|category10|accent|dark2^0^2^22^Nur für Grafikelemente Balken und Linien: Farbtonschema für Serien.^303^^^string^ 24^Farbschema^scheme^ ^ ^0^blues|greens|greys|oranges|purples|reds|paired|set1|pastel1|pastel2|tableau10|category10|accent|dark2^0^2^22^Nur für Grafikelemente Balken und Linien: Farbtonschema für Serien.^303^^^string^
25^Farbtyp^type^^ ^0^einfarbig|mehrfarbig|zyklisch^0^2^20^Ein-/Mehrfarbigkeit von Diagrammelementen^302^^^string^ 25^Farbtyp^type^^ ^0^einfarbig|mehrfarbig|zyklisch^0^2^20^Ein-/Mehrfarbigkeit von Diagrammelementen^302^^^string^
43^Farbsättigung^fillOpacity^^ ^0^ ^0^4^20^Deckkraft der Füllfarbe von Diagrammelementen^306^^^string^ 43^Deckungsgrad Farbe^fillOpacity^ ^ ^0^ ^0^1^11^Deckungsrad (opacity) zwischen 0 und 1^1800^0^1^string^
45^Strichdicke^strokeWidth^^ ^0^ ^0^1^12^Strichdicke von Diagrammelementen (relevant für Plot.dot, Plot.tickX/Y)^308^^^string^ 45^Strichlinie Breite^strokeWidth^ ^px^0^ ^0^1^11^Strichbreite in Pixel^2100^^^integer^
56^Fortlaufende Skala^continous scales^^ ^0^identity|linear|log|pow|sqrt|symlog^0^2^15^Art der Skalen-Gliederung^401^^^string^ 56^Fortlaufende Skala^continous scales^^ ^0^identity|linear|log|pow|sqrt|symlog^0^2^15^Art der Skalen-Gliederung^401^^^string^
57^Kategorie-Skala^categorical scales^^ ^0^point|band^0^2^15^Art der Skalen-Gliederung^402^^^string^ 57^Kategorie-Skala^categorical scales^^ ^0^point|band^0^2^15^Art der Skalen-Gliederung^402^^^string^
58^Datums-Skala^date scales^^ ^0^time|utc^0^2^15^Art der Skalen-Gliederung^403^^^string^ 58^Datums-Skala^date scales^^ ^0^time|utc^0^2^15^Art der Skalen-Gliederung^403^^^string^
@ -30,12 +30,12 @@
63^X: Label-Abstand^labelOffset_x^^^0^ ^0^1^18^Label-Abstand von Achse^602^^^integer^ 63^X: Label-Abstand^labelOffset_x^^^0^ ^0^1^18^Label-Abstand von Achse^602^^^integer^
68^Maß: Chart-Abstand^gridChartOffset^^ ^0^ ^0^1^18^ ^607^^^string^ 68^Maß: Chart-Abstand^gridChartOffset^^ ^0^ ^0^1^18^ ^607^^^string^
69^Maß: Label-Höhe^gridLabelHeight^^^0^ ^0^1^18^ ^608^^^integer^ 69^Maß: Label-Höhe^gridLabelHeight^^^0^ ^0^1^18^ ^608^^^integer^
70^X-Achse^x^^ ^0^ ^0^1^5^ ^608^^^string^ 70^X-Achse^x^ ^ ^0^ ^0^1^5^X-Achsendefinition^100^^^string^
72^Y-Achse^y^^ ^0^ ^0^1^6^ ^608^^^string^ 72^Y-Achse^y^ ^ ^0^ ^0^1^5^Y-Achsendefinition^200^^^string^
73^Maß 1^measure1^^ ^0^ ^0^1^6^ ^608^^^string^ 73^Maß 1^measure1^ ^ ^0^ ^0^2^5^Maß^300^^^string^
76^Serien-Dimension^stroke^^ ^0^ ^0^1^5^ ^608^^^string^ 76^Serien-Dimension^stroke^ ^ ^0^ ^0^1^5^Serien-Dimension zusätzlich zu Achsen^300^^^string^
78^Legende^legend^ ^ ^0^true|false^0^2^22^ ^303^^^boolean^ 78^Legende^legend^ ^ ^0^true|false^0^2^22^ ^303^^^boolean^
79^Beschriftung^text^ ^ ^0^ ^0^1^5^ ^608^^^string^ 79^Beschriftung^text^ ^ ^0^ ^0^1^5^Nur für Grafikelement Wertelabel^400^^^string^
80^Serienfarbe^fill^ ^ ^0^ ^0^1^22^Nur für Grafikelemente Balken und Linien: Merkmal der Serien-Dimension^305^^^string^ 80^Serienfarbe^fill^ ^ ^0^ ^0^1^22^Nur für Grafikelemente Balken und Linien: Merkmal der Serien-Dimension^305^^^string^
81^Y: Label-Abstand^labelOffset_y^^^0^ ^0^1^21^Label-Abstand von Achse^602^^^integer^ 81^Y: Label-Abstand^labelOffset_y^^^0^ ^0^1^21^Label-Abstand von Achse^602^^^integer^
82^Y: Label-Ausrichtung^labelAnchor_y^^ ^0^left|center|right^0^2^21^Label-Position^601^^^string^ 82^Y: Label-Ausrichtung^labelAnchor_y^^ ^0^left|center|right^0^2^21^Label-Position^601^^^string^
@ -49,8 +49,18 @@
92^Ziel-Dimension 1^viz_target1^^ ^0^ ^0^1^5^ ^608^^^string^ 92^Ziel-Dimension 1^viz_target1^^ ^0^ ^0^1^5^ ^608^^^string^
93^X: Linie^line_x^true^ ^0^true|false^0^2^18^Linie X-Achse^602^^^boolean^ 93^X: Linie^line_x^true^ ^0^true|false^0^2^18^Linie X-Achse^602^^^boolean^
94^Y: Linie^line_y^true^ ^0^true|false^0^2^21^Linie Y-Achse^602^^^boolean^ 94^Y: Linie^line_y^true^ ^0^true|false^0^2^21^Linie Y-Achse^602^^^boolean^
95^Dimension 1^dimension1^^ ^0^ ^0^1^5^ ^608^^^string^ 95^Dimension 1^dimension1^ ^ ^0^ ^0^2^5^Dimension 1^100^^^string^
96^Dimension 2^dimension2^^ ^0^ ^0^1^5^ ^608^^^string^ 96^Dimension 2^dimension2^ ^ ^0^ ^0^2^5^Dimension 2^200^^^string^
97^Leerzeilen-Maskierung^null_value_mask^ ^ ^0^ ^0^1^10^Text, der ersetzt wird, wenn eine Dimension leer ist, z.B. *Andere Hochschule* bei BA-MA-Übergang^700^^^string^ 97^Leerzeilen-Maskierung^null_value_mask^ ^ ^0^ ^0^1^10^Text, der ersetzt wird, wenn eine Dimension leer ist, z.B. *Andere Hochschule* bei BA-MA-Übergang^700^^^string^
98^Y-Wertebereich^domain^ ^ ^1^ ^0^1^21^Bittte Wertebereich mit [] eingeben, z.B. [0,100] für 0-100^1000^^^js^ 98^Y-Wertebereich^domain^ ^ ^0^ ^0^1^21^Bittte Wertebereich mit [] eingeben, z.B. [0,100] für 0-100^1000^^^js^
99^X: Skala^scale_x^band^ ^1^linear|identity|point|band|time^0^2^18^ ^1000^^^string^ 99^X: Skala^scale_x^band^ ^0^linear|identity|point|band|time^0^2^18^ ^1000^^^string^
100^Strichlinie Abstand-Intervalle^strokeDasharray^ ^ ^0^ ^0^1^11^Abstand von Bindestrichen (Komma-separierte Pixel), z.B. [10,5] für 10 und dann 5 Pixel Abstand^2000^^^string^
101^Offset (horizontal)^dx^ ^px^0^ ^0^1^10^Horizontales Offset des Grafikelements in Pixel^1600^^^integer^
102^Offset (vertikal)^dy^ ^px^0^ ^0^1^10^Vertikales Offset des Grafikelements in Pixel^1700^^^integer^
103^Textuelle Beschreibung des Grafikelements^ariaDescription^ ^ ^0^ ^0^1^11^für barrierearme Grafiken^1100^^^string^
104^CSS-Klasse^className^ ^ ^0^ ^0^1^11^Klassenname des Grafikelements für CSS-basierte Layouts^1400^^^string^
105^CSS-Filter für Bilder^imageFilter^ ^ ^0^ ^0^1^11^z.B. blur(5px)^1500^^^string^
106^Deckungsgrad Objekt^opacity^ ^ ^0^ ^0^1^11^Deckungsrad (opacity) des Grafikelements zwischen 0 und 1^1900^0^1^string^
107^Tooltip einschalten^tip^ ^ ^0^true|false^0^2^10^Sollen implizite Tooltips angezeigt werden (true,false)^2200^^^boolean^
108^Strichfarbe^stroke_static^ ^ ^0^ ^0^3^11^Strichfarbe (einfach)^1200^^^string^
109^Zusätzl. Sortierung^sortchannel^ ^ ^0^ ^0^1^5^Standardmäßig wird nach den Achsendimensionen alphabetisch aufsteigend sortiert. Wenn Sie nach einem anderen Merkmal sortieren wollen, geben Sie dies hier an (z.B. die Zeilennummer, um die Sortierung der Datentabelle zu nutzen). Nützlich z.B. um Semesternamen zu sortieren.^500^^^string^

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

@ -3,3 +3,4 @@
3^COLOR^Farbauswahl^ 3^COLOR^Farbauswahl^
4^RANGE^Schieberegler^ 4^RANGE^Schieberegler^
5^TEXTAREA^Großes Textfeld^ 5^TEXTAREA^Großes Textfeld^
6^CHECKBOX^Ankreuzfeld^

25
src-modules/module/viz/schluesseltabellen/viz_property_renderer.unl

@ -4,12 +4,10 @@
4^2^7^fontFamily^ 4^2^7^fontFamily^
5^2^6^fontSize^ 5^2^6^fontSize^
6^2^1^height^ 6^2^1^height^
7^2^8^fill^
8^2^16^marginLeft^ 8^2^16^marginLeft^
9^2^11^tickRotate^ 9^2^11^tickRotate^
10^2^74^x^ 10^2^74^x^
11^2^75^y^ 11^2^75^y^
12^2^76^stroke^
14^2^24^scheme^ 14^2^24^scheme^
15^2^78^legend^ 15^2^78^legend^
16^2^17^marginRight^ 16^2^17^marginRight^
@ -22,9 +20,30 @@
23^2^86^label^ 23^2^86^label^
25^2^87^label^ 25^2^87^label^
26^2^84^tickRotate^ 26^2^84^tickRotate^
27^2^79^text^
28^2^93^line^ 28^2^93^line^
29^2^94^line^ 29^2^94^line^
30^1^97^null_value_mask^ 30^1^97^null_value_mask^
31^2^98^domain^ 31^2^98^domain^
32^2^99^type^ 32^2^99^type^
262^1^2^width^
263^1^1^height^
268^2^70^x^
269^2^72^y^
270^2^76^stroke^
271^2^79^text^
272^2^109^sortchannel^
273^2^107^tip^
274^2^101^dx^
275^2^102^dy^
276^2^108^stroke_static^
277^2^8^fill^
278^2^103^ariaDescription^
279^2^104^className^
280^2^105^imageFilter^
281^2^43^fillOpacity^
282^2^106^opacity^
283^2^100^strokeDasharray^
284^2^45^strokeWidth^
303^1^95^dimension1^
304^1^96^dimension2^
305^1^73^measure1^

240
src-modules/module/viz/schluesseltabellen/viz_staat_isocode.unl

@ -0,0 +1,240 @@
Südsudan^SSD^SS^278^
Nordmazedonien^MKD^MK^144^
Afghanistan^AFG^AF^423^
Ägypten^EGY^EG^287^
Albanien^ALB^AL^121^
Algerien^DZA^DZ^221^
Amerikanische Jungferninseln^VIR^VI^316^
Amerikanische Überseeinseln, Kleinere^UMI^UM^534^
Amerikanisch-Samoa^ASM^AS^517^
Andorra^AND^AD^123^
Angola^AGO^AO^223^
Antigua und Barbuda^ATG^AG^320^
Äquatorialguinea^GNQ^GQ^274^
Argentinien^ARG^AR^323^
Armenien^ARM^AM^422^
Aruba^ABW^AW^311^
Aserbaidschan^AZE^AZ^425^
Äthiopien^ETH^ET^225^
Australien^AUS^AU^523^
Bahamas^BHS^BS^324^
Bahrain^BHR^BH^424^
Bangladesch^BGD^BD^460^
Barbados^BRB^BB^322^
Belarus (Weißrussland)^BLR^BY^169^
Belgien^BEL^BE^124^
Belize^BLZ^BZ^330^
Benin^BEN^BJ^229^
Bhutan^BTN^BT^426^
Bolivien^BOL^BO^326^
Bosnien und Herzegowina^BIH^BA^122^
Botsuana^BWA^BW^227^
Bouvetinsel^BVT^BV^522^
Brasilien^BRA^BR^327^
Britisches Territorium im Indischen Ozean^IOT^IO^185^
Brunei Darussalam^BRN^BN^429^
Bulgarien^BGR^BG^125^
Burkina Faso^BFA^BF^258^
Burundi^BDI^BI^291^
Chile^CHL^CL^332^
China^CHN^CN^479^
Cookinseln^COK^CK^527^
Costa Rica^CRI^CR^334^
Cote d'Ivoire (Elfenbeinküste)^CIV^CI^231^
Dänemark^DNK^DK^126^
Deutschland^DEU^DE^0^
Dominica^DMA^DM^333^
Dominikanische Republik^DOM^DO^335^
Dschibuti^DJI^DJ^230^
Ecuador^ECU^EC^336^
El Salvador^SLV^SV^337^
Eritrea^ERI^ER^224^
Estland^EST^EE^127^
Färöer Inseln^FRO^FO^182^
Fidschi^FJI^FJ^526^
Finnland^FIN^FI^128^
Frankreich^FRA^FR^129^
Französische Südseegebiete^ATF^TF^542^
Französisch-Guayana^GUF^GF^315^
Französisch-Polynesien^PYF^PF^528^
Gabun^GAB^GA^236^
Gambia^GMB^GM^237^
Georgien^GEO^GE^430^
Ghana^GHA^GH^238^
Gibraltar^GIB^GI^112^
Grenada^GRD^GD^340^
Griechenland^GRC^GR^134^
Grönland^GRL^GL^342^
Guadeloupe^GLP^GP^317^
Guam^GUM^GU^529^
Guatemala^GTM^GT^345^
Guinea^GIN^GN^261^
Guinea-Bissau^GNB^GW^259^
Guyana^GUY^GY^328^
Haiti^HTI^HT^346^
Heard und die McDonaldinseln^HMD^HM^510^
Honduras^HND^HN^347^
Hongkong^HKG^HK^411^
Indien^IND^IN^436^
Indonesien^IDN^ID^437^
Irak^IRQ^IQ^438^
Iran^IRN^IR^439^
Irland^IRL^IE^135^
Island^ISL^IS^136^
Israel^ISR^IL^441^
Italien^ITA^IT^137^
Jamaika^JAM^JM^355^
Japan^JPN^JP^442^
Jemen^YEM^YE^421^
Jordanien^JOR^JO^445^
Sudan^SDN^SD^277^
Suriname^SUR^SR^364^
Svalbard und Jan Mayen^SJM^SJ^116^
Eswatini^SWZ^SZ^281^
Syrien^SYR^SY^475^
Tadschikistan^TJK^TJ^470^
Taiwan (China)^TWN^TW^465^
Tansania^TZA^TZ^282^
Thailand^THA^TH^476^
Togo^TGO^TG^283^
Tokelau^TKL^TK^519^
Tonga^TON^TO^541^
Trinidad und Tobago^TTO^TT^371^
Tschad^TCD^TD^284^
Tschechien^CZE^CZ^164^
Tunesien^TUN^TN^285^
Türkei^TUR^TR^163^
Turkmenistan^TKM^TM^471^
Tuvalu^TUV^TV^540^
Uganda^UGA^UG^286^
Ukraine^UKR^UA^166^
Ungarn^HUN^HU^165^
Uruguay^URY^UY^365^
Usbekistan^UZB^UZ^477^
Vanuatu^VUT^VU^532^
Vatikanstadt^VAT^VA^167^
Venezuela^VEN^VE^367^
Vereinigte Arabische Emirate^ARE^AE^469^
Vereinigte Staaten (USA)^USA^US^368^
Vereinigtes Königreich^GBR^GB^168^
Vietnam^VNM^VN^432^
Wallis und Futuna^WLF^WF^520^
Weihnachtsinsel^CXR^CX^521^
Zentralafrikanische Republik^CAF^CF^289^
Zypern^CYP^CY^181^
Staatenlos^---^ZZ^997^
Serbien^SRB^RS^170^
Kongo, Republik^COG^CG^245^
Palästina^PSE^PS^459^
Montenegro^MNE^ME^140^
Staatsbürgerschaft ungeklärt^^XX^998^
Kosovo^XKX^KSV^150^
Kambodscha^KHM^KH^446^
Kamerun^CMR^CM^262^
Kanada^CAN^CA^348^
Cabo Verde^CPV^CV^242^
Kasachstan^KAZ^KZ^444^
Katar^QAT^QA^447^
Kenia^KEN^KE^243^
Kirgisistan^KGZ^KG^450^
Kiribati^KIR^KI^530^
Kokosinseln (Keeling)^CCK^CC^512^
Kolumbien^COL^CO^349^
Komoren^COM^KM^244^
Kongo, Demokratische Republik^COD^CD^246^
Korea, Demokratische Volksrepublik^PRK^KP^434^
Korea, Republik^KOR^KR^467^
Kroatien^HRV^HR^130^
Kuba^CUB^CU^351^
Kuwait^KWT^KW^448^
Laos^LAO^LA^449^
Lesotho^LSO^LS^226^
Lettland^LVA^LV^139^
Libanon^LBN^LB^451^
Liberia^LBR^LR^247^
Libyen^LBY^LY^248^
Liechtenstein^LIE^LI^141^
Litauen^LTU^LT^142^
Luxemburg^LUX^LU^143^
Macau^MAC^MO^412^
Madagaskar^MDG^MG^249^
Malawi^MWI^MW^256^
Malaysia^MYS^MY^482^
Malediven^MDV^MV^454^
Mali^MLI^ML^251^
Malta^MLT^MT^145^
Marianen, Nördliche^MNP^MP^514^
Marokko^MAR^MA^252^
Marshallinseln^MHL^MH^544^
Martinique^MTQ^MQ^319^
Mauretanien^MRT^MR^239^
Mauritius^MUS^MU^253^
Mayotte^MYT^YT^211^
Mexiko^MEX^MX^353^
Mikronesien (Föderierte Staaten von)^FSM^FM^545^
Moldau^MDA^MD^146^
Monaco^MCO^MC^147^
Mongolei^MNG^MN^457^
Mosambik^MOZ^MZ^254^
Myanmar^MMR^MM^427^
Namibia^NAM^NA^267^
Nauru^NRU^NR^531^
Nepal^NPL^NP^458^
Neukaledonien^NCL^NC^513^
Neuseeland^NZL^NZ^536^
Nicaragua^NIC^NI^354^
Niederlande^NLD^NL^148^
Curaçao^CUW^AN^321^
Niger^NER^NE^255^
Nigeria^NGA^NG^232^
Niue^NIU^NU^533^
Norfolkinseln^NFK^NF^515^
Norwegen^NOR^NO^149^
Oman^OMN^OM^456^
Österreich^AUT^AT^151^
Timor-Leste^TMP^TP^483^
Pakistan^PAK^PK^461^
Palau^PLW^PW^537^
Panama^PAN^PA^357^
Papua-Neuguinea^PNG^PG^538^
Paraguay^PRY^PY^359^
Peru^PER^PE^361^
Philippinen^PHL^PH^462^
Polen^POL^PL^152^
Portugal^PRT^PT^153^
Puerto Rico^PRI^PR^325^
Réunion^REU^RE^214^
Ruanda^RWA^RW^265^
Rumänien^ROU^RO^154^
Russische Föderation^RUS^RU^160^
Salomonen^SLB^SB^524^
Sambia^ZMB^ZM^257^
Samoa^WSM^WS^543^
San Marino^SMR^SM^156^
Sao Tomé und Principe^STP^ST^268^
Saudi-Arabien^SAU^SA^472^
Schweden^SWE^SE^157^
Schweiz^CHE^CH^158^
Senegal^SEN^SN^269^
Seychellen^SYC^SC^271^
Sierra Leone^SLE^SL^272^
Simbabwe^ZWE^ZW^233^
Singapur^SGP^SG^474^
Slowakei^SVK^SK^155^
Slowenien^SVN^SI^131^
Somalia^SOM^SO^273^
Spanien^ESP^ES^161^
Sri Lanka^LKA^LK^431^
St. Kitts und Nevis^KNA^KN^370^
St. Lucia^LCA^LC^366^
St. Pierre und Miquelon^SPM^PM^338^
St. Vincent und die Grenadinen^VCT^VC^369^
Südafrika^ZAF^ZA^263^
Guernsey^GGY^GG^113^
Jersey^JEY^JE^114^
Insel Man^IMN^IM^115^
Sint Maarten^SXM^SM1^341^
Bonaire, Sint Eustatius, Saba^BES^BQ^344^
Saint-Martin^MAF^SM2^331^
Saint-Barthélemy^BLM^BL^329^
unbekannt^^YY^999^

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

@ -1,12 +1,14 @@
1^bar_x^Balken (horizontal)^2^ ^ ^H^ 1^bar_x^Balkendiagramm (horizontal)^2^ ^ ^H^ ^^
2^bar_y^Balken (vertikal)^2^ ^ ^V^ 2^bar_y^Balkendiagramm (vertikal)^2^ ^ ^V^ ^^
3^line^Linien (vertikal)^2^ ^ ^V^ 3^line^Linien (vertikal)^2^ ^ ^V^ ^^
5^area_y^Flächen (vertikal)^2^^^V^ 5^area_y^Flächendiagramm (vertikal)^2^^^V^ ^^
6^dot^Punkte (vertikal)^2^^^V^ 6^dot^Punkte (vertikal)^2^^^V^ ^^
7^box_x^Boxplot (horizontal)^2^ ^ ^H^ 7^box_x^Boxplot (horizontal)^2^ ^ ^H^ ^^
8^area_x^Flächen (horizontal)^2^^^H^ 8^area_x^Flächendiagramm (horizontal)^2^^^H^ ^^
9^box_y^Boxplot (vertikal)^2^ ^ ^V^ 9^box_y^Boxplot (vertikal)^2^ ^ ^V^ ^^
10^text^Wertelabel^2^ ^ ^^ 10^text^Wertelabel (vertikal)^2^ ^ ^V^ ^^
11^bar_x_d3^Balken (horizontal)^1^^^H^ 11^bar_x_d3^Balken (horizontal)^1^^^H^^^
12^sankey^Sankey^1^ ^^H^ 12^sankey^Sankey^1^ ^^H^ ^^
13^worldmap^Weltkarte^1^ ^^H^ 13^worldmap^Weltkarte^1^ ^^H^^^
14^pie^Tortendiagramm^1^^^Z^ ^^
15^sunburst^Sunburst-Diagramm^1^^^Z^^^

562
src-modules/module/viz/schluesseltabellen/viz_type_d3js_fuellen.sql

@ -0,0 +1,562 @@
--Freemarker Template
<#include "SQL_lingua_franca"/>
<#include "SuperX_general"/>
<sqlvars>
<sqlvar name="renderer">
select tid from viz_renderer where uniquename='d3js';
</sqlvar>
</sqlvars>
<#assign viz_types = [
{"uniquename":"sankey", "caption":"Sankey",
"orientation":"H",
"description":"Horizontales Sankeydiagramm",
"explanation":""},
{"uniquename":"pie", "caption":"Tortendiagramm",
"orientation":"Z",
"description":"Tortendiagramm",
"explanation":""},
{"uniquename":"sunburst", "caption":"Sunburst-Diagramm",
"orientation":"Z",
"description":"Sunburst-Diagramm",
"explanation":""}
]
/>
<#assign viz_properties = [
{ "caption":"Dimension 1",
"prop_uniquename":"dimension1",
"explanation":"Dimension 1",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"SELECT",
"property_group_uniquename":"CATEGORY",
"sortnr":"608",
"range_from":"",
"range_to":"",
"prop_value_type":"string"
},
{ "caption":"Dimension 2",
"prop_uniquename":"dimension2",
"explanation":"Dimension 2",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"SELECT",
"property_group_uniquename":"CATEGORY",
"sortnr":"609",
"range_from":"",
"range_to":"",
"prop_value_type":"string"
}
,
{ "caption":"Maß 1",
"prop_uniquename":"measure1",
"explanation":"Maß",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"SELECT",
"property_group_uniquename":"CATEGORY",
"sortnr":"610",
"range_from":"",
"range_to":"",
"prop_value_type":"string"
}
]
/>
<#assign viz_type_properties = [
{ "viz_type_uniquename":"sankey",
"viz_property_uniquename":"dimension1",
"is_mandatory":"1",
"sortnr":"1"},
{ "viz_type_uniquename":"sankey",
"viz_property_uniquename":"dimension2",
"is_mandatory":"1",
"sortnr":"10"},
{ "viz_type_uniquename":"sankey",
"viz_property_uniquename":"measure1",
"is_mandatory":"1",
"sortnr":"20"},
{ "viz_type_uniquename":"sankey",
"viz_property_uniquename":"fontSize",
"is_mandatory":"0",
"sortnr":"100"},
{ "viz_type_uniquename":"sankey",
"viz_property_uniquename":"fontSize",
"is_mandatory":"0",
"sortnr":"100"},
{ "viz_type_uniquename":"sankey",
"viz_property_uniquename":"fontFamily",
"is_mandatory":"0",
"sortnr":"110"},
{ "viz_type_uniquename":"sankey",
"viz_property_uniquename":"color",
"is_mandatory":"0",
"sortnr":"120"},
{ "viz_type_uniquename":"pie",
"viz_property_uniquename":"dimension1",
"is_mandatory":"1",
"sortnr":"1"},
{ "viz_type_uniquename":"pie",
"viz_property_uniquename":"measure1",
"is_mandatory":"1",
"sortnr":"20"},
{ "viz_type_uniquename":"pie",
"viz_property_uniquename":"width",
"is_mandatory":"1",
"sortnr":"30"},
{ "viz_type_uniquename":"pie",
"viz_property_uniquename":"height",
"is_mandatory":"1",
"sortnr":"40"},
{ "viz_type_uniquename":"sunburst",
"viz_property_uniquename":"dimension1",
"is_mandatory":"1",
"sortnr":"1"},
{ "viz_type_uniquename":"sunburst",
"viz_property_uniquename":"dimension2",
"is_mandatory":"1",
"sortnr":"10"},
{ "viz_type_uniquename":"sunburst",
"viz_property_uniquename":"measure1",
"is_mandatory":"1",
"sortnr":"20"}
]
/>
<#assign viz_type_properties_general = [
]
/>
<@create_temp_tables />
<@fill_viz_properties />
<#foreach viz_type in viz_types>
<@fill_viz_type_properties_general viz_type_p=viz_type />
<@fill_viz_type_properties viz_type_p=viz_type />
</#foreach>
<@drop_temp_tables />
<#macro fill_viz_type_properties_general viz_type_p>
select 'Befülle Grafikelement ${viz_type_p.caption}' from xdummy;
delete from tmp_viz_type;
insert into tmp_viz_type(tid,
uniquename,
caption,
renderer_id,
-- srcpath,
-- method,
orientation,
explanation)
select T.tid,
'${viz_type_p.uniquename}',
'${viz_type_p.caption}',
${renderer},
'${viz_type_p.orientation}',
'${viz_type_p.explanation}'
from xdummy left outer join viz_type T on (
T.uniquename='${viz_type_p.uniquename}'
and T.renderer_id=${renderer}
)
;
insert into viz_type(
uniquename,
caption,
renderer_id,
-- srcpath,
-- method,
orientation)
select uniquename,
caption,
renderer_id,
-- srcpath,
-- method,
orientation
from tmp_viz_type T
where T.tid is null;
update viz_type set
uniquename=T.uniquename,
caption=T.caption,
renderer_id=T.renderer_id,
-- srcpath,
-- method,
orientation=T.orientation,
explanation=T.explanation
from tmp_viz_type T
where T.tid=viz_type.tid
and viz_type.tid in (select distinct T.tid from tmp_viz_type);
delete from viz_type_property
where (viz_type_id,
viz_property_id)
in (select Y.tid as viz_type_id,
P.tid as viz_property_id
from tmp_viz_property T,viz_type Y, viz_property P
where Y.uniquename='${viz_type_p.uniquename}'
and Y.renderer_id=${renderer}
and P.prop_uniquename=T.prop_uniquename
and T.is_general=1)
;
insert into viz_type_property(
viz_type_id,
viz_property_id,
is_mandatory,
sortnr)
select Y.tid as viz_type_id,
P.tid as viz_property_id,
P.is_mandatory,
T.sortnr
from tmp_viz_property T,viz_type Y, viz_property P
where Y.uniquename='${viz_type_p.uniquename}'
and Y.renderer_id=${renderer}
and P.prop_uniquename=T.prop_uniquename
and T.is_general=1;
</#macro>
<#macro fill_viz_type_properties viz_type_p>
<#foreach viz_prop in viz_type_properties>
<#if viz_prop.viz_type_uniquename==viz_type_p.uniquename >
delete from viz_type_property
where (viz_type_id,
viz_property_id)
in (select Y.tid as viz_type_id,
P.tid as viz_property_id
from viz_type Y, viz_property P
where Y.uniquename='${viz_type_p.uniquename}'
and Y.renderer_id=${renderer}
and P.prop_uniquename='${viz_prop.viz_property_uniquename}') ;
insert into viz_type_property(
viz_type_id,
viz_property_id,
is_mandatory,
sortnr)
select Y.tid as viz_type_id,
P.tid as viz_property_id,
${viz_prop.is_mandatory},
${viz_prop.sortnr}
from viz_type Y, viz_property P
where Y.uniquename='${viz_type_p.uniquename}'
and Y.renderer_id=${renderer}
and P.prop_uniquename='${viz_prop.viz_property_uniquename}'
;
</#if>
</#foreach>
</#macro>
<#macro create_temp_tables>
CREATE temp TABLE tmp_viz_type
(
tid INTEGER ,
uniquename varchar(255) NOT NULL,
caption varchar(255),
renderer_id integer,
srcpath varchar(255),
method varchar(255),
orientation char(1),
description text,
explanation text
);
CREATE temp TABLE tmp_viz_type_property
(
tid serial NOT NULL,
viz_type_id integer,
viz_property_id integer,
is_mandatory smallint DEFAULT 0,
sortnr smallint DEFAULT 0
);
CREATE temp TABLE tmp_viz_property_renderer
(
tid serial NOT NULL,
renderer_id integer NOT NULL,
property_id integer NOT NULL,
variable_name varchar(255)
);
create temp table tmp_viz_property_group
(
tid serial NOT NULL,
uniquename varchar(255) NOT NULL,
caption varchar(255),
sortnr integer
);
CREATE temp TABLE tmp_viz_property_group_renderer
(
tid serial NOT NULL,
renderer_id integer NOT NULL,
property_group_id integer NOT NULL,
variable_name varchar(255)
);
CREATE temp TABLE tmp_viz_property
(
tid integer,
caption varchar(255),
prop_uniquename varchar(255),
prop_default varchar(255),
prop_unit varchar(255),
is_generic smallint DEFAULT 1,
static_values text,
is_mandatory smallint DEFAULT 0,
input_type_id integer DEFAULT 1,
input_type_uniquename varchar(255),
property_group_id integer,
property_group_uniquename varchar(255),
explanation text,
sortnr integer,
range_from integer,
range_to integer,
prop_value_type varchar(255) DEFAULT 'string'::character varying,
variable_name varchar(255),
is_general smallint
);
</#macro>
<#macro drop_temp_tables>
drop table tmp_viz_type;
drop table tmp_viz_property_group;
drop table tmp_viz_property;
drop table tmp_viz_type_property;
drop table tmp_viz_property_renderer;
drop table tmp_viz_property_group_renderer;
</#macro>
<#macro fill_viz_properties>
<#assign sortnr=0 />
<#foreach viz_prop in viz_properties>
<#assign sortnr=sortnr+100 />
insert into tmp_viz_property(tid,
caption,
prop_uniquename,
prop_default,
prop_unit,
is_generic,
static_values,
is_mandatory,
input_type_uniquename,
property_group_uniquename,
explanation,
sortnr,
range_from,
range_to,
prop_value_type,
variable_name,
is_general)
select P.tid,
'${viz_prop.caption}',
'${viz_prop.prop_uniquename}',
'${viz_prop.prop_default}',
'${viz_prop.prop_unit}',
${viz_prop.is_generic},
'${viz_prop.static_values}',
${viz_prop.is_mandatory},
'${viz_prop.input_type_uniquename}',
'${viz_prop.property_group_uniquename}',
'${viz_prop.explanation}',
${sortnr},
val('${viz_prop.range_from}'),
val('${viz_prop.range_to}'),
'${viz_prop.prop_value_type}',
<#if viz_prop.variable_name?exists>
'${viz_prop.variable_name}',
<#else>
'',
</#if>
0 as is_general
from xdummy left outer join viz_property P
on (P.prop_uniquename='${viz_prop.prop_uniquename}')
;
</#foreach>
<#assign sortnr=1000 />
<#foreach viz_prop in viz_type_properties_general>
<#assign sortnr=sortnr+100 />
insert into tmp_viz_property(tid,
caption,
prop_uniquename,
prop_default,
prop_unit,
is_generic,
static_values,
is_mandatory,
input_type_uniquename,
property_group_uniquename,
explanation,
sortnr,
range_from,
range_to,
prop_value_type,
variable_name,
is_general)
select P.tid,
'${viz_prop.caption}',
'${viz_prop.prop_uniquename}',
'${viz_prop.prop_default}',
'${viz_prop.prop_unit}',
${viz_prop.is_generic},
'${viz_prop.static_values}',
${viz_prop.is_mandatory},
'${viz_prop.input_type_uniquename}',
'${viz_prop.property_group_uniquename}',
'${viz_prop.explanation}',
${sortnr},
val('${viz_prop.range_from}'),
val('${viz_prop.range_to}'),
'${viz_prop.prop_value_type}',
<#if viz_prop.variable_name?exists>
'${viz_prop.variable_name}',
<#else>
'',
</#if>
1 as is_general
from xdummy left outer join viz_property P
on (P.prop_uniquename='${viz_prop.prop_uniquename}')
;
</#foreach>
update tmp_viz_property set input_type_id=T.tid
from viz_property_input_type T
where T.uniquename=tmp_viz_property.input_type_uniquename;
select 'Warnung: Property ohne input_type: ' || prop_uniquename
from tmp_viz_property
where input_type_id is null;
update tmp_viz_property set property_group_id=T.tid
from viz_property_group T
where T.uniquename=tmp_viz_property.property_group_uniquename;
select 'Warnung: Property ohne property_group: ' || prop_uniquename
from tmp_viz_property
where property_group_id is null;
--neue Datensätze:
insert into viz_property(
caption,
prop_uniquename,
prop_default,
prop_unit,
is_generic,
static_values,
is_mandatory,
input_type_id,
property_group_id,
explanation,
sortnr,
range_from,
range_to,
prop_value_type)
select
caption,
prop_uniquename,
prop_default,
prop_unit,
is_generic,
static_values,
is_mandatory,
input_type_id,
property_group_id,
explanation,
sortnr,
range_from,
range_to,
prop_value_type
from tmp_viz_property P
where P.tid is null;
update viz_property
set caption=T.caption,
--prop_uniquename,
prop_default=T.prop_default,
prop_unit=T.prop_unit,
is_generic=T.is_generic,
static_values=T.static_values,
is_mandatory=T.is_mandatory,
input_type_id=T.input_type_id,
property_group_id=T.property_group_id,
explanation=T.explanation,
sortnr=T.sortnr,
range_from=T.range_from,
range_to=T.range_to,
prop_value_type=T.prop_value_type
from tmp_viz_property T
where T.tid=viz_property.tid
and viz_property.tid in (select T.tid from tmp_viz_property T);
--renderer:
delete from viz_property_renderer
where (renderer_id, property_id)
in (select ${renderer},P.tid
from tmp_viz_property P);
delete from viz_property_renderer
where (renderer_id, property_id)
in (select ${renderer},P.tid
from tmp_viz_property P);
insert into viz_property_renderer(
renderer_id,
property_id,
variable_name)
select ${renderer},
P.tid,
case when P.variable_name !='' then P.variable_name else P.prop_uniquename end
from tmp_viz_property P;
</#macro>

833
src-modules/module/viz/schluesseltabellen/viz_type_plot_fuellen.sql

@ -0,0 +1,833 @@
--Freemarker Template
<#include "SQL_lingua_franca"/>
<#include "SuperX_general"/>
<sqlvars>
<sqlvar name="renderer_plot_id">
select tid from viz_renderer where uniquename='plot';
</sqlvar>
</sqlvars>
<#assign viz_types = [
{"uniquename":"bar_x", "caption":"Balkendiagramm (horizontal)",
"orientation":"H",
"description":"Horizontales Balkendiagramm",
"explanation":""},
{"uniquename":"bar_y", "caption":"Balkendiagramm (vertikal)",
"orientation":"V",
"description":"Vertikales Balkendiagramm",
"explanation":""},
{"uniquename":"line", "caption":"Linien (vertikal)",
"orientation":"V",
"description":"Vertikales Liniendiagramm",
"explanation":""},
{"uniquename":"area_x", "caption":"Flächendiagramm (horizontal)",
"orientation":"H",
"description":"Horizontales Flächendiagramm",
"explanation":""},
{"uniquename":"area_y", "caption":"Flächendiagramm (vertikal)",
"orientation":"V",
"description":"Vertikales Flächendiagramm",
"explanation":""},
{"uniquename":"dot", "caption":"Punkte (vertikal)",
"orientation":"V",
"description":"Vertikales Punktdiagramm",
"explanation":""},
{"uniquename":"box_x", "caption":"Boxplot (horizontal)",
"orientation":"H",
"description":"Horizontales Boxplot",
"explanation":""},
{"uniquename":"box_y", "caption":"Boxplot (vertikal)",
"orientation":"V",
"description":"Vertikales Boxplot",
"explanation":""},
{"uniquename":"text", "caption":"Wertelabel (vertikal)",
"orientation":"V",
"description":"Wertelabel für vertikales Diagramm",
"explanation":""}
]
/>
<#assign viz_properties = [
{ "caption":"X-Achse",
"prop_uniquename":"x",
"explanation":"X-Achsendefinition",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"CATEGORY",
"sortnr":"",
"range_from":"",
"range_to":"",
"prop_value_type":"string"
},
{ "caption":"Y-Achse",
"prop_uniquename":"y",
"explanation":"Y-Achsendefinition",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"CATEGORY",
"sortnr":"",
"range_from":"",
"range_to":"",
"prop_value_type":"string"
}
,
{ "caption":"Serien-Dimension",
"prop_uniquename":"stroke",
"explanation":"Serien-Dimension zusätzlich zu Achsen",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"CATEGORY",
"sortnr":"",
"range_from":"",
"range_to":"",
"prop_value_type":"string"
},
{ "caption":"Beschriftung",
"prop_uniquename":"text",
"explanation":"Nur für Grafikelement Wertelabel",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"CATEGORY",
"sortnr":"",
"range_from":"",
"range_to":"",
"prop_value_type":"string"
},
{ "caption":"Zusätzl. Sortierung",
"prop_uniquename":"sortchannel",
"explanation":"Standardmäßig wird nach den Achsendimensionen alphabetisch aufsteigend sortiert. Wenn Sie nach einem anderen Merkmal sortieren wollen, geben Sie dies hier an (z.B. die Zeilennummer, um die Sortierung der Datentabelle zu nutzen). Nützlich z.B. um Semesternamen zu sortieren.",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"CATEGORY",
"sortnr":"800",
"range_from":"",
"range_to":"",
"prop_value_type":"string"
}
]
/>
<#assign viz_type_properties = [
{ "viz_type_uniquename":"bar_x",
"viz_property_uniquename":"x",
"is_mandatory":"1",
"sortnr":"1"},
{ "viz_type_uniquename":"bar_x",
"viz_property_uniquename":"y",
"is_mandatory":"1",
"sortnr":"10"},
{ "viz_type_uniquename":"bar_x",
"viz_property_uniquename":"stroke",
"is_mandatory":"0",
"sortnr":"20"},
{ "viz_type_uniquename":"bar_y",
"viz_property_uniquename":"x",
"is_mandatory":"1",
"sortnr":"1"},
{ "viz_type_uniquename":"bar_y",
"viz_property_uniquename":"y",
"is_mandatory":"1",
"sortnr":"10"},
{ "viz_type_uniquename":"bar_y",
"viz_property_uniquename":"stroke",
"is_mandatory":"0",
"sortnr":"20"},
{ "viz_type_uniquename":"line",
"viz_property_uniquename":"x",
"is_mandatory":"1",
"sortnr":"1"},
{ "viz_type_uniquename":"line",
"viz_property_uniquename":"y",
"is_mandatory":"1",
"sortnr":"10"},
{ "viz_type_uniquename":"line",
"viz_property_uniquename":"stroke",
"is_mandatory":"0",
"sortnr":"20"},
{ "viz_type_uniquename":"dot",
"viz_property_uniquename":"x",
"is_mandatory":"1",
"sortnr":"1"},
{ "viz_type_uniquename":"dot",
"viz_property_uniquename":"y",
"is_mandatory":"1",
"sortnr":"10"},
{ "viz_type_uniquename":"dot",
"viz_property_uniquename":"stroke",
"is_mandatory":"0",
"sortnr":"20"},
{ "viz_type_uniquename":"box_x",
"viz_property_uniquename":"x",
"is_mandatory":"1",
"sortnr":"1"},
{ "viz_type_uniquename":"box_x",
"viz_property_uniquename":"y",
"is_mandatory":"1",
"sortnr":"10"},
{ "viz_type_uniquename":"box_y",
"viz_property_uniquename":"x",
"is_mandatory":"1",
"sortnr":"1"},
{ "viz_type_uniquename":"box_y",
"viz_property_uniquename":"y",
"is_mandatory":"1",
"sortnr":"10"},
{ "viz_type_uniquename":"text",
"viz_property_uniquename":"x",
"is_mandatory":"1",
"sortnr":"1"},
{ "viz_type_uniquename":"text",
"viz_property_uniquename":"y",
"is_mandatory":"1",
"sortnr":"10"},
{ "viz_type_uniquename":"text",
"viz_property_uniquename":"stroke",
"is_mandatory":"0",
"sortnr":"20"},
{ "viz_type_uniquename":"text",
"viz_property_uniquename":"text",
"is_mandatory":"0",
"sortnr":"30"}
]
/>
<#assign viz_type_properties_general = [
{ "caption":"Textuelle Beschreibung des Grafikelements",
"prop_uniquename":"ariaDescription",
"explanation":"für barrierearme Grafiken",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"STYLE",
"sortnr":"",
"range_from":"",
"range_to":"",
"prop_value_type":"string"
},
{ "caption":"Strichfarbe",
"prop_uniquename":"stroke_static",
"explanation":"Strichfarbe (einfach)",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"COLOR",
"property_group_uniquename":"STYLE",
"sortnr":"",
"range_from":"",
"range_to":"",
"prop_value_type":"string"
}
,
{ "caption":"Flächenfarbe",
"prop_uniquename":"fill_static",
"explanation":"Nur für Grafikelemente Flächen und Balken. Füllfarbe.",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"COLOR",
"property_group_uniquename":"STYLE",
"sortnr":"",
"range_from":"",
"range_to":"",
"prop_value_type":"string",
"variable_name":"fill"
},
{ "caption":"CSS-Klasse",
"prop_uniquename":"className",
"explanation":"Klassenname des Grafikelements für CSS-basierte Layouts",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"STYLE",
"sortnr":"",
"range_from":"",
"range_to":"",
"prop_value_type":"string"
}
,
{ "caption":"CSS-Filter für Bilder",
"prop_uniquename":"imageFilter",
"explanation":"z.B. blur(5px)",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"STYLE",
"sortnr":"",
"range_from":"",
"range_to":"",
"prop_value_type":"string"
},
{ "caption":"Offset (horizontal)",
"prop_uniquename":"dx",
"explanation":"Horizontales Offset des Grafikelements in Pixel",
"prop_default":"",
"prop_unit":"px",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"LAYOUT",
"sortnr":"",
"range_from":"",
"range_to":"",
"prop_value_type":"integer"
},
{ "caption":"Offset (vertikal)",
"prop_uniquename":"dy",
"explanation":"Vertikales Offset des Grafikelements in Pixel",
"prop_default":"",
"prop_unit":"px",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"LAYOUT",
"sortnr":"",
"range_from":"",
"range_to":"",
"prop_value_type":"integer"
},
{ "caption":"Deckungsgrad Farbe",
"prop_uniquename":"fillOpacity",
"explanation":"Deckungsrad (opacity) zwischen 0 und 1",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"STYLE",
"sortnr":"",
"range_from":"0",
"range_to":"1",
"prop_value_type":"string"
},
{ "caption":"Deckungsgrad Objekt",
"prop_uniquename":"opacity",
"explanation":"Deckungsrad (opacity) des Grafikelements zwischen 0 und 1",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"STYLE",
"sortnr":"",
"range_from":"0",
"range_to":"1",
"prop_value_type":"string"
},
{ "caption":"Strichlinie Abstand-Intervalle",
"prop_uniquename":"strokeDasharray",
"explanation":"Abstand von Bindestrichen (Komma-separierte Pixel), z.B. [10,5] für 10 und dann 5 Pixel Abstand",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"STYLE",
"sortnr":"",
"range_from":"",
"range_to":"",
"prop_value_type":"string"
},
{ "caption":"Strichlinie Breite",
"prop_uniquename":"strokeWidth",
"explanation":"Strichbreite in Pixel",
"prop_default":"",
"prop_unit":"px",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"STYLE",
"sortnr":"",
"range_from":"",
"range_to":"",
"prop_value_type":"integer"
}
,
{ "caption":"Tooltip einschalten",
"prop_uniquename":"tip",
"explanation":"Sollen implizite Tooltips angezeigt werden (true,false)",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"true|false",
"is_mandatory":"0",
"input_type_uniquename":"SELECT",
"property_group_uniquename":"LAYOUT",
"sortnr":"",
"range_from":"",
"range_to":"",
"prop_value_type":"boolean"
}
] />
--ab hier nicht mehr ändern:
--Die Sortierunmmer ergibt sich aus der Reihenfolge
--daher hier mit Bedacht ändern:
<@create_temp_tables />
<@fill_viz_properties />
<#foreach viz_type in viz_types>
<@fill_viz_type_properties_general viz_type_p=viz_type />
<@fill_viz_type_properties viz_type_p=viz_type />
</#foreach>
<@drop_temp_tables />
<#macro fill_viz_type_properties_general viz_type_p>
select 'Befülle Grafikelement ${viz_type_p.caption}' from xdummy;
delete from tmp_viz_type;
insert into tmp_viz_type(tid,
uniquename,
caption,
renderer_id,
-- srcpath,
-- method,
orientation,
explanation)
select T.tid,
'${viz_type_p.uniquename}',
'${viz_type_p.caption}',
${renderer_plot_id},
'${viz_type_p.orientation}',
'${viz_type_p.explanation}'
from xdummy left outer join viz_type T on (
T.uniquename='${viz_type_p.uniquename}'
and T.renderer_id=${renderer_plot_id}
)
;
insert into viz_type(
uniquename,
caption,
renderer_id,
-- srcpath,
-- method,
orientation)
select uniquename,
caption,
renderer_id,
-- srcpath,
-- method,
orientation
from tmp_viz_type T
where T.tid is null;
update viz_type set
uniquename=T.uniquename,
caption=T.caption,
renderer_id=T.renderer_id,
-- srcpath,
-- method,
orientation=T.orientation,
explanation=T.explanation
from tmp_viz_type T
where T.tid=viz_type.tid
and viz_type.tid in (select distinct T.tid from tmp_viz_type);
delete from viz_type_property
where (viz_type_id,
viz_property_id)
in (select Y.tid as viz_type_id,
P.tid as viz_property_id
from tmp_viz_property T,viz_type Y, viz_property P
where Y.uniquename='${viz_type_p.uniquename}'
and Y.renderer_id=${renderer_plot_id}
and P.prop_uniquename=T.prop_uniquename
and T.is_general=1)
;
insert into viz_type_property(
viz_type_id,
viz_property_id,
is_mandatory,
sortnr)
select Y.tid as viz_type_id,
P.tid as viz_property_id,
P.is_mandatory,
T.sortnr
from tmp_viz_property T,viz_type Y, viz_property P
where Y.uniquename='${viz_type_p.uniquename}'
and Y.renderer_id=${renderer_plot_id}
and P.prop_uniquename=T.prop_uniquename
and T.is_general=1;
</#macro>
<#macro fill_viz_type_properties viz_type_p>
<#foreach viz_prop in viz_type_properties>
<#if viz_prop.viz_type_uniquename==viz_type_p.uniquename >
delete from viz_type_property
where (viz_type_id,
viz_property_id)
in (select Y.tid as viz_type_id,
P.tid as viz_property_id
from viz_type Y, viz_property P
where Y.uniquename='${viz_type_p.uniquename}'
and Y.renderer_id=${renderer_plot_id}
and P.prop_uniquename='${viz_prop.viz_property_uniquename}') ;
insert into viz_type_property(
viz_type_id,
viz_property_id,
is_mandatory,
sortnr)
select Y.tid as viz_type_id,
P.tid as viz_property_id,
${viz_prop.is_mandatory},
${viz_prop.sortnr}
from viz_type Y, viz_property P
where Y.uniquename='${viz_type_p.uniquename}'
and Y.renderer_id=${renderer_plot_id}
and P.prop_uniquename='${viz_prop.viz_property_uniquename}'
;
</#if>
</#foreach>
</#macro>
<#macro create_temp_tables>
CREATE temp TABLE tmp_viz_type
(
tid serial NOT NULL,
uniquename varchar(255) NOT NULL,
caption varchar(255),
renderer_id integer,
srcpath varchar(255),
method varchar(255),
orientation char(1),
description text,
explanation text
);
CREATE temp TABLE tmp_viz_type_property
(
tid serial NOT NULL,
viz_type_id integer,
viz_property_id integer,
is_mandatory smallint DEFAULT 0,
sortnr smallint DEFAULT 0
);
CREATE temp TABLE tmp_viz_property_renderer
(
tid serial NOT NULL,
renderer_id integer NOT NULL,
property_id integer NOT NULL,
variable_name varchar(255)
);
create temp table tmp_viz_property_group
(
tid serial NOT NULL,
uniquename varchar(255) NOT NULL,
caption varchar(255),
sortnr integer
);
CREATE temp TABLE tmp_viz_property_group_renderer
(
tid serial NOT NULL,
renderer_id integer NOT NULL,
property_group_id integer NOT NULL,
variable_name varchar(255)
);
CREATE temp TABLE tmp_viz_property
(
tid integer,
caption varchar(255),
prop_uniquename varchar(255),
prop_default varchar(255),
prop_unit varchar(255),
is_generic smallint DEFAULT 1,
static_values text,
is_mandatory smallint DEFAULT 0,
input_type_id integer DEFAULT 1,
input_type_uniquename varchar(255),
property_group_id integer,
property_group_uniquename varchar(255),
explanation text,
sortnr integer,
range_from integer,
range_to integer,
prop_value_type varchar(255) DEFAULT 'string'::character varying,
variable_name varchar(255),
is_general smallint
);
</#macro>
<#macro drop_temp_tables>
drop table tmp_viz_type;
drop table tmp_viz_property_group;
drop table tmp_viz_property;
drop table tmp_viz_type_property;
drop table tmp_viz_property_renderer;
drop table tmp_viz_property_group_renderer;
</#macro>
<#macro fill_viz_properties>
<#assign sortnr=0 />
<#foreach viz_prop in viz_properties>
<#assign sortnr=sortnr+100 />
insert into tmp_viz_property(tid,
caption,
prop_uniquename,
prop_default,
prop_unit,
is_generic,
static_values,
is_mandatory,
input_type_uniquename,
property_group_uniquename,
explanation,
sortnr,
range_from,
range_to,
prop_value_type,
variable_name,
is_general)
select P.tid,
'${viz_prop.caption}',
'${viz_prop.prop_uniquename}',
'${viz_prop.prop_default}',
'${viz_prop.prop_unit}',
${viz_prop.is_generic},
'${viz_prop.static_values}',
${viz_prop.is_mandatory},
'${viz_prop.input_type_uniquename}',
'${viz_prop.property_group_uniquename}',
'${viz_prop.explanation}',
${sortnr},
val('${viz_prop.range_from}'),
val('${viz_prop.range_to}'),
'${viz_prop.prop_value_type}',
<#if viz_prop.variable_name?exists>
'${viz_prop.variable_name}',
<#else>
'',
</#if>
0 as is_general
from xdummy left outer join viz_property P
on (P.prop_uniquename='${viz_prop.prop_uniquename}')
;
</#foreach>
<#assign sortnr=1000 />
<#foreach viz_prop in viz_type_properties_general>
<#assign sortnr=sortnr+100 />
insert into tmp_viz_property(tid,
caption,
prop_uniquename,
prop_default,
prop_unit,
is_generic,
static_values,
is_mandatory,
input_type_uniquename,
property_group_uniquename,
explanation,
sortnr,
range_from,
range_to,
prop_value_type,
variable_name,
is_general)
select P.tid,
'${viz_prop.caption}',
'${viz_prop.prop_uniquename}',
'${viz_prop.prop_default}',
'${viz_prop.prop_unit}',
${viz_prop.is_generic},
'${viz_prop.static_values}',
${viz_prop.is_mandatory},
'${viz_prop.input_type_uniquename}',
'${viz_prop.property_group_uniquename}',
'${viz_prop.explanation}',
${sortnr},
val('${viz_prop.range_from}'),
val('${viz_prop.range_to}'),
'${viz_prop.prop_value_type}',
<#if viz_prop.variable_name?exists>
'${viz_prop.variable_name}',
<#else>
'',
</#if>
1 as is_general
from xdummy left outer join viz_property P
on (P.prop_uniquename='${viz_prop.prop_uniquename}')
;
</#foreach>
update tmp_viz_property set input_type_id=T.tid
from viz_property_input_type T
where T.uniquename=tmp_viz_property.input_type_uniquename;
select 'Warnung: Property ohne input_type: ' || prop_uniquename
from tmp_viz_property
where input_type_id is null;
update tmp_viz_property set property_group_id=T.tid
from viz_property_group T
where T.uniquename=tmp_viz_property.property_group_uniquename;
select 'Warnung: Property ohne property_group: ' || prop_uniquename
from tmp_viz_property
where property_group_id is null;
--neue Datensätze:
insert into viz_property(
caption,
prop_uniquename,
prop_default,
prop_unit,
is_generic,
static_values,
is_mandatory,
input_type_id,
property_group_id,
explanation,
sortnr,
range_from,
range_to,
prop_value_type)
select
caption,
prop_uniquename,
prop_default,
prop_unit,
is_generic,
static_values,
is_mandatory,
input_type_id,
property_group_id,
explanation,
sortnr,
range_from,
range_to,
prop_value_type
from tmp_viz_property P
where P.tid is null;
update viz_property
set caption=T.caption,
--prop_uniquename,
prop_default=T.prop_default,
prop_unit=T.prop_unit,
is_generic=T.is_generic,
static_values=T.static_values,
is_mandatory=T.is_mandatory,
input_type_id=T.input_type_id,
property_group_id=T.property_group_id,
explanation=T.explanation,
sortnr=T.sortnr,
range_from=T.range_from,
range_to=T.range_to,
prop_value_type=T.prop_value_type
from tmp_viz_property T
where T.tid=viz_property.tid
and viz_property.tid in (select T.tid from tmp_viz_property T);
--renderer:
delete from viz_property_renderer
where (renderer_id, property_id)
in (select ${renderer_plot_id},P.tid
from tmp_viz_property P);
delete from viz_property_renderer
where (renderer_id, property_id)
in (select ${renderer_plot_id},P.tid
from tmp_viz_property P);
insert into viz_property_renderer(
renderer_id,
property_id,
variable_name)
select ${renderer_plot_id},
P.tid,
case when P.variable_name !='' then P.variable_name else P.prop_uniquename end
from tmp_viz_property P;
</#macro>

540
src-modules/module/viz/schluesseltabellen/viz_type_property.unl

@ -1,388 +1,160 @@
1^1^70^1^1^
3^1^72^1^10^
8^2^70^1^0^
9^2^72^1^10^
10^3^70^1^0^
12^5^70^1^0^
13^3^72^1^10^
15^5^72^1^10^
16^6^70^1^0^
17^6^72^1^10^
20^1^76^0^20^
22^2^76^0^20^
24^5^76^0^20^
26^3^76^0^20^
27^6^76^0^20^
33^7^70^1^0^
34^7^72^0^0^
35^9^70^0^0^
36^9^72^1^0^
37^8^76^0^20^
38^8^72^1^10^
39^8^70^1^0^
41^10^70^0^0^
42^10^72^0^10^
43^10^76^0^20^
44^11^95^1^0^ 44^11^95^1^0^
45^11^73^1^0^ 45^11^73^1^0^
46^12^73^1^20^
47^12^95^1^1^
48^12^96^1^10^
49^1^3^0^^
50^1^4^0^201^
51^1^5^0^202^
52^1^6^0^204^
53^1^7^0^203^
54^1^8^0^305^
55^1^11^0^604^
56^1^12^0^605^
57^1^13^0^603^
58^1^15^0^601^
59^1^16^0^103^
60^1^17^0^104^
61^1^18^0^105^
62^1^19^0^106^
63^1^20^0^107^
64^1^21^0^108^
65^1^22^0^109^
66^1^23^0^110^
67^1^25^0^302^
68^1^43^0^306^
69^1^45^0^308^
70^1^56^0^401^
71^1^57^0^402^
72^1^58^0^403^
73^1^60^0^304^
74^1^61^0^301^
75^1^63^0^602^
76^1^68^0^607^
77^1^69^0^608^
78^1^81^0^602^
79^1^82^0^601^
80^1^83^0^603^
81^1^84^0^604^
82^1^85^0^605^
83^1^86^0^602^
84^1^87^0^602^
85^1^93^0^602^
86^1^94^0^602^
87^2^3^0^^
88^2^4^0^201^
89^2^5^0^202^
90^2^6^0^204^
91^2^7^0^203^
92^2^8^0^305^
93^2^11^0^604^
94^2^12^0^605^
95^2^13^0^603^
96^2^15^0^601^
97^2^16^0^103^
98^2^17^0^104^
99^2^18^0^105^
100^2^19^0^106^
101^2^20^0^107^
102^2^21^0^108^
103^2^22^0^109^
104^2^23^0^110^
105^2^25^0^302^
106^2^43^0^306^
107^2^45^0^308^
108^2^56^0^401^
109^2^57^0^402^
110^2^58^0^403^
111^2^60^0^304^
112^2^61^0^301^
113^2^63^0^602^
114^2^68^0^607^
115^2^69^0^608^
116^2^81^0^602^
117^2^82^0^601^
118^2^83^0^603^
119^2^84^0^604^
120^2^85^0^605^
121^2^86^0^602^
122^2^87^0^602^
123^2^93^0^602^
124^2^94^0^602^
125^3^3^0^^
126^3^4^0^201^
127^3^5^0^202^
128^3^6^0^204^
129^3^7^0^203^
130^3^8^0^305^
131^3^11^0^604^
132^3^12^0^605^
133^3^13^0^603^
134^3^15^0^601^
135^3^16^0^103^
136^3^17^0^104^
137^3^18^0^105^
138^3^19^0^106^
139^3^20^0^107^
140^3^21^0^108^
141^3^22^0^109^
142^3^23^0^110^
143^3^25^0^302^
144^3^43^0^306^
145^3^45^0^308^
146^3^56^0^401^
147^3^57^0^402^
148^3^58^0^403^
149^3^60^0^304^
150^3^61^0^301^
151^3^63^0^602^
152^3^68^0^607^
153^3^69^0^608^
154^3^81^0^602^
155^3^82^0^601^
156^3^83^0^603^
157^3^84^0^604^
158^3^85^0^605^
159^3^86^0^602^
160^3^87^0^602^
161^3^93^0^602^
162^3^94^0^602^
163^5^3^0^^
164^5^4^0^201^
165^5^5^0^202^
166^5^6^0^204^
167^5^7^0^203^
168^5^8^0^305^
169^5^11^0^604^
170^5^12^0^605^
171^5^13^0^603^
172^5^15^0^601^
173^5^16^0^103^
174^5^17^0^104^
175^5^18^0^105^
176^5^19^0^106^
177^5^20^0^107^
178^5^21^0^108^
179^5^22^0^109^
180^5^23^0^110^
181^5^25^0^302^
182^5^43^0^306^
183^5^45^0^308^
184^5^56^0^401^
185^5^57^0^402^
186^5^58^0^403^
187^5^60^0^304^
188^5^61^0^301^
189^5^63^0^602^
190^5^68^0^607^
191^5^69^0^608^
192^5^81^0^602^
193^5^82^0^601^
194^5^83^0^603^
195^5^84^0^604^
196^5^85^0^605^
197^5^86^0^602^
198^5^87^0^602^
199^5^93^0^602^
200^5^94^0^602^
201^6^3^0^^
202^6^4^0^201^
203^6^5^0^202^
204^6^6^0^204^
205^6^7^0^203^
206^6^8^0^305^
207^6^11^0^604^
208^6^12^0^605^
209^6^13^0^603^
210^6^15^0^601^
211^6^16^0^103^
212^6^17^0^104^
213^6^18^0^105^
214^6^19^0^106^
215^6^20^0^107^
216^6^21^0^108^
217^6^22^0^109^
218^6^23^0^110^
219^6^25^0^302^
220^6^43^0^306^
221^6^45^0^308^
222^6^56^0^401^
223^6^57^0^402^
224^6^58^0^403^
225^6^60^0^304^
226^6^61^0^301^
227^6^63^0^602^
228^6^68^0^607^
229^6^69^0^608^
230^6^81^0^602^
231^6^82^0^601^
232^6^83^0^603^
233^6^84^0^604^
234^6^85^0^605^
235^6^86^0^602^
236^6^87^0^602^
237^6^93^0^602^
238^6^94^0^602^
239^7^3^0^^
240^7^4^0^201^
241^7^5^0^202^
242^7^6^0^204^
243^7^7^0^203^
245^7^11^0^604^
246^7^12^0^605^
247^7^13^0^603^
248^7^15^0^601^
249^7^16^0^103^
250^7^17^0^104^
251^7^18^0^105^
252^7^19^0^106^
253^7^20^0^107^
254^7^21^0^108^
255^7^22^0^109^
256^7^23^0^110^
257^7^25^0^302^
258^7^43^0^306^
259^7^45^0^308^
260^7^56^0^401^
261^7^57^0^402^
262^7^58^0^403^
263^7^60^0^304^
264^7^61^0^301^
265^7^63^0^602^
266^7^68^0^607^
267^7^69^0^608^
268^7^81^0^602^
269^7^82^0^601^
270^7^83^0^603^
271^7^84^0^604^
272^7^85^0^605^
273^7^86^0^602^
274^7^87^0^602^
275^7^93^0^602^
276^7^94^0^602^
277^8^3^0^^
278^8^4^0^201^
279^8^5^0^202^
280^8^6^0^204^
281^8^7^0^203^
282^8^8^0^305^
283^8^11^0^604^
284^8^12^0^605^
285^8^13^0^603^
286^8^15^0^601^
287^8^16^0^103^
288^8^17^0^104^
289^8^18^0^105^
290^8^19^0^106^
291^8^20^0^107^
292^8^21^0^108^
293^8^22^0^109^
294^8^23^0^110^
295^8^25^0^302^
296^8^43^0^306^
297^8^45^0^308^
298^8^56^0^401^
299^8^57^0^402^
300^8^58^0^403^
301^8^60^0^304^
302^8^61^0^301^
303^8^63^0^602^
304^8^68^0^607^
305^8^69^0^608^
306^8^81^0^602^
307^8^82^0^601^
308^8^83^0^603^
309^8^84^0^604^
310^8^85^0^605^
311^8^86^0^602^
312^8^87^0^602^
313^8^93^0^602^
314^8^94^0^602^
315^9^3^0^^
316^9^4^0^201^
317^9^5^0^202^
318^9^6^0^204^
319^9^7^0^203^
321^9^11^0^604^
322^9^12^0^605^
323^9^13^0^603^
324^9^15^0^601^
325^9^16^0^103^
326^9^17^0^104^
327^9^18^0^105^
328^9^19^0^106^
329^9^20^0^107^
330^9^21^0^108^
331^9^22^0^109^
332^9^23^0^110^
333^9^25^0^302^
334^9^43^0^306^
335^9^45^0^308^
336^9^56^0^401^
337^9^57^0^402^
338^9^58^0^403^
339^9^60^0^304^
340^9^61^0^301^
341^9^63^0^602^
342^9^68^0^607^
343^9^69^0^608^
344^9^81^0^602^
345^9^82^0^601^
346^9^83^0^603^
347^9^84^0^604^
348^9^85^0^605^
349^9^86^0^602^
350^9^87^0^602^
351^9^93^0^602^
352^9^94^0^602^
353^10^3^0^^
354^10^4^0^201^
355^10^5^0^202^
356^10^6^0^204^
357^10^7^0^203^
358^10^8^0^305^
359^10^11^0^604^
360^10^12^0^605^
361^10^13^0^603^
362^10^15^0^601^
363^10^16^0^103^
364^10^17^0^104^
365^10^18^0^105^
366^10^19^0^106^
367^10^20^0^107^
368^10^21^0^108^
369^10^22^0^109^
370^10^23^0^110^
371^10^25^0^302^
372^10^43^0^306^
373^10^45^0^308^
374^10^56^0^401^
375^10^79^0^40^
376^10^58^0^403^
377^10^60^0^304^
378^10^61^0^301^
379^10^63^0^602^
380^10^68^0^607^
381^10^69^0^608^
382^10^81^0^602^
383^10^82^0^601^
384^10^83^0^603^
385^10^84^0^604^
386^10^85^0^605^
387^10^86^0^602^
388^10^87^0^602^
389^10^93^0^602^
390^10^94^0^602^
391^2^78^0^300^
392^2^24^0^400^
393^1^78^0^400^
394^1^24^0^410^
395^8^78^0^400^
396^8^24^0^410^
397^5^78^0^400^
398^5^24^0^410^
399^3^78^0^400^
400^3^24^0^410^
401^6^78^0^400^
402^6^24^0^410^
403^12^97^0^100^
404^12^6^10^0^
405^12^7^0^0^
406^12^5^20^0^
407^13^73^1^10^ 407^13^73^1^10^
408^13^95^1^1^ 408^13^95^1^1^
605^8^70^0^100^
606^8^72^0^200^
608^8^76^0^300^
610^5^70^0^100^
611^5^72^0^200^
613^5^76^0^300^
1693^12^97^0^100^
1702^2^109^0^900^
1703^1^109^0^800^
1704^7^109^0^800^
1705^9^109^0^800^
1706^8^109^0^800^
1707^5^109^0^800^
1708^1^108^0^1200^
1709^1^107^0^2200^
1710^1^101^0^1600^
1711^1^102^0^1700^
1712^1^8^0^1300^
1713^1^103^0^1100^
1714^1^105^0^1500^
1715^1^104^0^1400^
1716^1^43^0^1800^
1717^1^106^0^1900^
1718^1^100^0^2000^
1719^1^45^0^2100^
1720^1^70^1^1^
1721^1^72^1^10^
1722^1^76^0^20^
1723^2^108^0^1200^
1724^2^107^0^2200^
1725^2^101^0^1600^
1726^2^102^0^1700^
1727^2^8^0^1300^
1728^2^103^0^1100^
1729^2^105^0^1500^
1730^2^104^0^1400^
1731^2^43^0^1800^
1732^2^106^0^1900^
1733^2^100^0^2000^
1734^2^45^0^2100^
1735^2^70^1^1^
1736^2^72^1^10^
1737^2^76^0^20^
1738^3^108^0^1200^
1739^3^107^0^2200^
1740^3^101^0^1600^
1741^3^102^0^1700^
1742^3^8^0^1300^
1743^3^103^0^1100^
1744^3^105^0^1500^
1745^3^104^0^1400^
1746^3^43^0^1800^
1747^3^106^0^1900^
1748^3^100^0^2000^
1749^3^45^0^2100^
1750^3^70^1^1^
1751^3^72^1^10^
1752^3^76^0^20^
1753^8^108^0^1200^
1754^8^107^0^2200^
1755^8^101^0^1600^
1756^8^102^0^1700^
1757^8^8^0^1300^
1758^8^103^0^1100^
1759^8^105^0^1500^
1760^8^104^0^1400^
1761^8^43^0^1800^
1762^8^106^0^1900^
1763^8^100^0^2000^
1764^8^45^0^2100^
1765^5^108^0^1200^
1766^5^107^0^2200^
1767^5^101^0^1600^
1768^5^102^0^1700^
1769^5^8^0^1300^
1770^5^103^0^1100^
1771^5^105^0^1500^
1772^5^104^0^1400^
1773^5^43^0^1800^
1774^5^106^0^1900^
1775^5^100^0^2000^
1776^5^45^0^2100^
1777^6^108^0^1200^
1778^6^107^0^2200^
1779^6^101^0^1600^
1780^6^102^0^1700^
1781^6^8^0^1300^
1782^6^103^0^1100^
1783^6^105^0^1500^
1784^6^104^0^1400^
1785^6^43^0^1800^
1786^6^106^0^1900^
1787^6^100^0^2000^
1788^6^45^0^2100^
1789^6^70^1^1^
1790^6^72^1^10^
1791^6^76^0^20^
1792^7^108^0^1200^
1793^7^107^0^2200^
1794^7^101^0^1600^
1795^7^102^0^1700^
1796^7^8^0^1300^
1797^7^103^0^1100^
1798^7^105^0^1500^
1799^7^104^0^1400^
1800^7^43^0^1800^
1801^7^106^0^1900^
1802^7^100^0^2000^
1803^7^45^0^2100^
1804^7^70^1^1^
1805^7^72^1^10^
1806^9^108^0^1200^
1807^9^107^0^2200^
1808^9^101^0^1600^
1809^9^102^0^1700^
1810^9^8^0^1300^
1811^9^103^0^1100^
1812^9^105^0^1500^
1813^9^104^0^1400^
1814^9^43^0^1800^
1815^9^106^0^1900^
1816^9^100^0^2000^
1817^9^45^0^2100^
1818^9^70^1^1^
1819^9^72^1^10^
1820^10^108^0^1200^
1821^10^107^0^2200^
1822^10^101^0^1600^
1823^10^102^0^1700^
1824^10^8^0^1300^
1825^10^103^0^1100^
1826^10^105^0^1500^
1827^10^104^0^1400^
1828^10^43^0^1800^
1829^10^106^0^1900^
1830^10^100^0^2000^
1831^10^45^0^2100^
1832^10^70^1^1^
1833^10^72^1^10^
1834^10^76^0^20^
1835^10^79^0^30^
1836^3^109^0^800^
1837^10^109^0^800^
1884^12^95^1^1^
1885^12^96^1^10^
1886^12^73^1^20^
1888^12^6^0^100^
1889^12^7^0^110^
1890^12^5^0^120^
1891^14^95^1^1^
1892^14^73^1^20^
1893^14^2^1^30^
1894^14^1^1^40^
1895^15^95^1^1^
1896^15^96^1^10^
1897^15^73^1^20^

1028
superx/xml/js/viz/viz_functions.js

File diff suppressed because it is too large Load Diff

178
superx/xml/js/viz/world.geojson

File diff suppressed because one or more lines are too long

10
superx/xml/js/viz/world.geojson.license.txt

@ -0,0 +1,10 @@
The MIT License (MIT)
Copyright (c) 2023 Holtz Yan
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

539
superx/xml/viz_components.xsl

@ -1,6 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" <xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sx="http://memtext.de"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sx="http://memtext.de">
<xsl:variable name="quote"><xsl:text>"</xsl:text></xsl:variable>
<xsl:template name="head_superx_viz"> <xsl:template name="head_superx_viz">
<xsl:param name="css" /> <xsl:param name="css" />
<xsl:param name="title" /> <xsl:param name="title" />
@ -263,13 +265,14 @@ vizTypes.push(newVizType);
</xsl:for-each> </xsl:for-each>
<xsl:text> <xsl:text>
function vizTypeProperty(propUniquename,caption,typeUniquename,groupUniquename,isMandatory,explanation) function vizTypeProperty(propUniquename,caption,typeUniquename,groupUniquename,isMandatory,propertyType,explanation)
{ {
this.propUniquename=propUniquename; this.propUniquename=propUniquename;
this.caption=caption; this.caption=caption;
this.groupUniquename=groupUniquename; this.groupUniquename=groupUniquename;
this.typeUniquename=typeUniquename; this.typeUniquename=typeUniquename;
this.isMandatory=isMandatory; this.isMandatory=isMandatory;
this.propertyType=propertyType;
this.explanation=explanation; this.explanation=explanation;
} }
@ -294,8 +297,9 @@ var newVizTypeProperty = new vizTypeProperty("</xsl:text>
<xsl:text>false</xsl:text> <xsl:text>false</xsl:text>
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
<xsl:text>,"" <xsl:text>,"</xsl:text>
); <xsl:value-of select="@propValueType" />
<xsl:text>","");
vizTypeProperties.push(newVizTypeProperty); vizTypeProperties.push(newVizTypeProperty);
</xsl:text> </xsl:text>
</xsl:for-each> </xsl:for-each>
@ -533,4 +537,533 @@ and (@renderer_uniquename='plot' or @renderer_uniquename='d3js') ]">
<script language="Javascript" type="text/javascript" src="{@srcpath}" /> <script language="Javascript" type="text/javascript" src="{@srcpath}" />
</xsl:for-each> </xsl:for-each>
</xsl:template> </xsl:template>
<xsl:template name="modalCards" >
<xsl:for-each select="/ergebnisse">
<xsl:for-each select="ergebnis/ergebniselement">
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable>
<xsl:if test="$chart_id != ''">
<div class="modal modal-fx-3dSlit" id="{concat('modalCard',$ergebniselement_ordnr)}">
<div class="modal-background"></div>
<div class="modal-content is-huge is-image">
<!-- content -->
<div class="modal-content">
<div class="box" style="text-align:right">
<a href="{concat('javascript:closeModalImage(',$ergebniselement_ordnr,');')}">
<span class="button is-black is-outlined"> X </span>
</a>
</div>
<div class="box">
<div id="{concat('modalCardImage',$ergebniselement_ordnr)}">
Picture placeholder
</div>
</div>
</div>
</div>
</div>
<div class="modal modal-fx-3dSlit" id="{concat('modalCardDetail',$ergebniselement_ordnr)}">
<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>
</div>
<!-- content -->
<div class="card">
<div class="card-image">
<div id="{concat('modalCardDetailImage',$ergebniselement_ordnr)}">
Picture placeholder
</div>
</div>
<div class="card-content">
<div class="media">
<div class="media-content">
<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 != ''">
<span class="feldname">
<xsl:choose>
<xsl:when test="string-length(caption_short) &gt; 0 and caption_short != 'null'" >
<![CDATA[]]><xsl:value-of select="caption_short" /><![CDATA[]]>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@varname" />
</xsl:otherwise>
</xsl:choose></span>:&#160;
<xsl:if test="string-length(value_caption) &lt; 50">
<span class="feldwert"><xsl:value-of select="value_caption" /><![CDATA[]]></span>
</xsl:if>
<xsl:if test="string-length(value_caption) &gt; 49">
<span class="feldwert"><![CDATA[]]><xsl:value-of select="substring(value_caption,0,50)" /><![CDATA[]]>...</span>
</xsl:if>
<xsl:if test="sicht!=''">
<span><![CDATA[ (]]><xsl:value-of select="sicht" />
<xsl:if test="@stand!=''"><xsl:text> - Stand:</xsl:text><xsl:value-of select="@stand"/></xsl:if>
<xsl:text><![CDATA[)]]> </xsl:text></span>
</xsl:if>
;
</xsl:if>
</xsl:for-each>
User: <xsl:value-of select="/ergebnisse/user"/>&#160;
Stand: <xsl:value-of select="../stand" /></p>
<xsl:if test="../hinweis != ''">
<xsl:call-template name="newline_to_br">
<xsl:with-param name="string" select="../hinweis" />
</xsl:call-template>
</xsl:if>
</div>
<p align="right"><a href="{concat('javascript:closeModalCardDetail(',$ergebniselement_ordnr,');')}">
<span class="button is-black is-outlined"> X </span>
</a></p>
</div>
</div>
</div>
</div>
</div>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
<xsl:template name="modalCards_neu" >
<xsl:for-each select="/ergebnisse">
<xsl:for-each select="ergebnis/ergebniselement">
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable>
<xsl:if test="$chart_id != ''">
<div class="modal" id="{concat('modalCard',$ergebniselement_ordnr)}">
<div class="modal-background"></div>
<div class="modal-card">
<header class="modal-card-head">
<div class="box" style="text-align:right">
<a href="{concat('javascript:closeModalImage(',$ergebniselement_ordnr,');')}">
<span class="button is-black is-outlined"> X </span>
</a>
</div>
</header>
<section class="modal-card-body">
<div id="{concat('modalCardImage',$ergebniselement_ordnr)}">
Picture placeholder
</div>
</section>
<footer class="modal-card-foot"></footer>
</div>
</div>
<div class="modal" id="{concat('modalCardDetail',$ergebniselement_ordnr)}">
<div class="modal-background"></div>
<div class="modal-card">
<header class="modal-card-head">
<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>
</div></header>
<section class="modal-card-body">
<!-- content -->
<div id="{concat('modalCardDetailImage',$ergebniselement_ordnr)}">
Picture placeholder
</div>
</section>
<footer class="modal-card-foot">
<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 != ''">
<span class="feldname">
<xsl:choose>
<xsl:when test="string-length(caption_short) &gt; 0 and caption_short != 'null'" >
<![CDATA[]]><xsl:value-of select="caption_short" /><![CDATA[]]>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@varname" />
</xsl:otherwise>
</xsl:choose></span>:&#160;
<xsl:if test="string-length(value_caption) &lt; 50">
<span class="feldwert"><xsl:value-of select="value_caption" /><![CDATA[]]></span>
</xsl:if>
<xsl:if test="string-length(value_caption) &gt; 49">
<span class="feldwert"><![CDATA[]]><xsl:value-of select="substring(value_caption,0,50)" /><![CDATA[]]>...</span>
</xsl:if>
<xsl:if test="sicht!=''">
<span><![CDATA[ (]]><xsl:value-of select="sicht" />
<xsl:if test="@stand!=''"><xsl:text> - Stand:</xsl:text><xsl:value-of select="@stand"/></xsl:if>
<xsl:text><![CDATA[)]]> </xsl:text></span>
</xsl:if>
;
</xsl:if>
</xsl:for-each>
User: <xsl:value-of select="/ergebnisse/user"/>&#160;
Stand: <xsl:value-of select="../stand" /></p>
<xsl:if test="../hinweis != ''">
<xsl:call-template name="newline_to_br">
<xsl:with-param name="string" select="../hinweis" />
</xsl:call-template>
</xsl:if>
<p align="right"><a href="{concat('javascript:closeModalCardDetail(',$ergebniselement_ordnr,');')}">
<span class="button is-black is-outlined"> X </span>
</a></p>
</footer>
</div>
</div>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
<xsl:template name="viewer_kachel">
<xsl:param name="caption" />
<xsl:param name="ergebniselement_ordnr" />
<div class="card is-shady">
<div class="card-image">
<div id="{concat('chartDiv',$ergebniselement_ordnr)}">
Platzhalter
</div>
</div>
<p>
<a onClick="{concat('javascript:openModalImage(',$ergebniselement_ordnr,');')}">
<span class="button is-success is-small modal-button">Vergrößern ...</span></a>
<a onClick="{concat('javascript:openModalCardDetail(',$ergebniselement_ordnr,');')}">
<span class="button is-link is-inverted is-small modal-button">Mehr Infos ...</span></a>
</p>
</div>
</xsl:template>
<!-- Templates für Maskenfelder in Tabellen: -->
<xsl:template name="renderTableDialogs" >
<div class="card var(--bulma-card-background-color)" style="margin-top:5em;">
<form name="Weiterverarbeitung" method="post" target="_self" charset="UTF-8" action="SuperXmlTabelle">
<div class="card-content">
<input name="navi" type="hidden" value="{/ergebnisse/@showNavigation}" />
<input type="hidden" name="tid">
<xsl:choose>
<xsl:when test="/ergebnisse/@isMakro='true'">
<xsl:attribute name="value"><xsl:value-of select="/ergebnisse/makro/@id" /></xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="value"><xsl:value-of select="/ergebnisse/ergebnis/maskenname/@id" /></xsl:attribute>
</xsl:otherwise>
</xsl:choose>
</input>
<input type="hidden" name="UserID"><xsl:attribute name="value"><xsl:value-of select="/ergebnisse/userID" /></xsl:attribute></input>
<input type="hidden" name="reuseresult" value="true"/> <!-- gecachte Ergebnis benutzen-->
<input type="hidden" name="maxoffset" value=""/> <!--im Normalfall wird Servleteinstellung genutzt - nur Druckversion übergibt Wert-->
<input type="hidden" name="offset">
<xsl:attribute name="value"><xsl:value-of select="/ergebnisse/ergebnis/ergebniselement/sqlerg/@offset" /></xsl:attribute>
</input>
<input type="hidden" name="stylesheet" value="" />
<input type="hidden" name="contenttype" value="" />
<!-- MB 5/2011 fuer Export nur sichtbarer Tabellenzeilen nach Excel/PDF -->
<input type="hidden" name="irowno" value="" />
<!-- Start Schleife alle Maskenfelder-->
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/completefields/feld">
<xsl:variable name="feldname"><xsl:value-of select="@varname" /></xsl:variable>
<xsl:variable name="feldnameEscaped"><xsl:call-template name="create_varname"><xsl:with-param name="string"><xsl:value-of select="@varname"/></xsl:with-param></xsl:call-template></xsl:variable>
<xsl:variable name="feldart">
<xsl:call-template name="getFeldArt">
<xsl:with-param name="feldname" select="$feldname"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="feldHidden">
<xsl:call-template name="getFeldHidden">
<xsl:with-param name="feldname" select="$feldname"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="feldZeilenanzahl">
<xsl:call-template name="getFeldZeilenanzahl">
<xsl:with-param name="feldname" select="$feldname"/>
</xsl:call-template>
</xsl:variable>
<xsl:choose>
<xsl:when test="$feldname='##line##'">
<!-- do nothing-->
</xsl:when>
<xsl:when test="$feldHidden='true' or $feldname='tablestylesheet'">
<!--verstecktesFeld-->
<xsl:text disable-output-escaping="yes"><![CDATA[<input type="hidden" name="]]></xsl:text><xsl:value-of disable-output-escaping="no" select="@varname"/><xsl:text>" value="</xsl:text>
<xsl:value-of disable-output-escaping="no" select="value"/><xsl:text>"</xsl:text>
<xsl:text disable-output-escaping="yes"><![CDATA[</input>
]]></xsl:text>
</xsl:when>
<xsl:when test="$feldart='1' or $feldart='12'">
<xsl:call-template name="tabellenFeldComboOderSicht">
<xsl:with-param name="maskeninfo_id" select="/ergebnisse/ergebnis[@ordnr='0']/maskenname/@id"/>
<xsl:with-param name="Feldname" select="$feldname"/>
<xsl:with-param name="FeldnameEscaped" select="$feldnameEscaped"/>
<xsl:with-param name="feldZeilenanzahl" select="$feldZeilenanzahl"/>
<xsl:with-param name="feldart" select="$feldart"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise><xsl:value-of select="concat('Feld ',$feldname,' ist nicht geeignet für Tabellenaufrufe')"/>
<br />
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
<div class="field">
<button class="button is-primary is-outlined" type="submit" onclick="document.forms['Weiterverarbeitung'].elements['reuseresult'].value='false';document.forms['Weiterverarbeitung'].elements['stylesheet'].value='tabelle_html_viz.xsl';return true;">
Neu laden...
</button>
<!--<input type="submit" class="sx_buttondiv_submit" value="Neu laden..." onclick="document.forms['Weiterverarbeitung'].elements['reuseresult'].value='false';document.forms['Weiterverarbeitung'].elements['stylesheet'].value='tabelle_html_viz.xsl';return true;" />-->
</div>
</div>
</form>
</div>
</xsl:template>
<xsl:template name="tabelleSicht">
<div dojoType="dialog" id="sichtdlg" bgColor="darkgray" bgOpacity="0.7" toggle="fade" toggleDuration="100"
closeNode="ok" style="z-index:1012;display:none">
<form name="treedlgform" onsubmit="return false;">
<center>
<table align="center" cellpadding="0">
<tr><td colspan="2" class="header" id="sichtElementName" align="center">Auswahl</td></tr>
<tr>
<td id="sicht" class="sichtstand" align="center"><b>Sicht:</b> ausgewählte Sicht</td><td id="sichtbutton" class="sichtstand"><input class="submit_pencil" id="Sichtauswahl" type="button" value="Sichtauswahl" onclick="sichtauswahl.show()"></input></td>
</tr>
<tr><td id="stand" class="sichtstand" align="center"><b>Stand:</b> 1.1.2007</td><td id="standbutton" class="sichtstand"><input class="submit_pencil" id="Standauswahl" type="button" value="ändern" onclick="dojo.widget.byId('Standeingabedlg').show();"></input></td>
</tr>
</table>
</center>
<div
dojoType="TreeSelectorV3"
widgetId="treeSelector"
allowedMulti="false"
id="treeSelector" eventNames="select:nodeSelected">
<xsl:text> </xsl:text>
</div>
<div dojoType="TreeEmphasizeOnSelect" selector="treeSelector"></div>
<div dojoType="memtext:TreeLoadingControllerSx" id="treeLoadingController" widgetId="treeLoadingController">
<xsl:attribute name="RPCUrl">/superx/servlet/SuperXmlMaske?tid=<xsl:value-of select="/ergebnisse/ergebnis[@ordnr='0']/maskenname/@id"/></xsl:attribute>
</div>
<div style="height:325px;overflow:scroll"><!-- IE needs non-dojo div vor scrolling-->
<div dojoType="memtext:MemTree" widgetId="selTree" id="selTree" listeners="treeLoadingController;treeSelector">
<div dojoType="TreeNodeV3" title="keine Auswahl möglich" ></div>
</div>
</div>
<br/>
<center>
<label id="sichthintmulti">Sie können einen oder mehrere Einträge auswählen (<a href="javascript:alert('Halten Sie beim Anklicken Strg gedrückt, um mehrere Einträge auszuwählen.');">Hinweis</a>)</label>
<p align="center">
<input type="button" class="submit"
onclick="document.getElementById('suchok').style.display='';document.getElementById('suchselect').style.display='none';document.getElementById('suchuebernehmen').style.display='none';dojo.widget.byId('suchdlg').show();"
value="Suchen"></input>&#160;
</p>
<p align="center">
<input type="button" id="abbrechen" class="submit" onclick="sichtdlg.hide();zeigeCombosIE6();" value="Abbrechen"></input>&#160;
<input type="button" id="ok" class="submit" onclick="maskeSichtauswahlUebernehmen();" value="OK"></input>&#160;&#160;&#160;&#160;&#160;
<input type="button" id="leeren" class="submit" onclick="dojo.widget.byId('treeSelector').deselectAll();maskeSichtauswahlUebernehmen();sichtdlg.hide();" value="Leeren"></input>
</p>
</center>
</form>
</div>
<div dojoType="dialog" id="sichtauswahl" bgColor="darkgray" bgOpacity="0.7" toggle="fade" toggleDuration="100" closeNode="ok"
style="z-index:1014;display:none">
<h3 align="center">Sicht auswählen</h3>
<form name="sichtauswahlform">
<p align="center">
<select name="sichtselect">
<option value="-999">keine Auswahl möglich</option>
</select>
</p>
<p align="center">
<input type="button" class="clsButtonStyle" id="abbrechen2" onclick="sichtauswahl.hide()" value="Abbrechen">&#160;</input>
<input type="button" id="ok2" class="clsButtonStyle" onclick="maskeSichtAendern()" value="OK"></input>
</p>
</form>
</div>
<!-- end sicht -->
<!-- start suchdlg -->
<div dojoType="dialog" id="suchdlg" bgColor="darkgray" bgOpacity="0.7" toggle="fade" toggleDuration="100" style="z-index:1015;display:none">
<h3 align="center">Suche</h3>
<form name="suchform" onsubmit="return false;"> <!-- theoretisch könnte man form sogar weglassen, weil gar nicht gepostet werden soll -->
<p align="center">
<input type="text" id="suchtext" onkeypress="enterClicksButton('suchok',event)"></input>
</p>
<p align="center">
<select id="suchselect" size="10">
</select>
</p>
<p align="center">
<input type="button" class="clsButtonStyle" id="abbrechen" onclick="dojo.widget.byId('suchdlg').hide();" value="Abbrechen">&#160;</input>
<input type="button" id="suchok" class="clsButtonStyle" onclick="sichtEintraegeSuchen(document.getElementById('suchtext').value);" value="OK"></input>
<input type="button" id="suchuebernehmen" class="clsButtonStyle" onclick="dojo.widget.byId('suchdlg').hide();combodlg.hide();sichtdlg.hide();suchauswahlUebernehmen();" value="Übernehmen"></input>
</p>
</form>
</div>
<!-- end suchdlg -->
</xsl:template>
<xsl:template name="tabellenFeldComboOderSicht">
<xsl:param name="maskeninfo_id" />
<xsl:param name="Feldname" />
<xsl:param name="FeldnameEscaped" />
<xsl:param name="feldZeilenanzahl" select="1"/>
<xsl:param name="feldart" select="1"/>
<xsl:variable name="jsCall"><xsl:text>vizTabelleComboOderSichtLaden(</xsl:text>
<xsl:value-of select="$maskeninfo_id" />
<xsl:text>,'</xsl:text>
<xsl:value-of select="$Feldname"/>
<xsl:text>','</xsl:text>
<xsl:value-of select="$Feldname"/>
<xsl:text>','</xsl:text>
<xsl:value-of select="$FeldnameEscaped"/>
<xsl:text>',</xsl:text>
<xsl:value-of select="$feldZeilenanzahl"/>
<xsl:text>,'</xsl:text>
<xsl:value-of select="$feldart"/>
<xsl:text>');</xsl:text>
</xsl:variable>
<div class="field is-grouped">
<div class="label-container">
<p class="button-label">
<a class="button is-link is-outlined is-small is-fullwidth">
<xsl:attribute name="onClick">
<xsl:value-of select="$jsCall"/>
</xsl:attribute>
<xsl:value-of select="$Feldname"/></a>
</p>
</div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<div class="field-body">
<p class="control-new ">
<input class="schluesselfeld" type="text" size="15" style="display:none" id="{$FeldnameEscaped}" name="{$Feldname}" tabindex="511">
<xsl:attribute name="value"><xsl:value-of select="/*/*/felder/feld [@varname = $Feldname]/value"/></xsl:attribute>
</input>
<input class="input is-small is-fullwidth" type="label" readonly="true" name="{concat('label_',$FeldnameEscaped)}" id="{concat('label_',$FeldnameEscaped)}">
<xsl:attribute name="onclick"><xsl:value-of select="$jsCall"/>
</xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="/*/*/felder/feld [@varname = $Feldname]/value_caption"/></xsl:attribute>
</input>
<xsl:if test="$feldart='12'">
<input type="hidden">
<xsl:attribute name="value">
<xsl:choose>
<xsl:when test="../../felder/feld[@varname=$Feldname]/@stand !=''">
<xsl:value-of select="../../felder/feld[@varname=$Feldname]/@stand"/>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="value"><xsl:value-of select="'01.01.2024'"/>
</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:attribute name="name">
<xsl:value-of select="concat($Feldname,'-Stand')"/>
</xsl:attribute>
</input>
<input type="hidden">
<xsl:attribute name="name">
<xsl:value-of select="concat($Feldname,'-Sicht')"/>
</xsl:attribute>
<xsl:attribute name="value">
<xsl:value-of select="../../felder/feld[@varname=$Feldname]/sicht/@name_intern"/>
</xsl:attribute>
</input>
</xsl:if>
</p>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<!--<span class="info" onclick="window.open('https://super-ics.de/superx/doku/kern_modul/admin/f_Patcheinspielen.htm','_blank','directories=no,location=no,menubar=no,scrollbars=yes,resizable=yes,toolbar=no,width=800,height=660'); ">
<figure class="image is-24x24">
<img src="../images/information_grey_liberation.svg" />
</figure>
</span>-->
</div>
</div>
</xsl:template>
<xsl:template name="getFeldArt">
<xsl:param name="feldname" />
<xsl:value-of select="/ergebnisse/ergebnis[@ordnr='0']/completefields/feld[@varname=$feldname]/@art"/>
</xsl:template>
<xsl:template name="getFeldHidden">
<xsl:param name="feldname" />
<xsl:value-of select="/ergebnisse/ergebnis[@ordnr='0']/completefields/feld[@varname=$feldname]/@hidden"/>
</xsl:template>
<xsl:template name="getFeldZeilenanzahl">
<xsl:param name="feldname" />
<xsl:value-of select="/ergebnisse/ergebnis[@ordnr='0']/completefields/feld[@varname=$feldname]/@zeilenanzahl"/>
</xsl:template>
<xsl:template name="tableMaskenfelderJS">
<script language="Javascript"><xsl:text><![CDATA[
var felder = new Array();
]]></xsl:text>
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/completefields/feld">
<xsl:text>felder[</xsl:text><xsl:value-of select="position()" /><xsl:text>]= new Object();
felder[</xsl:text><xsl:value-of select="position()" /><xsl:text>]["htmlname"]='</xsl:text><xsl:value-of select="@varname"/><xsl:text>';
felder[</xsl:text><xsl:value-of select="position()" /><xsl:text>]["name"]='</xsl:text><xsl:call-template name="create_varname"><xsl:with-param name="string"><xsl:value-of select="@varname"/></xsl:with-param></xsl:call-template><xsl:text>';
</xsl:text>
</xsl:for-each>
</script>
</xsl:template>
<xsl:template name="getChartModel">
<xsl:param name="chart_id" />
<xsl:param name="useMiniatureIfAvailable" select="'true'"/>
<xsl:variable name="chartModel">
<xsl:choose>
<xsl:when test="$useMiniatureIfAvailable='true' and viz_charts/viz_chart[@tid=$chart_id]/@chartmodel_miniature !=''">
<xsl:value-of select="viz_charts/viz_chart[@tid=$chart_id]/@chartmodel_miniature"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="viz_charts/viz_chart[@tid=$chart_id]/@chartmodel"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:value-of select="translate($chartModel,'§',$quote)"/>
</xsl:template>
</xsl:stylesheet> </xsl:stylesheet>

177
superx/xml/viz_html_chart.xsl

@ -1,72 +1,89 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" <xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util.HtmlUtils"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util.HtmlUtils">
<xsl:import href="xsl_functions.xsl" />
<xsl:import href="resultset_html.xsl" /> <xsl:import href="resultset_html.xsl" />
<xsl:import href="interLinks_html.xsl" /> <xsl:import href="interLinks_html.xsl" />
<xsl:import href="nd_templates.xsl" />
<xsl:import href="pageComponents_html.xsl" /> <xsl:import href="pageComponents_html.xsl" />
<xsl:import href="pageComponents_html_final.xsl" />
<xsl:import href="menue_html_dojo.xsl" />
<xsl:import href="viz_components.xsl" /> <xsl:import href="viz_components.xsl" />
<!--In diesem Stylesheet können Sie individuelle templates unterbringen, <!--In diesem Stylesheet können Sie individuelle templates unterbringen,
die in ihrer Präzedenz das normale Stylesheet die in ihrer Präzedenz das normale Stylesheet
pageComponents_html.xsl überragt. --> pageComponents_html.xsl überragt. -->
<xsl:import href="pageComponents_html_final.xsl" /> <xsl:import href="pageComponents_html_final.xsl" />
<xsl:decimal-format name="German" grouping-separator="." NaN="" zero-digit ="0" decimal-separator="," /> <xsl:decimal-format name="German" grouping-separator="." NaN="" zero-digit ="0" decimal-separator="," />
<!-- wichtig für DOJO!--> <!-- wichtig für DOJO!-->
<xsl:output method="xml" media-type="text/html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" <xsl:output method="xml" media-type="text/html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="DTD/xhtml1-strict.dtd" cdata-section-elements="script style" indent="yes" encoding="UTF-8"/> doctype-system="DTD/xhtml1-strict.dtd" cdata-section-elements="script style" indent="yes" encoding="UTF-8"/>
<xsl:variable name="colon"><xsl:text>'</xsl:text></xsl:variable>
<xsl:variable name="defaultRenderer" select="'plot'" /> <xsl:variable name="defaultRenderer" select="'plot'" />
<xsl:variable name="availableRendererPlot" select="'true'" /> <xsl:variable name="availableRendererPlot" select="'true'" />
<xsl:variable name="availableRendererD3" select="'true'" /> <xsl:variable name="availableRendererD3" select="'true'" />
<xsl:template match="/">
<xsl:call-template name="table"/>
</xsl:template>
<!-- start table main--> <xsl:template match="/">
<xsl:template name="table"> <xsl:variable name="maskenname">
<html> <xsl:choose>
<xsl:choose> <xsl:when test="/ergebnisse/@isMakro='true'">
<xsl:when test="/ergebnisse/@hisinone_active='true'"> <xsl:value-of select="/ergebnisse/makro/name" />
<xsl:call-template name="head_hisinone_viz" ><xsl:with-param name="title" select="concat('Ergebnis ',/ergebnisse/ergebnis[ position()=1]/maskenname)" /></xsl:call-template>
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
<xsl:call-template name="head_superx_viz" ><xsl:with-param name="title" select="concat('Ergebnis ',/ergebnisse/ergebnis[ position()=1]/maskenname)" /></xsl:call-template> <xsl:value-of select="/ergebnisse/ergebnis/maskenname" />
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:variable>
<html>
<head>
<xsl:call-template name="nd_htmlhead">
<xsl:with-param name="title" select="concat('Tabelle ',$maskenname)" />
</xsl:call-template>
<link rel="stylesheet" href="../style/sx_tabelle.css" />
<!--<link rel="stylesheet" href="../style/superx.css" />-->
</head>
<xsl:call-template name="nd_htmlscript" />
<xsl:call-template name="nd_tableJavascript" />
<xsl:call-template name="nd_tableCSS" />
<xsl:call-template name="tableJavascript_viz"></xsl:call-template> <xsl:call-template name="tableJavascript_viz"></xsl:call-template>
<!-- start Body--> <body class="has-navbar-fixed-top" onload="document.getElementById('progressbar').style.display='none';tableonload();initThemenbaumJs();">
<body onload="document.getElementById('progressbar').style.display='none';"> <!-- tableonload definiert in pageComponents.pccustomize position table_post_javascript --> <!--#Template Beginn Top-Navigation-->
<div id="progressbar" style="position:absolute; width:150px; height:150px; left:200px; top:200px; background:#AAAAAA"> <xsl:call-template name="nd_navi_top" />
<p>&#160;<b>Laden...</b><br/><img src="../images/progress_bar.gif"></img><br/></p></div> <!--#Template Ende Top-Navigation-->
<xsl:if test="/ergebnisse/@showNavigation='true'"> <div class="columns">
<xsl:for-each select="/ergebnisse/menue">
<xsl:call-template name="menuFrame" /> <!--#Template Beginn Navigations-Panel Auswertungen-->
</xsl:for-each> <xsl:if test="/ergebnisse/@showNavigation='true' and 1=0"><!-- erstmal kein Panel,weil der Asssistent schon recht breit ist -->
</xsl:if> <xsl:for-each select="/ergebnisse">
<div> <xsl:call-template name="nd_navi_panel" />
<xsl:if test="/ergebnisse/@showNavigation='true'"> </xsl:for-each>
<xsl:attribute name="class"><xsl:text>page-wrap</xsl:text></xsl:attribute>
<xsl:for-each select="/ergebnisse/menue">
<xsl:call-template name="topbar_menue" />
</xsl:for-each>
</xsl:if> </xsl:if>
<!--#Template Ende Navigations-Panel Auswertungen-->
<!--Beginn Seitentitel, Krümelpfad, Knopfleiste, Legende, Erläuterung-->
<section class="hero-body">
<div class="container">
<div class="columns is-mobile is-left">
<div class="column is-full">
<div class="card ">
<div class="card-content">
<xsl:call-template name="nd_progressbar" />
<div>
<xsl:if test="/ergebnisse/@showNavigation='true'">
<xsl:attribute name="id"><xsl:text>wrapper</xsl:text></xsl:attribute>
</xsl:if>
<xsl:call-template name="viz_canvas"/> <xsl:call-template name="viz_canvas"/>
<xsl:call-template name="bottombar" /> <xsl:call-template name="bottombar" />
<xsl:comment>customfooter</xsl:comment> <xsl:comment>customfooter</xsl:comment>
</div> </div> <!--Ende content -->
</div> </div> <!--Ende card-content-->
<xsl:call-template name="footer" /> </div> <!--Ende card-background -->
</div> <!--Ende column-->
</div> <!--Ende hero-columns-->
</section> <!--Ende hero = Berichts-Card-->
</div> <!--Ende site-columns-->
</body> </body>
<!-- end body --> <!-- end body -->
</html> </html>
@ -91,9 +108,9 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<!--Beginn Selektions-Card--> <!--Beginn Selektions-Card-->
<!--Beginn Berichtstitel, Pfad, Knopfleiste--> <!--Beginn Berichtstitel, Pfad, Knopfleiste-->
<section class="hero-body has-background-light"> <section class="hero-body has-background-light">
<div class="columns is-mobile is-left"> <!--<div class="columns is-mobile is-left">
<div class="card has-background-light"> <div class="card has-background-light">
<div class="card-content"> <div class="card-content">-->
<p class="title is-4">Konfigurationsassistent Datenvisualisierung</p> <p class="title is-4">Konfigurationsassistent Datenvisualisierung</p>
<!--Beginn NavTabs--> <!--Beginn NavTabs-->
@ -131,9 +148,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
</div><!--tab-content --> </div><!--tab-content -->
</div> <!-- card-content -->
</div><!--card -->
</div> <!-- column -->
</section> </section>
</xsl:for-each> </xsl:for-each>
</xsl:template> </xsl:template>
@ -289,8 +304,8 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<!--footer--> <!--footer-->
<footer class="card-footer"> <footer class="card-footer">
<!--<p class="card-footer-item"><button class="button is-link is-outlined is-small" onclick="selectionResultPreview('selectionResultPreviewTable');">Daten-Vorschau</button></p>--> <!--<p class="card-footer-item"><button class="button is-link is-outlined is-small" onclick="selectionResultPreview('selectionResultPreviewTable');">Daten-Vorschau</button></p>-->
<p class="card-footer-item"><button class="button is-link is-outlined is-small" type="submit">Speichern</button></p> <!--<p class="card-footer-item"><button class="button is-link is-outlined is-small" type="submit">Speichern</button></p>
<p class="card-footer-item"><button class="button is-link is-outlined is-small" type="reset">Zurücksetzen</button></p> <p class="card-footer-item"><button class="button is-link is-outlined is-small" type="reset">Zurücksetzen</button></p>-->
</footer> </footer>
</xsl:template> </xsl:template>
@ -350,6 +365,9 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<!-- Beginn Grafikelemente+ Vorschau--> <!-- Beginn Grafikelemente+ Vorschau-->
<div class="columns"> <div class="columns">
<div class="column is-four-fifth"> <div class="column is-four-fifth">
<!-- Box Grafikelemente --> <!-- Box Grafikelemente -->
<div class="field is-grouped"> <div class="field is-grouped">
<div class="label-container"> <div class="label-container">
@ -369,30 +387,49 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<div id="ChartElementsDiv" style="display:none" class="box"> <div id="ChartElementsDiv" style="display:none" class="box">
<div class="field is-grouped"> <div class="field is-grouped">
<div class="label-container"> <div class="label-container" lang="de"><span class="labelNormal has-tooltip-bottom" data-tooltip="Nur für Grafiktool Plot: Übersicht Grafikelemente, wählen Sie ein Element zum Bearbeiten, oder erzeugen einen neuen Grafikelementtyp. Sie können auch mehrere erzeugen bzw. entfernen mit dem + bzw - Button">
<label class="label is-required is-small">Grafikelemente-Set</label> Grafikelement</span></div>
<div class="control">
<div class="field"><div class="control is-expanded">
<div class="select is-small is-fullwidth is-focused">
<select id="chartElementID" name="chartElementID"
onchange="loadChartElementConfig(this);">
<option>Bitte fügen Sie ein Element ein</option>
</select>
<input class="is-small" type="hidden" size="1" name="vizElementCounter" id="vizElementCounter" value="0" readonly="readonly" style="background-color:#cccccc;"/>
</div> </div>
</div>
<!--<div id="ChartElementListDiv"></div>--> <div class="control">
<div id="ChartElementListFooterDiv"><!--Elemente:--> <input class="is-small" type="text" size="1" name="vizElementCounter" id="vizElementCounter" value="0" readonly="readonly" style="background-color:#cccccc;"/>
<a onClick="createChartElementConfig1Form(document.getElementById('fldVizRenderer').value,null)"> <a onClick="createChartElementConfig1Form(document.getElementById('fldVizRenderer').value,null)">
<img src="../images/plus-circled.svg" width="12" height="12" title="Neues Element anlegen" /> <img src="../images/plus-circled.svg" width="12" height="12" title="Neues Element anlegen" />
</a> </a>
<span class="separator">&#160;</span> <span class="separator">&#160;</span>
<a onClick="removeChartElementConfig()"> <a onClick="removeChartElementConfig()">
<img src="../images/minus-circled.svg" width="12" height="12" title="Letztes Element entfernen" /> <img src="../images/minus-circled.svg" width="12" height="12" title="Ausgewähltes Element entfernen" />
</a> </a>
</div>
</div> </div>
</div> </div>
</div><!--ende Feld Grafikelemente-->
<!--<div id="ChartElementListDiv"></div>-->
<div id="ChartElementConfig1Div"> </div> <div id="ChartElementConfig1Div"> </div>
<div id="ChartElementConfig2Div"> </div> <div id="ChartElementConfig2Div"> </div>
</div> <!--Ende Grafikelemente--> </div> <!--Ende Grafikelemente-->
<!--Beginn Layoutmerkmale--> <!--Beginn Layoutmerkmale-->
<div class="field is-grouped"> <div class="field is-grouped">
<div class="label-container"> <div class="label-container">
<label class="label is-required is-small"><strong>Layoutmerkmale</strong></label> <label class="label is-required is-small"><strong>Allgem. Layoutmerkmale</strong></label>
</div> </div>
<span class="separator">&#160;</span> <span class="separator">&#160;</span>
@ -405,10 +442,9 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
</a> </a>
</div> </div>
<div id="generalChartPropertiesFormDiv" style="display:none"> <div id="generalChartPropertiesFormDiv" class="box" style="display:none">
<div id="generalChartPropertiesFormElementsDiv"> </div> <div id="generalChartPropertiesFormElementsDiv"> </div>
</div> </div>
<!--Beginn Quellcode--> <!--Beginn Quellcode-->
<div class="field is-grouped"> <div class="field is-grouped">
<div class="label-container"> <div class="label-container">
@ -569,7 +605,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<!--footer (BF nach unten verschoben)--> <!--footer (BF nach unten verschoben)-->
<footer class="card-footer"> <footer class="card-footer">
<p class="card-footer-item"><button class="button is-link is-outlined is-small" type="submit" onClick="showSaveChartFormDiv('saveChartFormDiv','plot');">Speichern...</button></p> <!--<p class="card-footer-item"><button class="button is-link is-outlined is-small" type="submit" onClick="showSaveChartFormDiv('saveChartFormDiv','plot');">Speichern...</button></p>-->
<!--<p class="card-footer-item"><button class="button is-link is-outlined is-small" type="reset" onClick="return resetChartPropertiesForm('plot');">Zurücksetzen</button></p>--> <!--<p class="card-footer-item"><button class="button is-link is-outlined is-small" type="reset" onClick="return resetChartPropertiesForm('plot');">Zurücksetzen</button></p>-->
<div id="saveChartFormDiv" style="display:none"> <div id="saveChartFormDiv" style="display:none">
<form name="saveChart" target="_blank" action="../edit/viz/viz_chart_erzeugen.jsp"> <form name="saveChart" target="_blank" action="../edit/viz/viz_chart_erzeugen.jsp">
@ -620,7 +656,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<span class="separator">&#160;</span> <span class="separator">&#160;</span>
<span class="separator">&#160;</span> <span class="separator">&#160;</span>
<input type="submit" class="button is-link is-outlined is-small" value="Speichern"></input> <!--<input type="submit" class="button is-link is-outlined is-small" value="Speichern"></input>-->
</div> </div>
@ -762,35 +798,6 @@ Stand: <xsl:value-of select="../stand" /></p>
</div> </div>
</xsl:template> </xsl:template>
<xsl:template name="viewer_kachel">
<xsl:param name="caption" />
<xsl:param name="ergebniselement_ordnr" />
<div class="card is-shady">
<div class="card-image">
<div id="{concat('chartDiv',$ergebniselement_ordnr)}">
Platzhalter
</div>
</div>
<p>
<a onClick="{concat('javascript:openModalImage(',$ergebniselement_ordnr,');')}">
<span class="button is-success is-small modal-button">Vergrößern ...</span></a>
<a onClick="{concat('javascript:openModalCardDetail(',$ergebniselement_ordnr,');')}">
<span class="button is-link is-small modal-button">Mehr Infos ...</span></a>
</p>
<!-- <div class="card-content modal-button" data-target="modal-card11">
<div class="content">
<h4><xsl:value-of select="$caption" /></h4>
<p> </p>
<xsl:call-template name="legende_viz" >
<xsl:with-param name="ordnr" select="$ergebniselement_ordnr" />
</xsl:call-template>-->
</div>
</xsl:template>
</xsl:stylesheet> </xsl:stylesheet>

344
superx/xml/viz_html_chart_viewer.xsl

@ -1,143 +1,106 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" <xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util.HtmlUtils"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util.HtmlUtils">
<xsl:import href="xsl_functions.xsl" />
<xsl:import href="resultset_html.xsl" /> <xsl:import href="resultset_html.xsl" />
<xsl:import href="interLinks_html.xsl" /> <xsl:import href="interLinks_html.xsl" />
<xsl:import href="nd_templates.xsl" />
<xsl:import href="pageComponents_html.xsl" /> <xsl:import href="pageComponents_html.xsl" />
<xsl:import href="viz_html_chart.xsl" />
<xsl:import href="viz_components.xsl" /> <xsl:import href="viz_components.xsl" />
<xsl:import href="menue_html_dojo.xsl" />
<!--In diesem Stylesheet können Sie individuelle templates unterbringen, <!--In diesem Stylesheet können Sie individuelle templates unterbringen,
die in ihrer Präzedenz das normale Stylesheet die in ihrer Präzedenz das normale Stylesheet
pageComponents_html.xsl überragt. --> pageComponents_html.xsl überragt. -->
<xsl:import href="pageComponents_html_final.xsl" /> <xsl:import href="pageComponents_html_final.xsl" />
<xsl:decimal-format name="German" grouping-separator="." NaN="" zero-digit ="0" decimal-separator="," /> <xsl:decimal-format name="German" grouping-separator="." NaN="" zero-digit ="0" decimal-separator="," />
<!-- wichtig für DOJO!--> <!-- wichtig für DOJO!-->
<xsl:output method="xml" media-type="text/html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" <xsl:output method="xml" media-type="text/html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="DTD/xhtml1-strict.dtd" cdata-section-elements="script style" indent="yes" encoding="UTF-8"/> doctype-system="DTD/xhtml1-strict.dtd" cdata-section-elements="script style" indent="yes" encoding="UTF-8"/>
<xsl:variable name="defaultRenderer" select="'d3js'" />
<xsl:variable name="availableRendererPlot" select="'false'" /> <xsl:variable name="colon"><xsl:text>'</xsl:text></xsl:variable>
<xsl:variable name="quote"><xsl:text>"</xsl:text></xsl:variable>
<xsl:variable name="colwidth"><xsl:text>is-full</xsl:text></xsl:variable>
<xsl:variable name="defaultRenderer" select="'plot'" />
<xsl:variable name="availableRendererPlot" select="'true'" />
<xsl:variable name="availableRendererD3" select="'true'" /> <xsl:variable name="availableRendererD3" select="'true'" />
<xsl:template match="/"> <xsl:template match="/">
<xsl:call-template name="table"/> <xsl:variable name="maskenname">
</xsl:template> <xsl:choose>
<!-- start table main--> <xsl:when test="/ergebnisse/@isMakro='true'">
<xsl:template name="table"> <xsl:value-of select="/ergebnisse/makro/name" />
<html>
<xsl:choose>
<xsl:when test="/ergebnisse/@hisinone_active='true'">
<xsl:call-template name="head_hisinone" ><xsl:with-param name="title" select="concat('Ergebnis ',/ergebnisse/ergebnis[ position()=1]/maskenname)" /></xsl:call-template>
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
<xsl:call-template name="head_superx_viz" ><xsl:with-param name="title" select="concat('Ergebnis ',/ergebnisse/ergebnis[ position()=1]/maskenname)" /></xsl:call-template> <xsl:value-of select="/ergebnisse/ergebnis/maskenname" />
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:variable>
<html>
<head>
<xsl:call-template name="nd_htmlhead">
<xsl:with-param name="title" select="concat('Tabelle ',$maskenname)" />
</xsl:call-template>
<xsl:call-template name="tableJavascript_viz"></xsl:call-template> <link rel="stylesheet" href="../style/sx_tabelle.css" />
<!--<link rel="stylesheet" href="../style/superx.css" />-->
<!-- start Body--> </head>
<body onload="document.getElementById('progressbar').style.display='none';initPage();"> <!-- tableonload definiert in pageComponents.pccustomize position table_post_javascript --> <xsl:call-template name="nd_htmlscript" />
<div id="progressbar" style="position:absolute; width:150px; height:150px; left:200px; top:200px; background:#AAAAAA"> <xsl:call-template name="nd_tableJavascript" />
<p>&#160;<b>Laden...</b><br/><img src="../images/progress_bar.gif"></img><br/></p></div> <xsl:call-template name="nd_tableCSS" />
<xsl:call-template name="importVizJavascriptLibsViewer"></xsl:call-template>
<xsl:if test="/ergebnisse/@showNavigation='true'"> <body class="has-navbar-fixed-top" onload="document.getElementById('progressbar').style.display='none';initPage();">
<xsl:for-each select="/ergebnisse/menue"> <!--#Template Beginn Top-Navigation-->
<xsl:call-template name="menuFrame" /> <xsl:call-template name="nd_navi_top" />
</xsl:for-each> <!--#Template Ende Top-Navigation-->
</xsl:if>
<div> <div class="columns">
<xsl:if test="/ergebnisse/@showNavigation='true'">
<xsl:attribute name="class"><xsl:text>page-wrap</xsl:text></xsl:attribute> <!--#Template Beginn Navigations-Panel Auswertungen-->
<xsl:for-each select="/ergebnisse/menue"> <xsl:if test="/ergebnisse/@showNavigation='true' and 1=0"><!-- erstmal kein Panel,weil der Asssistent schon recht breit ist -->
<xsl:call-template name="topbar_menue" /> <xsl:for-each select="/ergebnisse">
</xsl:for-each> <xsl:call-template name="nd_navi_panel" />
</xsl:for-each>
</xsl:if> </xsl:if>
<!--#Template Ende Navigations-Panel Auswertungen-->
<!--Beginn Seitentitel, Krümelpfad, Knopfleiste, Legende, Erläuterung-->
<section class="hero-body">
<div class="container">
<div class="columns is-mobile is-left">
<div class="column is-full">
<div class="card ">
<div class="card-content">
<div> <xsl:call-template name="nd_progressbar" />
<xsl:if test="/ergebnisse/@showNavigation='true'">
<xsl:attribute name="id"><xsl:text>wrapper</xsl:text></xsl:attribute> <xsl:call-template name="viz_viewer"/>
</xsl:if>
<xsl:call-template name="viz_canvas"/>
<xsl:call-template name="bottombar" /> <xsl:call-template name="bottombar" />
<xsl:comment>customfooter</xsl:comment> <xsl:comment>customfooter</xsl:comment>
</div> </div> <!--Ende content -->
</div> </div> <!--Ende card-content-->
<xsl:call-template name="footer" /> </div> <!--Ende card-background -->
<xsl:call-template name="modalCards" /> </div> <!--Ende column-->
</div> <!--Ende hero-columns-->
</section> <!--Ende hero = Berichts-Card-->
</div> <!--Ende site-columns-->
<xsl:call-template name="modalCards" />
</body> </body>
<!-- end body --> <!-- end body -->
</html> </html>
</xsl:template> </xsl:template>
<!-- end main --> <!-- end main -->
<xsl:template name="importVizJavascriptLibs">
<script language="Javascript" type="text/javascript" src="../xml/js/viz/d3.min.js" />
<script language="Javascript" type="text/javascript" src="../xml/js/viz/plot.js" />
<script language="Javascript" type="text/javascript" src="../xml/js/viz/viz_functions.js" />
<script language="Javascript" type="module" src="../xml/js/viz/d3-sankey.js" />
<script language="Javascript" type="text/javascript">
<xsl:variable name="quote"><xsl:text>"</xsl:text></xsl:variable>
<xsl:text><![CDATA[
function initPage()
{
var myChartModelStr="";
var myDiv="";
]]></xsl:text>
<xsl:for-each select="ergebnisse">
<xsl:for-each select="ergebnis/ergebniselement">
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable>
<xsl:if test="$chart_id != ''">
<xsl:text><![CDATA[
myChartModelStr=']]></xsl:text>
<xsl:value-of select="translate(viz_charts/viz_chart[@tid=$chart_id]/@chartmodel,'§',$quote)" />
<xsl:text><![CDATA[';
myDiv="]]></xsl:text>
<xsl:value-of select="concat('chartDiv',$ergebniselement_ordnr)" />
<xsl:text><![CDATA[";
createViewer(myChartModelStr,myDiv);
myDiv="]]></xsl:text>
<xsl:value-of select="concat('modalCardImage',$ergebniselement_ordnr)" />
<xsl:text><![CDATA[";
createViewer(myChartModelStr,myDiv);
myDiv="]]></xsl:text>
<xsl:value-of select="concat('modalCardDetailImage',$ergebniselement_ordnr)" />
<xsl:text><![CDATA[";
createViewer(myChartModelStr,myDiv);
]]></xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
<xsl:text><![CDATA[
}
function createViewer(myChartModelStr,chartDiv)
{
myChartModel=JSON.parse(myChartModelStr);
renderChart(chartDiv,myChartModel);
}
function toggleLegendeDisplay(legendeDiv)
{
var myDiv=document.getElementById(legendeDiv);
if(myDiv.style.display=="block")
myDiv.style.display="none";
else
myDiv.style.display="block";
}
]]></xsl:text>
</script>
</xsl:template>
<xsl:template name="viz_canvas"> <xsl:template name="viz_viewer">
<xsl:param name="show_maskenfelder" select="'true'" />
<xsl:if test="/ergebnisse/@isMakro='true'"> <xsl:if test="/ergebnisse/@isMakro='true'">
<h1><xsl:value-of select="/ergebnisse/makro/name" /></h1> <h1><xsl:value-of select="/ergebnisse/makro/name" /></h1>
</xsl:if> </xsl:if>
@ -150,21 +113,6 @@ if(myDiv.style.display=="block")
z.B. 6 Grafiken ergibt einen Umbruch nach der 3. Teiltabelle z.B. 6 Grafiken ergibt einen Umbruch nach der 3. Teiltabelle
Formel: ANZ / 2 kaufm. gerundet Formel: ANZ / 2 kaufm. gerundet
--> -->
<xsl:variable name="spalten_anz">
<xsl:value-of select="max(number(/ergebnisse/ergebnis/felder/feld[@varname='Spaltenanzahl']/value))"/>
</xsl:variable>
<xsl:variable name="colwidth">
<xsl:value-of select="12 div $spalten_anz"/>
</xsl:variable>
<xsl:variable name="ergebniselemente_anz">
<xsl:value-of select="count(/ergebnisse/ergebnis[felder/feld[@varname='Grafik']])"/>
</xsl:variable>
<xsl:variable name="ergebniselemente_umbruch">
<xsl:value-of select="round($ergebniselemente_anz div max(number(/ergebnisse/ergebnis/felder/feld[@varname='Spaltenanzahl']/value)))"/>
</xsl:variable>
<!--<p>plan: <xsl:value-of select="/ergebnisse/ergebnis/felder/feld[@varname='Spaltenanzahl']/value"/>
</p>-->
<span class="separator">&#160;</span> <span class="separator">&#160;</span>
<!--Beginn Selektions-Card--> <!--Beginn Selektions-Card-->
<!--Beginn Berichtstitel, Pfad, Knopfleiste--> <!--Beginn Berichtstitel, Pfad, Knopfleiste-->
@ -189,116 +137,92 @@ Formel: ANZ / 2 kaufm. gerundet
</div> </div>
<!-- neue Zeile wenn counter mod Spaltenanz. =0 --> <!-- neue Zeile wenn counter mod Spaltenanz. =0 -->
<xsl:if test="$ergebniselement_counter &gt;= $spalten_anz and ($ergebniselement_counter mod $spalten_anz) =0">
<xsl:text disable-output-escaping="yes"><![CDATA[
</div>
</section>
<section class="container">
<div class="columns features is-mobile is-left">
]]></xsl:text>
</xsl:if>
</xsl:for-each> </xsl:for-each>
</div><!-- der columns --> </div><!-- der columns -->
</section><!-- der letzten Kartenreihe --> </section><!-- der letzten Kartenreihe -->
</section><!-- des Portals --> </section><!-- des Portals -->
</xsl:template> </xsl:template>
<xsl:template name="modalCards" > <!--<xsl:template name="viewer_kachel">
<xsl:for-each select="/ergebnisse"> <xsl:param name="caption" />
<xsl:for-each select="ergebnis/ergebniselement"> <xsl:param name="ergebniselement_ordnr" />
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable> <div class="card is-shady">
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable> <div class="card-image">
<xsl:if test="$chart_id != ''"> <div id="{concat('chartDiv',$ergebniselement_ordnr)}">
<div class="modal modal-fx-3dSlit" id="{concat('modalCard',$ergebniselement_ordnr)}"> Platzhalter
<div class="modal-background"></div> </div>
<div class="modal-content is-huge is-image">
<!-- content -->
<div class="modal-content">
<div class="box" style="text-align:right">
<a href="{concat('javascript:closeModalImage(',$ergebniselement_ordnr,');')}">
<span class="button is-black is-outlined"> X </span>
</a>
</div>
<div class="box">
<div id="{concat('modalCardImage',$ergebniselement_ordnr)}">
Picture placeholder
</div>
</div>
</div>
</div>
</div> </div>
<p>
<a onClick="{concat('javascript:openModalImage(',$ergebniselement_ordnr,');')}">
<span class="button is-success is-small modal-button">Vergrößern ...</span></a>
<div class="modal modal-fx-3dSlit" id="{concat('modalCardDetail',$ergebniselement_ordnr)}"> <a onClick="{concat('javascript:openModalCardDetail(',$ergebniselement_ordnr,');')}">
<div class="modal-background"></div> <span class="button is-link is-small modal-button">Mehr Infos ...</span></a>
<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>
</div>
<!-- content -->
<div class="card">
<div class="card-image">
<div id="{concat('modalCardDetailImage',$ergebniselement_ordnr)}">
Picture placeholder
</div>
</div>
<div class="card-content"> </p>
<div class="media">
<div class="media-content">
<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 != ''">
<span class="feldname">
<xsl:choose>
<xsl:when test="string-length(caption_short) &gt; 0 and caption_short != 'null'" >
<![CDATA[]]><xsl:value-of select="caption_short" /><![CDATA[]]>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@varname" />
</xsl:otherwise>
</xsl:choose></span>:&#160;
<xsl:if test="string-length(value_caption) &lt; 50">
<span class="feldwert"><xsl:value-of select="value_caption" /><![CDATA[]]></span>
</xsl:if>
<xsl:if test="string-length(value_caption) &gt; 49">
<span class="feldwert"><![CDATA[]]><xsl:value-of select="substring(value_caption,0,50)" /><![CDATA[]]>...</span>
</xsl:if>
<xsl:if test="sicht!=''">
<span><![CDATA[ (]]><xsl:value-of select="sicht" />
<xsl:if test="@stand!=''"><xsl:text> - Stand:</xsl:text><xsl:value-of select="@stand"/></xsl:if>
<xsl:text><![CDATA[)]]> </xsl:text></span>
</xsl:if>
;
</xsl:if>
</xsl:for-each>
User: <xsl:value-of select="/ergebnisse/user"/>&#160;
Stand: <xsl:value-of select="../stand" /></p>
<xsl:if test="../hinweis != ''">
<xsl:call-template name="newline_to_br">
<xsl:with-param name="string" select="../hinweis" />
</xsl:call-template>
</xsl:if>
</div>
<p align="right"><a href="{concat('javascript:closeModalCardDetail(',$ergebniselement_ordnr,');')}">
<span class="button is-black is-outlined"> X </span>
</a></p>
</div> </div>
</div> </xsl:template>-->
</div> <xsl:template name="importVizJavascriptLibsViewer">
</div> <script language="Javascript" type="text/javascript" src="../xml/js/jquery-2.1.1.min.js" />
<script language="JavaScript" type="text/javascript" src="../xml/js/memtext/sx_functions.js"></script>
<xsl:call-template name="tableJavascript_viz" />
<script language="Javascript" type="text/javascript">
<xsl:text><![CDATA[
</div> function initPage()
{
var myChartModelStr="";
var myDiv="";
]]></xsl:text>
<xsl:for-each select="ergebnisse">
<xsl:for-each select="ergebnis/ergebniselement">
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable>
<xsl:if test="$chart_id != ''">
<xsl:text><![CDATA[
myChartModelStr=']]></xsl:text>
<xsl:value-of select="translate(viz_charts/viz_chart[@tid=$chart_id]/@chartmodel,'§',$quote)" />
<xsl:text><![CDATA[';
myDiv="]]></xsl:text>
<xsl:value-of select="concat('chartDiv',$ergebniselement_ordnr)" />
<xsl:text><![CDATA[";
createViewer(myChartModelStr,myDiv);
myDiv="]]></xsl:text>
<xsl:value-of select="concat('modalCardImage',$ergebniselement_ordnr)" />
<xsl:text><![CDATA[";
createViewer(myChartModelStr,myDiv);
myDiv="]]></xsl:text>
<xsl:value-of select="concat('modalCardDetailImage',$ergebniselement_ordnr)" />
<xsl:text><![CDATA[";
createViewer(myChartModelStr,myDiv);
]]></xsl:text>
</xsl:if> </xsl:if>
</xsl:for-each> </xsl:for-each>
</xsl:for-each> </xsl:for-each>
<xsl:text><![CDATA[
}
function createViewer(myChartModelStr,chartDiv)
{
myChartModel=JSON.parse(myChartModelStr);
renderChart(chartDiv,myChartModel);
}
function toggleLegendeDisplay(legendeDiv)
{
var myDiv=document.getElementById(legendeDiv);
if(myDiv.style.display=="block")
myDiv.style.display="none";
else
myDiv.style.display="block";
}
]]></xsl:text>
</script>
</xsl:template> </xsl:template>
</xsl:stylesheet> </xsl:stylesheet>

263
superx/xml/viz_html_chart_viewer_grid.xsl

@ -0,0 +1,263 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util.HtmlUtils">
<xsl:import href="resultset_html.xsl" />
<xsl:import href="interLinks_html.xsl" />
<xsl:import href="nd_templates.xsl" />
<xsl:import href="pageComponents_html.xsl" />
<xsl:import href="viz_components.xsl" />
<!--In diesem Stylesheet können Sie individuelle templates unterbringen,
die in ihrer Präzedenz das normale Stylesheet
pageComponents_html.xsl überragt. -->
<xsl:import href="pageComponents_html_final.xsl" />
<xsl:decimal-format name="German" grouping-separator="." NaN="" zero-digit ="0" decimal-separator="," />
<!-- wichtig für DOJO!-->
<xsl:output method="xml" media-type="text/html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="DTD/xhtml1-strict.dtd" cdata-section-elements="script style" indent="yes" encoding="UTF-8"/>
<xsl:variable name="colon"><xsl:text>'</xsl:text></xsl:variable>
<xsl:variable name="quote"><xsl:text>"</xsl:text></xsl:variable>
<xsl:variable name="defaultRenderer" select="'plot'" />
<xsl:variable name="availableRendererPlot" select="'true'" />
<xsl:variable name="availableRendererD3" select="'true'" />
<xsl:template match="/">
<xsl:variable name="maskenname">
<xsl:choose>
<xsl:when test="/ergebnisse/@isMakro='true'">
<xsl:value-of select="/ergebnisse/makro/name" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="/ergebnisse/ergebnis/maskenname" />
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<html>
<head>
<xsl:call-template name="nd_htmlhead">
<xsl:with-param name="title" select="concat('Tabelle ',$maskenname)" />
</xsl:call-template>
<link rel="stylesheet" href="../style/sx_tabelle.css" />
<!--<link rel="stylesheet" href="../style/superx.css" />-->
</head>
<xsl:call-template name="nd_htmlscript" />
<xsl:call-template name="nd_tableJavascript" />
<xsl:call-template name="nd_tableCSS" />
<xsl:call-template name="importVizJavascriptLibsViewer"></xsl:call-template>
<body class="has-navbar-fixed-top" onload="document.getElementById('progressbar').style.display='none';initPage();">
<!--#Template Beginn Top-Navigation-->
<xsl:call-template name="nd_navi_top" />
<!--#Template Ende Top-Navigation-->
<div class="columns">
<!--#Template Beginn Navigations-Panel Auswertungen-->
<xsl:if test="/ergebnisse/@showNavigation='true' and 1=0"><!-- erstmal kein Panel,weil der Asssistent schon recht breit ist -->
<xsl:for-each select="/ergebnisse">
<xsl:call-template name="nd_navi_panel" />
</xsl:for-each>
</xsl:if>
<!--#Template Ende Navigations-Panel Auswertungen-->
<!--Beginn Seitentitel, Krümelpfad, Knopfleiste, Legende, Erläuterung-->
<section class="hero-body">
<div class="container">
<div class="columns is-mobile is-left">
<div class="column is-full">
<div class="card ">
<div class="card-content">
<xsl:call-template name="nd_progressbar" />
<xsl:call-template name="viz_viewer_columnwise"/>
<xsl:call-template name="bottombar" />
<xsl:comment>customfooter</xsl:comment>
</div> <!--Ende content -->
</div> <!--Ende card-content-->
</div> <!--Ende card-background -->
</div> <!--Ende column-->
</div> <!--Ende hero-columns-->
</section> <!--Ende hero = Berichts-Card-->
</div> <!--Ende site-columns-->
<xsl:call-template name="modalCards" />
</body>
<!-- end body -->
</html>
</xsl:template>
<!-- end main -->
<xsl:template name="viz_viewer_columnwise">
<xsl:if test="/ergebnisse/@isMakro='true'">
<h1><xsl:value-of select="/ergebnisse/makro/name" /></h1>
</xsl:if>
<p></p>
<xsl:call-template name="buildVizMetadata" />
<!-- end Kopf-->
<!-- start Grafiken-->
<!-- Berechne den Umbruch der Spalten für die Kacheln
z.B. 6 Grafiken ergibt einen Umbruch nach der 3. Teiltabelle
Formel: ANZ / 2 kaufm. gerundet
-->
<xsl:variable name="spalten_anz">
<xsl:value-of select="max(number(/ergebnisse/ergebnis/felder/feld[@varname='Spaltenanzahl']/value))"/>
</xsl:variable>
<xsl:variable name="colwidth">
<xsl:value-of select="12 div $spalten_anz"/>
</xsl:variable>
<xsl:variable name="ergebniselemente_anz">
<xsl:value-of select="count(/ergebnisse/ergebnis[felder/feld[@varname='Grafik']])"/>
</xsl:variable>
<xsl:variable name="ergebniselemente_umbruch">
<xsl:value-of select="round($ergebniselemente_anz div max(number(/ergebnisse/ergebnis/felder/feld[@varname='Spaltenanzahl']/value)))"/>
</xsl:variable>
<!--<p>plan: <xsl:value-of select="/ergebnisse/ergebnis/felder/feld[@varname='Spaltenanzahl']/value"/>
</p>-->
<span class="separator">&#160;</span>
<!--Beginn Selektions-Card-->
<!--Beginn Berichtstitel, Pfad, Knopfleiste-->
<section class="hero-body has-background-light">
<section class="container"> <!--Beginn Kartenreihe -->
<div class="columns features is-mobile is-left"> <!--Beginn columns Kartenreihe -->
<xsl:for-each select="ergebnisse/ergebnis[felder/feld[@varname='Grafik']/value!='']/ergebniselement">
<xsl:variable name="ergebniselement_counter" select="position()" />
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable>
<!--<p><xsl:value-of select="concat('Zähler: ',$ergebniselement_counter)"/></p>-->
<div>
<xsl:attribute name="class"><xsl:text>column is-</xsl:text><xsl:value-of select="$colwidth"/></xsl:attribute>
<xsl:call-template name="viewer_kachel">
<xsl:with-param name="caption" select="viz_charts/viz_chart[@tid=$chart_id]/@caption"/>
<xsl:with-param name="ergebniselement_ordnr" select="$ergebniselement_ordnr" />
</xsl:call-template>
<!--<p><xsl:value-of select="concat($spalten_anz,'-',$ergebniselement_counter,':',$ergebniselement_counter mod $spalten_anz)"/></p>-->
</div>
<!-- neue Zeile wenn counter mod Spaltenanz. =0 -->
<xsl:if test="$ergebniselement_counter &gt;= $spalten_anz and ($ergebniselement_counter mod $spalten_anz) =0">
<xsl:text disable-output-escaping="yes"><![CDATA[
</div>
</section>
<section class="container">
<div class="columns features is-mobile is-left">
]]></xsl:text>
</xsl:if>
</xsl:for-each>
</div><!-- der columns -->
</section><!-- der letzten Kartenreihe -->
</section><!-- des Portals -->
</xsl:template>
<!--<xsl:template name="viewer_kachel">
<xsl:param name="caption" />
<xsl:param name="ergebniselement_ordnr" />
<div class="card is-shady">
<div class="card-image">
<div id="{concat('chartDiv',$ergebniselement_ordnr)}">
Platzhalter
</div>
</div>
<p>
<a onClick="{concat('javascript:openModalImage(',$ergebniselement_ordnr,');')}">
<span class="button is-success is-small modal-button">Vergrößern ...</span></a>
<a onClick="{concat('javascript:openModalCardDetail(',$ergebniselement_ordnr,');')}">
<span class="button is-link is-small modal-button">Mehr Infos ...</span></a>
</p>
</div>
</xsl:template>-->
<xsl:template name="importVizJavascriptLibsViewer">
<script language="Javascript" type="text/javascript" src="../xml/js/jquery-2.1.1.min.js" />
<script language="JavaScript" type="text/javascript" src="../xml/js/memtext/sx_functions.js"></script>
<xsl:call-template name="tableJavascript_viz" />
<script language="Javascript" type="text/javascript">
<xsl:text><![CDATA[
function initPage()
{
var myChartModelStr="";
var myDiv="";
]]></xsl:text>
<xsl:for-each select="ergebnisse">
<xsl:for-each select="ergebnis/ergebniselement">
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable>
<xsl:if test="$chart_id != ''">
<xsl:text>
myChartModelStr='</xsl:text>
<xsl:call-template name="getChartModel">
<xsl:with-param name="chart_id" select="$chart_id"/>
<xsl:with-param name="useMiniatureIfAvailable" select="'true'"/>
</xsl:call-template>
<xsl:text>';
myDiv="</xsl:text>
<xsl:value-of select="concat('chartDiv',$ergebniselement_ordnr)" />
<xsl:text><![CDATA[";
createViewer(myChartModelStr,myDiv);
myDiv="]]></xsl:text>
<xsl:value-of select="concat('modalCardImage',$ergebniselement_ordnr)" />
<xsl:text>";
myChartModelStr='</xsl:text>
<xsl:call-template name="getChartModel">
<xsl:with-param name="chart_id" select="$chart_id"/>
<xsl:with-param name="useMiniatureIfAvailable" select="'false'"/>
</xsl:call-template>
<xsl:text>';
createViewer(myChartModelStr,myDiv);
myDiv="</xsl:text>
<xsl:value-of select="concat('modalCardDetailImage',$ergebniselement_ordnr)" />
<xsl:text>";
myChartModelStr='</xsl:text>
<xsl:call-template name="getChartModel">
<xsl:with-param name="chart_id" select="$chart_id"/>
<xsl:with-param name="useMiniatureIfAvailable" select="'false'"/>
</xsl:call-template>
<xsl:text>';
createViewer(myChartModelStr,myDiv);
</xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
<xsl:text><![CDATA[
}
function createViewer(myChartModelStr,chartDiv)
{
myChartModel=JSON.parse(myChartModelStr);
renderChart(chartDiv,myChartModel);
}
function toggleLegendeDisplay(legendeDiv)
{
var myDiv=document.getElementById(legendeDiv);
if(myDiv.style.display=="block")
myDiv.style.display="none";
else
myDiv.style.display="block";
}
]]></xsl:text>
</script>
</xsl:template>
</xsl:stylesheet>

235
superx/xml/viz_html_chart_viewer_mask.xsl

@ -0,0 +1,235 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util.HtmlUtils">
<xsl:import href="resultset_html.xsl" />
<xsl:import href="interLinks_html.xsl" />
<xsl:import href="nd_templates.xsl" />
<xsl:import href="pageComponents_html.xsl" />
<xsl:import href="viz_components.xsl" />
<!--In diesem Stylesheet können Sie individuelle templates unterbringen,
die in ihrer Präzedenz das normale Stylesheet
pageComponents_html.xsl überragt. -->
<xsl:import href="pageComponents_html_final.xsl" />
<xsl:decimal-format name="German" grouping-separator="." NaN="" zero-digit ="0" decimal-separator="," />
<!-- wichtig für DOJO!-->
<xsl:output method="xml" media-type="text/html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="DTD/xhtml1-strict.dtd" cdata-section-elements="script style" indent="yes" encoding="UTF-8"/>
<xsl:variable name="colon"><xsl:text>'</xsl:text></xsl:variable>
<xsl:variable name="quote"><xsl:text>"</xsl:text></xsl:variable>
<xsl:variable name="colwidth"><xsl:text>is-full</xsl:text></xsl:variable>
<xsl:variable name="defaultRenderer" select="'plot'" />
<xsl:variable name="availableRendererPlot" select="'true'" />
<xsl:variable name="availableRendererD3" select="'true'" />
<xsl:template match="/">
<xsl:variable name="maskenname">
<xsl:choose>
<xsl:when test="/ergebnisse/@isMakro='true'">
<xsl:value-of select="/ergebnisse/makro/name" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="/ergebnisse/ergebnis/maskenname" />
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<html>
<head>
<xsl:call-template name="nd_htmlhead">
<xsl:with-param name="title" select="concat('Tabelle ',$maskenname)" />
</xsl:call-template>
<link rel="stylesheet" href="../style/sx_tabelle.css" />
<!--<link rel="stylesheet" href="../style/superx.css" />-->
</head>
<xsl:call-template name="nd_htmlscript" />
<xsl:call-template name="nd_tableJavascript" />
<xsl:call-template name="nd_tableCSS" />
<xsl:call-template name="importVizJavascriptLibsViewer"></xsl:call-template>
<xsl:call-template name="tableMaskenfelderJS" />
<body class="has-navbar-fixed-top" onload="document.getElementById('progressbar').style.display='none';initPage();">
<!--#Template Beginn Top-Navigation-->
<xsl:call-template name="nd_navi_top" />
<!--#Template Ende Top-Navigation-->
<div class="columns">
<!--#Template Beginn Navigations-Panel Auswertungen-->
<xsl:if test="/ergebnisse/@showNavigation='true' and 1=0"><!-- erstmal kein Panel,weil der Asssistent schon recht breit ist -->
<xsl:for-each select="/ergebnisse">
<!--kein Navi Panel bei Maskenfeldern <xsl:call-template name="nd_navi_panel" />-->
</xsl:for-each>
</xsl:if>
<!--#Template Ende Navigations-Panel Auswertungen-->
<!--Beginn Seitentitel, Krümelpfad, Knopfleiste, Legende, Erläuterung-->
<section class="hero-body">
<div class="container">
<div class="columns is-mobile is-left">
<div class="column is-two-thirds">
<div class="card ">
<div class="card-content">
<xsl:call-template name="nd_progressbar" />
<xsl:call-template name="viz_viewer"/>
<xsl:call-template name="bottombar" />
<xsl:comment>customfooter</xsl:comment>
</div> <!--Ende content -->
</div> <!--Ende card-content-->
</div> <!--Ende card-background -->
<div class="column">
<xsl:if test="count(/ergebnisse/ergebnis[@ordnr='0']/completefields/feld[@art='1']) &gt; 0">
<xsl:call-template name="renderTableDialogs" />
</xsl:if>
</div>
</div> <!--Ende column-->
</div> <!--Ende hero-columns-->
</section> <!--Ende hero = Berichts-Card-->
</div> <!--Ende site-columns-->
<xsl:call-template name="modalCards" />
</body>
<!-- end body -->
</html>
</xsl:template>
<!-- end main -->
<xsl:template name="viz_viewer">
<xsl:param name="show_maskenfelder" select="'true'" />
<xsl:if test="/ergebnisse/@isMakro='true'">
<h1><xsl:value-of select="/ergebnisse/makro/name" /></h1>
</xsl:if>
<p></p>
<xsl:call-template name="buildVizMetadata" />
<!-- end Kopf-->
<!-- start Grafiken-->
<!-- Berechne den Umbruch der Spalten für die Kacheln
z.B. 6 Grafiken ergibt einen Umbruch nach der 3. Teiltabelle
Formel: ANZ / 2 kaufm. gerundet
-->
<span class="separator">&#160;</span>
<!--Beginn Selektions-Card-->
<!--Beginn Berichtstitel, Pfad, Knopfleiste-->
<section class="hero-body has-background-light">
<section class="container"> <!--Beginn Kartenreihe -->
<div class="columns features is-mobile is-left"> <!--Beginn columns Kartenreihe -->
<xsl:for-each select="/ergebnisse/ergebnis[felder/feld[@varname='Grafik']/value!='']/ergebniselement">
<xsl:variable name="ergebniselement_counter" select="position()" />
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable>
<!--<p><xsl:value-of select="concat('Zähler: ',$ergebniselement_counter)"/></p>-->
<div>
<xsl:attribute name="class"><xsl:text>column is-</xsl:text><xsl:value-of select="$colwidth"/></xsl:attribute>
<xsl:call-template name="viewer_kachel">
<xsl:with-param name="caption" select="viz_charts/viz_chart[@tid=$chart_id]/@caption"/>
<xsl:with-param name="ergebniselement_ordnr" select="$ergebniselement_ordnr" />
</xsl:call-template>
<!--<p><xsl:value-of select="concat($spalten_anz,'-',$ergebniselement_counter,':',$ergebniselement_counter mod $spalten_anz)"/></p>-->
</div>
<!-- neue Zeile wenn counter mod Spaltenanz. =0 -->
</xsl:for-each>
</div><!-- der columns -->
</section><!-- der letzten Kartenreihe -->
</section><!-- des Portals -->
</xsl:template>
<!--<xsl:template name="viewer_kachel">
<xsl:param name="caption" />
<xsl:param name="ergebniselement_ordnr" />
<div class="card is-shady">
<div class="card-image">
<div id="{concat('chartDiv',$ergebniselement_ordnr)}">
Platzhalter
</div>
</div>
<p>
<a onClick="{concat('javascript:openModalImage(',$ergebniselement_ordnr,');')}">
<span class="button is-success is-small modal-button">Vergrößern ...</span></a>
<a onClick="{concat('javascript:openModalCardDetail(',$ergebniselement_ordnr,');')}">
<span class="button is-link is-small modal-button">Mehr Infos ...</span></a>
</p>
</div>
</xsl:template>-->
<xsl:template name="importVizJavascriptLibsViewer">
<script language="Javascript" type="text/javascript" src="../xml/js/jquery-2.1.1.min.js" />
<script language="JavaScript" type="text/javascript" src="../xml/js/memtext/sx_functions.js"></script>
<xsl:call-template name="tableJavascript_viz" />
<script language="Javascript" type="text/javascript">
<xsl:text><![CDATA[
function initPage()
{
var myChartModelStr="";
var myDiv="";
]]></xsl:text>
<xsl:for-each select="ergebnisse">
<xsl:for-each select="ergebnis/ergebniselement">
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable>
<xsl:if test="$chart_id != ''">
<xsl:text><![CDATA[
myChartModelStr=']]></xsl:text>
<xsl:value-of select="translate(viz_charts/viz_chart[@tid=$chart_id]/@chartmodel,'§',$quote)" />
<xsl:text><![CDATA[';
myDiv="]]></xsl:text>
<xsl:value-of select="concat('chartDiv',$ergebniselement_ordnr)" />
<xsl:text><![CDATA[";
createViewer(myChartModelStr,myDiv);
myDiv="]]></xsl:text>
<xsl:value-of select="concat('modalCardImage',$ergebniselement_ordnr)" />
<xsl:text><![CDATA[";
createViewer(myChartModelStr,myDiv);
myDiv="]]></xsl:text>
<xsl:value-of select="concat('modalCardDetailImage',$ergebniselement_ordnr)" />
<xsl:text><![CDATA[";
createViewer(myChartModelStr,myDiv);
]]></xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
<xsl:text><![CDATA[
}
function createViewer(myChartModelStr,chartDiv)
{
myChartModel=JSON.parse(myChartModelStr);
renderChart(chartDiv,myChartModel);
}
function toggleLegendeDisplay(legendeDiv)
{
var myDiv=document.getElementById(legendeDiv);
if(myDiv.style.display=="block")
myDiv.style.display="none";
else
myDiv.style.display="block";
}
]]></xsl:text>
</script>
</xsl:template>
</xsl:stylesheet>

2692
test/webapps_superx/test_viz/stud_zeitreihe.html

File diff suppressed because it is too large Load Diff

2805
test/webapps_superx/test_viz/stud_zeitreihe_plot.html

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save