Compare commits

..

4 Commits

  1. 60
      src-modules/module/viz/conf/viz.xml
  2. 2
      src-modules/module/viz/masken/44130_maskeninfo.unl
  3. 2
      src-modules/module/viz/masken/44220_maskeninfo.unl
  4. 2
      src-modules/module/viz/masken/44250_maskeninfo.unl
  5. 2
      src-modules/module/viz/masken/44280_maskeninfo.unl
  6. 1
      src-modules/module/viz/masken/44310_felderinfo.unl
  7. 2
      src-modules/module/viz/masken/44310_maskeninfo.unl
  8. 2
      src-modules/module/viz/masken/44340_maskeninfo.unl
  9. 10
      src-modules/module/viz/masken/44510_felderinfo.unl
  10. 1
      src-modules/module/viz/masken/44510_masken_felder_bez.unl
  11. 2
      src-modules/module/viz/masken/44510_maskeninfo.unl
  12. 26
      src-modules/module/viz/masken/44570_felderinfo.unl
  13. 1
      src-modules/module/viz/masken/44570_masken_felder_bez.unl
  14. 2
      src-modules/module/viz/masken/44600_maskeninfo.unl
  15. 65
      src-modules/module/viz/masken/44630_maskeninfo.unl
  16. 16
      src-modules/module/viz/masken/44720_felderinfo.unl
  17. 4
      src-modules/module/viz/masken/44720_maskeninfo.unl
  18. 16
      src-modules/module/viz/schluesseltabellen/customxmladd.sql
  19. 4
      src-modules/module/viz/schluesseltabellen/fm_templates.unl
  20. 17
      src-modules/module/viz/schluesseltabellen/macro_masken_bez_fuellen.sql
  21. 103
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_abgrp_jahr_fuellen.sql
  22. 76
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_in_rsz_jahr_fuellen.sql
  23. 46
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_jahr_fuellen.sql
  24. 45
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_zeitreihe_jahr_dashboard_fuellen.sql
  25. 4
      src-modules/module/viz/schluesseltabellen/studierende_datenblatt_dashboard.sql
  26. 109
      src-modules/module/viz/schluesseltabellen/sx_captions_fuellen.sql
  27. 485
      src-modules/module/viz/schluesseltabellen/viz_chart.unl
  28. 19
      src-modules/module/viz/schluesseltabellen/viz_chart_fuellen.sql
  29. 10
      src-modules/module/viz/schluesseltabellen/viz_chart_unload.x
  30. 17
      src-modules/module/viz/schluesseltabellen/viz_chart_upload.x
  31. 8
      src-modules/module/viz/schluesseltabellen/viz_properties_echarts_fuellen.sql
  32. 43
      src-modules/module/viz/schluesseltabellen/viz_properties_echarts_sankey_fuellen.sql
  33. 130
      src-modules/module/viz/schluesseltabellen/viz_property.unl
  34. 1
      src-modules/module/viz/schluesseltabellen/viz_property_input_type.unl
  35. 13
      src-modules/module/viz/upgrade/viz_upgrade_man.sql
  36. 87
      superx/style/sx_viz_muster.css
  37. 18
      superx/xml/js/viz/viz_assistent.js
  38. 255
      superx/xml/js/viz/viz_viewer.js
  39. 347
      superx/xml/viz_components.xsl
  40. 4
      superx/xml/viz_html_chart.xsl
  41. 5
      superx/xml/viz_html_chart_viewer.xsl
  42. 1
      superx/xml/viz_html_chart_viewer_mask.xsl
  43. 2
      superx/xml/viz_html_chart_viewer_mask_and_table.xsl

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

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!--<!DOCTYPE module SYSTEM "../../../conf/superx-module.dtd"> --> <!--<!DOCTYPE module SYSTEM "../../../conf/superx-module.dtd"> -->
<module name="viz" version="0.4b" sachgebiet_id="320" <module name="viz" version="0.3" sachgebiet_id="320"
sachgebiet="Visualisierungen" systeminfo_id="320" sachgebiet="Visualisierungen" systeminfo_id="320"
system="Visualisierungen" thema="Visualisierungen" thema_parent="Abfragen"> system="Visualisierungen" thema="Visualisierungen" thema_parent="Abfragen">
<database name="superx" system="superx"> <database name="superx" system="superx">
@ -130,22 +130,15 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[VIZ]" />
<column name="chart_position" type="CHAR" size="10" default="" notnull="" description="Position des Diagramms"><comment>CENTER,TOP,BOTTOM,LEFT,RIGHT,INLINE</comment></column> <column name="chart_position" type="CHAR" size="10" default="" notnull="" description="Position des Diagramms"><comment>CENTER,TOP,BOTTOM,LEFT,RIGHT,INLINE</comment></column>
<column name="chart_active" type="SMALLINT" size="2" <column name="chart_active" type="SMALLINT" size="2"
default="1" notnull="false" description="Grafik aktiv"></column> default="1" notnull="false" description="Grafik aktiv"></column>
<column name="chart_width" type="VARCHAR" size="255" default="600" notnull="" description="Breite des Diagramms"><comment>Wenn keine Einheit angegeben ist, ni in px</comment></column> <column name="chart_width" type="INTEGER" size="10" default="600" notnull="" description="Breite des Diagramms"><comment>in px</comment></column>
<column name="chart_height" type="VARCHAR" size="255" default="400" notnull="" description="Höhe des Diagramms"><comment>Default in px</comment></column> <column name="chart_height" type="INTEGER" size="10" default="400" notnull="" description="Höhe des Diagramms"><comment>in px</comment></column>
<column name="chart_miniature_width" type="VARCHAR" size="255" default="200" notnull="" description="Breite der Diagramm-Miniatur"><comment>in px</comment></column> <column name="chart_miniature_width" type="INTEGER" size="10" default="200" notnull="" description="Breite der Diagramm-Miniatur"><comment>in px</comment></column>
<column name="chart_miniature_height" type="VARCHAR" size="255" default="100" notnull="" description="Höhe der Diagramm-Miniatur"><comment>in px</comment></column> <column name="chart_miniature_height" type="INTEGER" size="10" default="100" notnull="" description="Höhe der Diagramm-Miniatur"><comment>in px</comment></column>
<column name="is_custom" type="SMALLINT" size="255" <column name="is_custom" type="SMALLINT" size="255"
default="1" notnull="false" description="Grafik der Hochschule"> default="1" notnull="false" description="Grafik der Hochschule">
<comment>1=ja, d.h. von der Hochschule angepaßt, 0=nein, d.h. <comment>1=ja, d.h. von der Hochschule angepaßt, 0=nein, d.h.
Auslieferung der Software</comment> Auslieferung der Software</comment>
</column> </column>
<column name="js_handler" type="VARCHAR" size="255" default="" notnull="" description="JS-Handler" ><comment>JS-Datei für optionale Methode zum Aufruf</comment></column>
<column name="chart_card_class" type="VARCHAR" size="255" default="" notnull="" description="CSS-Klasse der Kachel" ></column>
<column name="chart_container_class" type="VARCHAR" size="255" default="" notnull="" description="CSS-Klasse des Kachelinhalts" ></column>
<column name="chart_container_id" type="VARCHAR" size="255" default="" notnull="" description="HTML-Element-ID des Kachelinhalts" ><comment>für Javascript Interaktion</comment></column>
<column name="chart_class_name" type="VARCHAR" size="255" default="" notnull="" description="CSS-Klasse der Grafik" ><comment>für Größenangaben</comment></column>
<column name="chart_element_id" type="VARCHAR" size="255" default="" notnull="" description="HTML-Element-ID der Grafik" ><comment>für Javascript Interaktion</comment></column>
<column name="chart_title_position" type="VARCHAR" size="255" default="" notnull="" description="Position des Grafiktitels" ><comment>top,bottom,inline (also im Chart-Code selbst definiert)</comment></column>
</columns> </columns>
<primaryKeys><rs> <primaryKeys><rs>
<row> <row>
@ -235,7 +228,6 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[VIZ]" />
<column name="range_from" type="INTEGER" size="255" default="" notnull="" description="Minimalwert" ><comment>Wir nur bei Schiebereglern genutzt</comment></column> <column name="range_from" type="INTEGER" size="255" default="" notnull="" description="Minimalwert" ><comment>Wir nur bei Schiebereglern genutzt</comment></column>
<column name="range_to" type="INTEGER" size="255" default="" notnull="" description="Maximalwert" ><comment>Wir nur bei Schiebereglern genutzt</comment></column> <column name="range_to" type="INTEGER" size="255" default="" notnull="" description="Maximalwert" ><comment>Wir nur bei Schiebereglern genutzt</comment></column>
<column name="prop_value_type" type="VARCHAR" size="255" default="string" notnull="false" description="Datentyp" ><comment>string,integer,float,boolean</comment></column> <column name="prop_value_type" type="VARCHAR" size="255" default="string" notnull="false" description="Datentyp" ><comment>string,integer,float,boolean</comment></column>
<column name="dynamic_value_obj" type="VARCHAR" size="255" default="" notnull="false" description="Dynamischer Wertebereich" ><comment>JS-Object mit Schlüssel und Name (uniquename,caption)</comment></column>
@ -755,12 +747,6 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
<path>$VIZ_PFAD/masken</path> <path>$VIZ_PFAD/masken</path>
</src> </src>
</maske> </maske>
<maske tid="44510" name="Studierende nach Jahr" thema="">
<description> </description>
<src>
<path>$VIZ_PFAD/masken</path>
</src>
</maske>
<maske tid="44540" name="Studierende nach Semester und Studiengang" thema=""> <maske tid="44540" name="Studierende nach Semester und Studiengang" thema="">
<description> </description> <description> </description>
<src> <src>
@ -986,7 +972,6 @@ booklet_stylesheet VARCHAR(255)
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sachgebiete_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sachgebiete_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_colorscheme_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_colorscheme_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sx_captions_fuellen.sql" database=""/>
@ -1039,9 +1024,6 @@ booklet_stylesheet VARCHAR(255)
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_abgrp_dashboard_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_abgrp_dashboard_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_la_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_la_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_bildungstyp_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_bildungstyp_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_jahr_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_in_rsz_jahr_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_abgrp_jahr_fuellen.sql" database=""/>
</action> </action>
@ -1143,12 +1125,11 @@ renderer_id INTEGER ,
chartmodel_miniature TEXT , chartmodel_miniature TEXT ,
chart_position CHAR(10) , chart_position CHAR(10) ,
chart_active SMALLINT default 1 , chart_active SMALLINT default 1 ,
chart_width varchar(255) default '600' , chart_width INTEGER default 600 ,
chart_height varchar(255) default '400' , chart_height INTEGER default 400 ,
chart_miniature_width varchar(255) default '200' , chart_miniature_width INTEGER default 200 ,
chart_miniature_height varchar(255) default '100' , chart_miniature_height INTEGER default 100 ,
is_custom SMALLINT, is_custom SMALLINT
js_handler varchar(255)
) )
;" scriptfile="" database=""/> ;" scriptfile="" database=""/>
@ -1202,7 +1183,6 @@ booklet_stylesheet VARCHAR(255)
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_dashboard_tab_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_dashboard_tab_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_colorscheme_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_colorscheme_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_chart_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_chart_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sx_captions_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/konstanten_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/konstanten_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sachgebiete_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sachgebiete_fuellen.sql" database=""/>
@ -1246,17 +1226,11 @@ booklet_stylesheet VARCHAR(255)
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_geschl_dashboard_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_geschl_dashboard_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_zeitreihe_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_zeitreihe_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_zeitreihe_dashboard_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_zeitreihe_dashboard_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_zeitreihe_jahr_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_zeitreihe_jahr_dashboard_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_fak_dashboard_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_fak_dashboard_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_abgrp_dashboard_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_abgrp_dashboard_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_la_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_la_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_bildungstyp_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_bildungstyp_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_jahr_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_in_rsz_jahr_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_abgrp_jahr_fuellen.sql" database=""/>
</action> </action>
<action> <action>
@ -1331,14 +1305,6 @@ mode="full">
<customfield name="chart_height" visibleSize="10" nullFieldValue="" /> <customfield name="chart_height" visibleSize="10" nullFieldValue="" />
<customfield name="chart_miniature_width" visibleSize="10" nullFieldValue="" /> <customfield name="chart_miniature_width" visibleSize="10" nullFieldValue="" />
<customfield name="chart_miniature_height" visibleSize="10" nullFieldValue="" /> <customfield name="chart_miniature_height" visibleSize="10" nullFieldValue="" />
<customfield name="js_handler" visibleSize="50" nullFieldValue="" />
<customfield name="chart_card_class" visibleSize="50" nullFieldValue="" />
<customfield name="chart_container_class" visibleSize="50" nullFieldValue="" />
<customfield name="chart_container_id" visibleSize="50" nullFieldValue="" />
<customfield name="chart_class_name" visibleSize="50" nullFieldValue="" />
<customfield name="chart_element_id" visibleSize="50" nullFieldValue="" />
<customfield name="chart_title_position" visibleSize="10" nullFieldValue="" />
<customfield name="chart_active" nullFieldValue="" visibleSize="30" /> <customfield name="chart_active" nullFieldValue="" visibleSize="30" />
<customfield name="is_custom" nullFieldValue="" visibleSize="30" /> <customfield name="is_custom" nullFieldValue="" visibleSize="30" />
@ -1575,14 +1541,14 @@ mode="full">
<customfield name="colorscheme_active" nullFieldValue="" visibleSize="5" /> <customfield name="colorscheme_active" nullFieldValue="" visibleSize="5" />
<customfield name="is_custom" nullFieldValue="" visibleSize="30" /> <customfield name="is_custom" nullFieldValue="" visibleSize="30" />
<customfield name="Elemente" type="subform" multipart="false" autoUpdate="false" <customfield name="Elemente" type="subform" multipart="false" autoUpdate="false"
maxRows="*" table="viz_colorscheme_element" parentField="tid" childField="colorscheme_id" maxRows="*" table="viz_colorscheme_element" parentField="tid" childField="viz_colorscheme_id"
orderBy="sortnr" allowNew="true" orderBy="sortnr" allowNew="true"
mode="full"> mode="full">
<field-selection complete="false" /> <field-selection complete="false" />
<customfield name="tid" nullFieldValue="" /> <customfield name="tid" nullFieldValue="" />
<customfield name="colorscheme_id" type="hidden" overrideValue="tid" /> <customfield name="viz_colorscheme_id" type="hidden" overrideValue="tid" />
<customfield name="colorcode" nullFieldValue="" visibleSize="30" /> <customfield name="colorcode" nullFieldValue="" visibleSize="30" />
<!--TODO: <customfield name="target_uniquename" visibleSize="10" nullFieldValue="" />--> <customfield name="target_uniquename" visibleSize="10" nullFieldValue="" />
<customfield name="sortnr" visibleSize="10" nullFieldValue="" /> <customfield name="sortnr" visibleSize="10" nullFieldValue="" />
</customfield> </customfield>
</form> </form>

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

@ -1 +1 @@
44130^Studierende nach Alter (Boxplot)^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</sximport>^Studienfach^Anzahl bzw. Anteil^Datenblatt Studierendenstatistik^<sximport>select cleanup_stmt from maskeninfo where tid=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where uniquename=<<Spaltenlayout>>;^ 44130^Studierende nach Alter (Boxplot)^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</sximport>^Studienfach^Anzahl bzw. Anteil^Datenblatt Studierendenstatistik^<sximport>select cleanup_stmt from maskeninfo where tid=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^

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

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

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

@ -1 +1 @@
44250^Studierende nach Staaten^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</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=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where uniquename=<<Spaltenlayout>>;^ 44250^Studierende nach Staaten^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</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=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^

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

@ -1 +1 @@
44280^Studierende nach Fakultät^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</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=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where uniquename=<<Spaltenlayout>>;^ 44280^Studierende nach Fakultät^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</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=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^

1
src-modules/module/viz/masken/44310_felderinfo.unl

@ -3,6 +3,7 @@
FROM rpta_column_layout \ FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat_dashboard')\ where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat_dashboard')\
and R.systeminfo_id=7)\ and R.systeminfo_id=7)\
and uniquename in ('sos_stud_abgrp_dashboard','sos_stud_la_dashboard')\
order by sortnr, caption\ order by sortnr, caption\
;^^<<SQL>>SELECT uniquename,\ ;^^<<SQL>>SELECT uniquename,\
caption\ caption\

2
src-modules/module/viz/masken/44310_maskeninfo.unl

@ -1 +1 @@
44310^Studierende nach Abschluss^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</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=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where uniquename=<<Spaltenlayout>>;^ 44310^Studierende nach Abschluss^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</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=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^

2
src-modules/module/viz/masken/44340_maskeninfo.unl

@ -1 +1 @@
44340^Studierende nach Bildungstyp^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</sximport>^Studienfach^Anzahl bzw. Anteil^Bildungsinländer / -ausländer^<sximport>select cleanup_stmt from maskeninfo where tid=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where uniquename=<<Spaltenlayout>>;^ 44340^Studierende nach Bildungstyp^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</sximport>^Studienfach^Anzahl bzw. Anteil^Bildungsinländer / -ausländer^<sximport>select cleanup_stmt from maskeninfo where tid=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^

10
src-modules/module/viz/masken/44510_felderinfo.unl

@ -1,11 +1,8 @@
44510^Spaltenlayout^3000^350^-1^140^180^1^char^30^1^1^<<SQL>>SELECT uniquename,\ 44510^Spaltenlayout^3000^350^-1^140^180^1^char^30^1^1^<<SQL>>SELECT uniquename,\
caption\ caption\
FROM rpta_column_layout \ FROM rpta_column_layout \
where 1=1\ where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='sos_stud_astat'\
and resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat',\
'sos_stud_astat_dashboard')\
and R.systeminfo_id=7)\ and R.systeminfo_id=7)\
and uniquename like '%jahr%'\
order by sortnr, caption\ order by sortnr, caption\
;^^<<SQL>>SELECT uniquename,\ ;^^<<SQL>>SELECT uniquename,\
caption\ caption\
@ -20,9 +17,9 @@ where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\
and sem_beginn <=today()\ and sem_beginn <=today()\
order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44512^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;^ ^ ^ 44512^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;^ ^ ^
44513^Abschluss^8^0^0^100^200^3^char^1500^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Abschluss-Sicht' order by 3,2;^ ^ ^ 44513^Abschluss^40^0^0^100^200^3^char^1500^0^1^<<SQL>> select apnr, druck from cifx where key=35 order by 2;^ ^ ^
44514^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^13^^ ^1^ 44514^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^13^^ ^1^
44515^Grafik^4000^300^-1^170^150^1^char^30^0^1^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44510 order by 2;^^ ^ 44515^Grafik^4000^300^-1^170^150^1^char^30^0^1^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44510 order by 2;^^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44510 order by 2 limit 1;^
44516^Hochschulzugangsberechtigung^120^300^-1^200^200^1^sql^30^0^1^hs_zugangsber^apnr, eintrag^ ^ 44516^Hochschulzugangsberechtigung^120^300^-1^200^200^1^sql^30^0^1^hs_zugangsber^apnr, eintrag^ ^
44517^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \ 44517^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
select tid, eintrag from semester \ select tid, eintrag from semester \
@ -36,6 +33,5 @@ order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() betw
44520^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=44510 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=44510 order by ord limit 1^ 44520^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=44510 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=44510 order by ord limit 1^
44521^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';^ 44521^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';^
44522^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';^ 44522^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';^
44523^Grafiktitel^1010^0^0^100^100^1^char^255^0^0^ ^{InputCheck:disabled}^ ^
44528^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';^ 44528^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';^
44532^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;^ ^ ^ 44532^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/44510_masken_felder_bez.unl

@ -11,6 +11,5 @@
44510^44520^ 44510^44520^
44510^44521^ 44510^44521^
44510^44522^ 44510^44522^
44510^44523^
44510^44528^ 44510^44528^
44510^44532^ 44510^44532^

2
src-modules/module/viz/masken/44510_maskeninfo.unl

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

26
src-modules/module/viz/masken/44570_felderinfo.unl

@ -1,18 +1,17 @@
44570^Köpfe oder Fälle ?^1^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';^ 44570^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';^
44571^Seit Semester^23^0^0^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \ 44571^Seit Semester^3^0^0^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
select tid, eintrag from semester \ select tid, eintrag from semester \
<#if K_VIZ_ZEITR_SEM_ANZ?exists>\ <#if K_VIZ_ZEITR_SEM_ANZ?exists>\
where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\ where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\
</#if>\ </#if>\
and sem_beginn <=today()\ and sem_beginn <=today()\
order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44572^Stichtag^21^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';^ 44572^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';^
44573^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^^ 44573^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^^
44574^Status^60^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.';^ 44574^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.';^
44575^Hörerstatus^65^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';^ 44575^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';^
44576^viz_label_Status^50^350^-1^150^180^1^char^200^0^8^^{InputCheck:matrikelnummern}^^
44577^bis Fachsemester^35^350^-1^140^100^1^integer^30^0^13^^^^ 44577^bis Fachsemester^35^350^-1^140^100^1^integer^30^0^13^^^^
44579^Bis Semester^24^350^-1^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \ 44579^Bis Semester^4^350^-1^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
select tid, eintrag from semester \ select tid, eintrag from semester \
<#if K_VIZ_ZEITR_SEM_ANZ?exists>\ <#if K_VIZ_ZEITR_SEM_ANZ?exists>\
where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\ where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\
@ -21,7 +20,7 @@ and sem_beginn <=today()\
order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44580^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;^^^ 44580^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;^^^
44581^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;^^^ 44581^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;^^^
44583^Studiengang^30^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;^^^ 44583^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;^^^
44584^Jahr^110^0^0^140^80^1^integer^30^0^13^ ^ ^ ^ 44584^Jahr^110^0^0^140^80^1^integer^30^0^13^ ^ ^ ^
44585^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=44570 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=44570 order by ord limit 1^ 44585^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=44570 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=44570 order by ord limit 1^
44586^Grafiktitel^1010^0^0^100^100^1^char^255^0^0^ ^{InputCheck:disabled}^ ^ 44586^Grafiktitel^1010^0^0^100^100^1^char^255^0^0^ ^{InputCheck:disabled}^ ^
@ -31,14 +30,15 @@ order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today(
FROM rpta_column_layout \ FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='sos_stud_astat_dashboard'\ where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='sos_stud_astat_dashboard'\
and R.systeminfo_id=7)\ and R.systeminfo_id=7)\
and uniquename like 'sos_stud_sem%'\
order by sortnr, caption\ order by sortnr, caption\
;^^<<SQL>>SELECT uniquename,\ ;^^<<SQL>>SELECT uniquename,\
caption\ caption\
FROM rpta_column_layout \ FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='sos_stud_astat_dashboard'\ where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='sos_stud_astat_dashboard'\
and R.systeminfo_id=7) and uniquename='sos_stud_sem_dashboard';^ and R.systeminfo_id=7) and uniquename='sos_stud_sem_dashboard';^
44589^Semestertyp^25^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^ 44589^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^
44590^viz_label_Zeitraum^20^350^-1^150^180^1^char^200^0^8^^{InputCheck:matrikelnummern}^^ 44590^##line##^30^0^0^100^100^1^char^5000^0^8^^^1^
44591^Abschluss^35^0^0^100^200^3^char^1500^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Abschluss-Sicht' order by 3,2;^ ^ ^ 44591^Abschluss^7^0^0^100^200^3^char^1500^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Abschluss-Sicht' order by 3,2;^ ^ ^
44592^viz_label_Studiengang^29^350^-1^150^180^1^char^200^0^8^^{InputCheck:matrikelnummern}^^ 44592^Matrikel-Nr.^20^350^-1^150^180^1^char^200^0^13^^{InputCheck:matrikelnummern}^^
44593^viz_label_koepfe_faelle^0^350^-1^150^180^1^char^200^0^8^^{InputCheck:matrikelnummern}^^ 44593^##line##^40^0^0^100^100^1^char^5000^0^8^^^1^

1
src-modules/module/viz/masken/44570_masken_felder_bez.unl

@ -4,7 +4,6 @@
44570^44573^ 44570^44573^
44570^44574^ 44570^44574^
44570^44575^ 44570^44575^
44570^44576^
44570^44577^ 44570^44577^
44570^44579^ 44570^44579^
44570^44580^ 44570^44580^

2
src-modules/module/viz/masken/44600_maskeninfo.unl

@ -1 +1 @@
44600^Studierende nach Region^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</sximport>^Studienfach^Anzahl bzw. Anteil^Ausgabe der Studierenden nach Landkreis/Bundesland^<sximport>select cleanup_stmt from maskeninfo where tid=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where uniquename=<<Spaltenlayout>>;^ 44600^Studierende nach Region^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</sximport>^Studienfach^Anzahl bzw. Anteil^Ausgabe der Studierenden nach Landkreis/Bundesland^<sximport>select cleanup_stmt from maskeninfo where tid=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^

65
src-modules/module/viz/masken/44630_maskeninfo.unl

@ -57,6 +57,42 @@ FROM viz_dashboard_tab T, viz_dashboard D\
\ \
<#assign stg_filter = " and 's_' || tid_stg in "+Studiengang.allNeededKeysList /> \ <#assign stg_filter = " and 's_' || tid_stg in "+Studiengang.allNeededKeysList /> \
\ \
<#assign kennzahlen = [\
{"name":"Studierende", \
"selectClause":"sum(summe) as summe", \
"factTable":"sos_stg_aggr",\
"whereClause":"studiengang_nr=1\
and fach_nr=1\
and stichtag=(select I.tid from sos_stichtag I where I.appl_key='0')",\
"optionalFilterName":"",\
"optionalFilterValue":"",\
"linkMaskeninfoTID":"44190",\
"booklet_stylesheet":"viz_report_44190_xmlsource.jrxml"\
},\
{"name":"Studienanfänger*innen im 1. HS", \
"selectClause":"sum(summe) as summe", \
"factTable":"sos_stg_aggr",\
"whereClause":"studiengang_nr=1\
and fach_nr=1\
and stichtag=(select I.tid from sos_stichtag I where I.appl_key='0') and "+SOS_HSSEM_1,\
"optionalFilterName":"Filter Studierende",\
"optionalFilterValue":"SOS_HSSEM_1",\
"linkMaskeninfoTID":"44190",\
"booklet_stylesheet":"viz_report_44190_xmlsource.jrxml"\
},\
{"name":"Studienanfänger*innen im 1. FS", \
"selectClause":"sum(summe) as summe", \
"factTable":"sos_stg_aggr",\
"whereClause":"studiengang_nr=1\
and fach_nr=1\
and stichtag=(select I.tid from sos_stichtag I where I.appl_key='0') and fach_sem_zahl=1",\
"optionalFilterName":"bis Fachsemester",\
"optionalFilterValue":"1",\
"linkMaskeninfoTID":"44190",\
"booklet_stylesheet":"viz_report_44190_xmlsource.jrxml"\
}\
\
] />\
\ \
create temp table tmp_erg(\ create temp table tmp_erg(\
ord integer,\ ord integer,\
@ -82,11 +118,7 @@ gridtitle_felderinfo_id\
)\ )\
select 1,\ select 1,\
'${VIZ_HS_KUERZEL} ${dashboard.caption}' ,\ '${VIZ_HS_KUERZEL} ${dashboard.caption}' ,\
<#if dashboard.maskeninfo_id?exists>\
${dashboard.maskeninfo_id},\ ${dashboard.maskeninfo_id},\
<#else>\
null::integer,\
</#if>\
'${dashboard.booklet_stylesheet}',\ '${dashboard.booklet_stylesheet}',\
val('${dashboard.gridtitle_felderinfo_id}')\ val('${dashboard.gridtitle_felderinfo_id}')\
from xdummy;\ from xdummy;\
@ -95,7 +127,6 @@ from xdummy;\
<#foreach kennzahl in dashboard_tabs>\ <#foreach kennzahl in dashboard_tabs>\
<#assign ord=ord+1 />\ <#assign ord=ord+1 />\
\ \
\
insert into tmp_erg(\ insert into tmp_erg(\
ord,\ ord,\
kennz,\ kennz,\
@ -105,15 +136,9 @@ hidden_optional_filter_name,\
hidden_optional_filter_value,\ hidden_optional_filter_value,\
hidden_booklet_stylesheet\ hidden_booklet_stylesheet\
)\ )\
<#if kennzahl.select_clause?exists && kennzahl.select_clause?string !="" >\ select ${ord},'${kennzahl.name}',\
select ${ord},\
'${kennzahl.name}' as kennz,\
${kennzahl.select_clause},\ ${kennzahl.select_clause},\
<#if kennzahl.maskeninfo_id?exists && kennzahl.maskeninfo_id?string !="" >\
${kennzahl.maskeninfo_id},\ ${kennzahl.maskeninfo_id},\
<#else>\
null::integer,\
</#if>\
'${kennzahl.optional_filter_name}',\ '${kennzahl.optional_filter_name}',\
'${kennzahl.optional_filter_value}',\ '${kennzahl.optional_filter_value}',\
'${kennzahl.booklet_stylesheet}'\ '${kennzahl.booklet_stylesheet}'\
@ -123,22 +148,6 @@ and 's_' || tid_stg in <@printkeys Studiengang.allNeededKeysList/>\
and ${kennzahl.where_clause}\ and ${kennzahl.where_clause}\
group by 1,2;\ group by 1,2;\
\ \
<#else>\
--keine select-clause, somit auch kein Summenwert in der header-Zeile:\
select ${ord},\
'${kennzahl.name}' as kennz,\
null::integer as wert,\
<#if kennzahl.maskeninfo_id?exists && kennzahl.maskeninfo_id?string !="" >\
${kennzahl.maskeninfo_id},\
<#else>\
null::integer,\
</#if>\
'${kennzahl.optional_filter_name}',\
'${kennzahl.optional_filter_value}',\
'${kennzahl.booklet_stylesheet}'\
from xdummy\
;\
</#if>\
</#foreach>\ </#foreach>\
\ \
select ord,\ select ord,\

16
src-modules/module/viz/masken/44720_felderinfo.unl

@ -1,24 +1,24 @@
44720^Köpfe oder Fälle ?^4^0^0^140^150^1^sql^70^0^1^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^ ^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag='Fälle';^ 44720^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^ ^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag='Fälle';^
44721^Seit Semester^23^0^0^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \ 44721^Seit Semester^3^0^0^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
select tid, eintrag from semester \ select tid, eintrag from semester \
<#if K_VIZ_ZEITR_SEM_ANZ?exists>\ <#if K_VIZ_ZEITR_SEM_ANZ?exists>\
where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\ where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\
</#if>\ </#if>\
and sem_beginn <=today()\ and sem_beginn <=today()\
order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today()-(4*365) between sem_beginn and sem_ende;^ order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today()-(4*365) between sem_beginn and sem_ende;^
44722^Stichtag Prüfungen^21^350^-1^140^100^1^sql^30^0^13^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Prüfungen';^^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Prüfungen' and appl_key='2';^ 44722^Stichtag^1^350^-1^140^100^1^sql^30^0^13^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Prüfungen';^^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Prüfungen' and appl_key='2';^
44723^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^^ 44723^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^^
44724^viz_label_Studiengang^5^350^-1^150^180^1^char^200^0^8^^{InputCheck:matrikelnummern}^^ 44724^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.';^
44725^Hörerstatus^33^0^0^140^170^1^sql^255^0^13^<<SQL>> select apnr, eintrag from hoererstatus order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^ 44725^Hörerstatus^33^0^0^140^170^1^sql^255^0^13^<<SQL>> select apnr, eintrag from hoererstatus order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
44727^bis Fachsemester^35^350^-1^140^100^1^integer^30^0^13^^^^ 44727^bis Fachsemester^35^350^-1^140^100^1^integer^30^0^13^^^^
44729^Bis Semester^24^350^-1^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \ 44729^Bis Semester^4^350^-1^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
select tid, eintrag from semester \ select tid, eintrag from semester \
<#if K_VIZ_ZEITR_SEM_ANZ?exists>\ <#if K_VIZ_ZEITR_SEM_ANZ?exists>\
where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\ where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\
</#if>\ </#if>\
and sem_beginn <=today()\ and sem_beginn <=today()\
order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44730^viz_label_koepfe_faelle^1^350^-1^150^180^1^char^200^0^8^^{InputCheck:matrikelnummern}^^ 44730^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;^hidden^^
44731^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;^^^ 44731^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;^^^
44733^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;^^^ 44733^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;^^^
44734^Jahr^110^0^0^140^80^1^integer^30^0^13^ ^ ^ ^ 44734^Jahr^110^0^0^140^80^1^integer^30^0^13^ ^ ^ ^
@ -36,8 +36,8 @@ order by sortnr, caption\
FROM rpta_column_layout \ FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rpta_sos_lab_aggr'\ where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rpta_sos_lab_aggr'\
and R.systeminfo_id=7) and uniquename='rpta_sos_lab_aggr_sem';^ and R.systeminfo_id=7) and uniquename='rpta_sos_lab_aggr_sem';^
44739^Semestertyp^25^350^-1^140^80^1^integer^255^0^1^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^Eintrag^ ^ 44739^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^
44740^##line##^30^0^0^100^100^1^char^5000^0^8^^^1^ 44740^##line##^30^0^0^100^100^1^char^5000^0^8^^^1^
44741^Abschluss^7^0^0^100^200^3^char^1500^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Abschluss-Sicht' order by 3,2;^ ^ ^ 44741^Abschluss^7^0^0^100^200^3^char^1500^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Abschluss-Sicht' order by 3,2;^ ^ ^
44742^viz_label_Zeitraum^20^350^-1^150^180^1^char^200^0^8^^{InputCheck:matrikelnummern}^^ 44742^Matrikel-Nr.^20^350^-1^150^180^1^char^200^0^13^^{InputCheck:matrikelnummern}^^
44743^##line##^40^0^0^100^100^1^char^5000^0^8^^^1^ 44743^##line##^40^0^0^100^100^1^char^5000^0^8^^^1^

4
src-modules/module/viz/masken/44720_maskeninfo.unl

@ -106,7 +106,7 @@ and substring('' || tid from 5 for 1)='<<Semestertyp>>'\
\ \
<#assign filter="<<Köpfe oder Fälle ?>>\ <#assign filter="<<Köpfe oder Fälle ?>>\
/* and sem_der_pruefung = <<Semester>> */\ /* and sem_der_pruefung = <<Semester>> */\
/* and stichtag = <<Stichtag Prüfungen>> */\ /* and stichtag = <<Stichtag>> */\
/* and geschlecht = <<Geschlecht>> */\ /* and geschlecht = <<Geschlecht>> */\
/* and fach_sem_zahl <= <<bis Fachsemester>> */\ /* and fach_sem_zahl <= <<bis Fachsemester>> */\
/* and substring('' || sem_der_pruefung from 5 for 1)='<<Semestertyp>>' */\ /* and substring('' || sem_der_pruefung from 5 for 1)='<<Semestertyp>>' */\
@ -254,4 +254,4 @@ Column CID=0 heading_text="${column.caption}" center_heading explanation="${colu
width=${column.visible_width} text_size=60\ width=${column.visible_width} text_size=60\
</#if>\ </#if>\
</#foreach>\ </#foreach>\
@@@^Altersgruppe^Anzahl^Studienanfänger_innen als Zeitreihe, nach Gesschlecht und Fakultät in verschiedenen Visualisierungen^drop table if exists tmp_stud2; drop table if exists tmp_stud3;^^3^700^360^0^1^<<SQL>>SELECT description FROM rpta_column_layout where uniquename=<<Spaltenlayout>>;^ @@@^Altersgruppe^Anzahl^Studienanfänger_innen als Zeitreihe, nach Gesschlecht und Fakultät in verschiedenen Visualisierungen^drop table if exists tmp_stud2; drop table if exists tmp_stud3;^^3^700^360^0^1^^

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

@ -128,14 +128,7 @@ V.chart_width,
V.chart_height, V.chart_height,
V.chart_miniature_width, V.chart_miniature_width,
V.chart_miniature_height, V.chart_miniature_height,
V.maskeninfo_id, V.maskeninfo_id
V.js_handler,
V.chart_card_class,
V.chart_container_class,
V.chart_container_id,
V.chart_class_name,
V.chart_element_id,
V.chart_title_position
FROM viz_chart V, viz_renderer R FROM viz_chart V, viz_renderer R
where R.tid=V.renderer_id where R.tid=V.renderer_id
and chart_active=1 and chart_active=1
@ -319,13 +312,6 @@ order by 2,5,3
chart_miniature_width="${ch.chart_width}" chart_miniature_width="${ch.chart_width}"
chart_miniature_height="${ch.chart_height}" chart_miniature_height="${ch.chart_height}"
maskeninfo_id="${ch.maskeninfo_id}" maskeninfo_id="${ch.maskeninfo_id}"
js_handler="${ch.js_handler}"
chart_card_class="${ch.chart_card_class}"
chart_container_class="${ch.chart_container_class}"
chart_container_id="${ch.chart_container_id}"
chart_class_name="${ch.chart_class_name}"
chart_element_id="${ch.chart_element_id}"
chart_title_position="${ch.chart_title_position}"
/> />
</#foreach> </#foreach>
</#if> </#if>

4
src-modules/module/viz/schluesseltabellen/fm_templates.unl

@ -181,7 +181,7 @@ set caption=T.caption,\
prop_default=T.prop_default,\ prop_default=T.prop_default,\
prop_unit=T.prop_unit,\ prop_unit=T.prop_unit,\
is_generic=T.is_generic,\ is_generic=T.is_generic,\
static_values=T.static_values,\ --static_values=T.static_values,\
is_mandatory=T.is_mandatory,\ is_mandatory=T.is_mandatory,\
input_type_id=T.input_type_id,\ input_type_id=T.input_type_id,\
property_group_id=T.property_group_id,\ property_group_id=T.property_group_id,\
@ -202,7 +202,7 @@ in (select ${renderer},P.tid\
from viz_property P, tmp_viz_property T\ from viz_property P, tmp_viz_property T\
where P.prop_uniquename=T.prop_uniquename);\ where P.prop_uniquename=T.prop_uniquename);\
\ \
select sp_update_sequence('viz_property_renderer');\ \
\ \
insert into viz_property_renderer(\ insert into viz_property_renderer(\
renderer_id,\ renderer_id,\

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

@ -1,18 +1,4 @@
--freemarker template --freemarker template
<sqlvars>
<sqlvar name="sos_stud_stichtag_tagesaktuell">
select tid from sos_stichtag where appl_key='0';
</sqlvar>
<sqlvar name="sos_stud_stichtag_amtlich">
select tid from sos_stichtag where appl_key='1';
</sqlvar>
<sqlvar name="sos_pruef_stichtag_tagesaktuell">
select tid from sos_stichtag where appl_key='2';
</sqlvar>
<sqlvar name="sos_pruef_stichtag_amtlich">
select tid from sos_stichtag where appl_key='4';
</sqlvar>
</sqlvars>
<#assign makros = [ <#assign makros = [
{"tid":"44070"}, {"tid":"44070"},
@ -189,13 +175,11 @@ select tid from sos_stichtag where appl_key='4';
{"makro":"44690", "sortnr":"10", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"}, {"makro":"44690", "sortnr":"10", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44690", "sortnr":"10", "feldname":"Spaltenlayout", "value":"sos_stud_sem_dashboard"}, {"makro":"44690", "sortnr":"10", "feldname":"Spaltenlayout", "value":"sos_stud_sem_dashboard"},
{"makro":"44690", "sortnr":"10", "feldname":"Stichtag", "value":sos_stud_stichtag_tagesaktuell},
{"makro":"44690", "sortnr":"10", "feldname":"Grafik", "value":"STUD_SEM_LINE"}, {"makro":"44690", "sortnr":"10", "feldname":"Grafik", "value":"STUD_SEM_LINE"},
{"makro":"44690", "sortnr":"10", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"}, {"makro":"44690", "sortnr":"10", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44690", "sortnr":"20", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"}, {"makro":"44690", "sortnr":"20", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44690", "sortnr":"20", "feldname":"Spaltenlayout", "value":"sos_stud_sem_dashboard"}, {"makro":"44690", "sortnr":"20", "feldname":"Spaltenlayout", "value":"sos_stud_sem_dashboard"},
{"makro":"44690", "sortnr":"20", "feldname":"Stichtag", "value":sos_stud_stichtag_tagesaktuell},
{"makro":"44690", "sortnr":"20", "feldname":"Grafik", "value":"STUD_SEM_LINE"}, {"makro":"44690", "sortnr":"20", "feldname":"Grafik", "value":"STUD_SEM_LINE"},
{"makro":"44690", "sortnr":"20", "feldname":"Grafiktitel", "value":"Studienanfänger*innen 1.HS"}, {"makro":"44690", "sortnr":"20", "feldname":"Grafiktitel", "value":"Studienanfänger*innen 1.HS"},
{"makro":"44690", "sortnr":"20", "feldname":"Filter Studierende", "value":"SOS_HSSEM_1"}, {"makro":"44690", "sortnr":"20", "feldname":"Filter Studierende", "value":"SOS_HSSEM_1"},
@ -203,7 +187,6 @@ select tid from sos_stichtag where appl_key='4';
{"makro":"44690", "sortnr":"30", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"}, {"makro":"44690", "sortnr":"30", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44690", "sortnr":"30", "feldname":"Spaltenlayout", "value":"sos_stud_sem_dashboard"}, {"makro":"44690", "sortnr":"30", "feldname":"Spaltenlayout", "value":"sos_stud_sem_dashboard"},
{"makro":"44690", "sortnr":"30", "feldname":"Stichtag", "value":sos_stud_stichtag_tagesaktuell},
{"makro":"44690", "sortnr":"30", "feldname":"Grafik", "value":"STUD_SEM_LINE"}, {"makro":"44690", "sortnr":"30", "feldname":"Grafik", "value":"STUD_SEM_LINE"},
{"makro":"44690", "sortnr":"30", "feldname":"Grafiktitel", "value":"Studienanfänger*innen 1.FS"}, {"makro":"44690", "sortnr":"30", "feldname":"Grafiktitel", "value":"Studienanfänger*innen 1.FS"},
{"makro":"44690", "sortnr":"30", "feldname":"bis Fachsemester", "value":"1"}, {"makro":"44690", "sortnr":"30", "feldname":"bis Fachsemester", "value":"1"},

103
src-modules/module/viz/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_abgrp_jahr_fuellen.sql

@ -1,103 +0,0 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
</sqlvar>
</sqlvars>
<#assign rpta_column_layout =
{"uniquename":"rpta_sos_lab_aggr_abgrp_jahr",
"caption":"Absolvierende nach Abschlussgruppe und Jahr",
"rpta_resultset":"rpta_sos_lab_aggr",
"whereclause":"",
"description":"Absolvierende nach Abschlussgruppe und Jahr",
"is_virtual":1
}
/>
<#assign rpta_columns = [
{"uniquename":"jahr",
"caption":"Jahr",
"srcfieldname":"sem_der_pruefung",
"targetfieldname":"jahr",
"column_type":"logicalColumn",
"col_function":"get_akad_jahr(sem_der_pruefung,''A'')",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"(WS + darauffolgendes SS)"
},
{"uniquename":"absolv_ba",
"caption_der_spalte":"BA",
"caption_in_ergebnistabelle":"Bachelor",
"srcfieldname":"",
"targetfieldname":"absolv_ba",
"column_type":"logicalColumn",
"col_function":"(case when dim_studiengang_abschlussart=''A24'' and dim_studiengang_abschluss_astat_bund in (select K.abschluss_astat_bund from k_astat_abschl_grp K where ist_lehramt=0) then summe
else 0 end)",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"1",
"description":"Absolv. Bachelor ohne Lehramt"
},
{"uniquename":"absolv_ba_la",
"caption_der_spalte":"LA BA",
"caption_in_ergebnistabelle":"Bachelor Lehramt",
"srcfieldname":"",
"targetfieldname":"absolv_ba_la",
"column_type":"logicalColumn",
"col_function":"(case when dim_studiengang_abschlussart=''A24'' and dim_studiengang_abschluss_astat_bund in (select K.abschluss_astat_bund from k_astat_abschl_grp K where ist_lehramt=1) then summe
else 0 end)",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"1",
"description":"Absolv. Bachelor Lehramt"
},
{"uniquename":"absolv_ma",
"caption_der_spalte":"MA",
"caption_in_ergebnistabelle":"Master",
"srcfieldname":"",
"targetfieldname":"absolv_ma",
"column_type":"logicalColumn",
"col_function":"(case when dim_studiengang_abschlussart=''A37'' and dim_studiengang_abschluss_astat_bund in (select K.abschluss_astat_bund from k_astat_abschl_grp K where ist_lehramt=0) then summe
else 0 end)",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"1",
"description":"Absolv. Master"
},
{"uniquename":"absolv_ma_la",
"caption_der_spalte":"MA LA",
"caption_in_ergebnistabelle":"Master Lehramt",
"srcfieldname":"",
"targetfieldname":"absolv_ma_la",
"column_type":"logicalColumn",
"col_function":"(case when dim_studiengang_abschlussart=''A37'' and dim_studiengang_abschluss_astat_bund in (select K.abschluss_astat_bund from k_astat_abschl_grp K where ist_lehramt=1) then summe
else 0 end)",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"1",
"description":"Absolv. Master Lehramt"
},
{"uniquename":"absolv_prom",
"caption_der_spalte":"Promotion",
"caption_in_ergebnistabelle":"Promotion",
"srcfieldname":"",
"targetfieldname":"absolv_prom",
"column_type":"logicalColumn",
"col_function":"(case when dim_studiengang_abschlussart=''G_Prom'' then summe else 0 end)",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"1",
"description":"Absolv. Promotion"
}
]
/>
<#if rpta_installed==1>
<@rpta_column_layout_fuellen />
</#if>

76
src-modules/module/viz/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_in_rsz_jahr_fuellen.sql

@ -1,76 +0,0 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
</sqlvar>
</sqlvars>
<#assign rpta_column_layout =
{"uniquename":"rpta_sos_lab_aggr_in_rsz_jahr",
"caption":"Absolvierende in oder über RSZ nach Jahr",
"rpta_resultset":"rpta_sos_lab_aggr",
"whereclause":"",
"description":"Absolvierende in oder über RSZ nach Jahr",
"is_virtual":1
}
/>
<#assign rpta_columns = [
{"uniquename":"jahr",
"caption":"Jahr",
"srcfieldname":"sem_der_pruefung",
"targetfieldname":"jahr",
"column_type":"logicalColumn",
"col_function":"get_akad_jahr(sem_der_pruefung,''A'')",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"(WS + darauffolgendes SS)"
},
{"uniquename":"absolv_in_rsz_summe",
"caption":"Absolv. in der RSZ",
"srcfieldname":"",
"targetfieldname":"absolv_in_rsz",
"column_type":"logicalColumn",
"col_function":"(case when fach_sem_zahl <= dim_studiengang_regel then summe
else 0 end)",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"1",
"description":"Absolv. unter RSZ"
},
{"uniquename":"absolv_ueber_rsz_summe",
"caption":"Absolv. über der RSZ",
"srcfieldname":"",
"targetfieldname":"absolv_ueber_rsz",
"column_type":"logicalColumn",
"col_function":"(case when fach_sem_zahl > dim_studiengang_regel then summe
else 0 end)",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"1",
"description":"Absolv. über RSZ"
},
{"uniquename":"absolv_unbek_rsz_summe",
"caption_der_spalte":"Absolv. unbek. RSZ",
"caption_in_ergebnistabelle":"Unbekannt",
"srcfieldname":"",
"targetfieldname":"absolv_unbek_rsz",
"column_type":"logicalColumn",
"col_function":"(case when fach_sem_zahl is null or dim_studiengang_regel is null then summe
else 0 end)",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"1",
"description":"Absolv. unbek RSZ"
}
]
/>
<#if rpta_installed==1>
<@rpta_column_layout_fuellen />
</#if>

46
src-modules/module/viz/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_jahr_fuellen.sql

@ -1,46 +0,0 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
</sqlvar>
</sqlvars>
<#assign rpta_column_layout =
{"uniquename":"rpta_sos_lab_aggr_jahr",
"caption":"Absolvierende nach Jahr",
"rpta_resultset":"rpta_sos_lab_aggr",
"whereclause":"",
"description":"Absolvierende nach Semester",
"is_virtual":1
}
/>
<#assign rpta_columns = [
{"uniquename":"jahr",
"caption":"Jahr",
"srcfieldname":"sem_der_pruefung",
"targetfieldname":"jahr",
"column_type":"logicalColumn",
"col_function":"get_akad_jahr(sem_der_pruefung,''P'')",
"is_visible":"1",
"format_code":"INT_NO_SEP",
"visible_size":"5",
"is_aggregate":"0",
"description":"(WS + darauffolgendes SS) Das Prüfungsjahr 2018 umfasst beispielsweise das Wintersemester 2017/2018 und das Sommersemester 2018."
},
{"uniquename":"summe",
"caption":"Anzahl der Absolvierenden",
"srcfieldname":"summe",
"column_type":"physicalColumn",
"col_function":"sum",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"Summe der Absolvierenden"
}
]
/>
<#if rpta_installed==1>
<@rpta_column_layout_fuellen />
</#if>

45
src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_zeitreihe_jahr_dashboard_fuellen.sql

@ -1,45 +0,0 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
</sqlvar>
</sqlvars>
<#assign rpta_column_layout =
{"uniquename":"sos_stud_dashboard_jahr",
"caption":"Studierende nach Studienjahr",
"rpta_resultset":"sos_stud_astat_dashboard",
"whereclause":"",
"description":"Studierende nach Studienjahr"
}
/>
<#assign rpta_columns = [
{"uniquename":"jahr",
"caption":"Jahr",
"srcfieldname":"sem_rueck_beur_ein",
"targetfieldname":"jahr",
"column_type":"logicalColumn",
"col_function":"get_akad_jahr(sem_rueck_beur_ein,''A'')",
"is_visible":"1",
"format_code":"INT_NO_SEP",
"visible_size":"5",
"is_aggregate":"0",
"description":"(WS + darauffolgendes SS)"
},
{"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>
<@rpta_column_layout_fuellen />
</#if>

4
src-modules/module/viz/schluesseltabellen/studierende_datenblatt_dashboard.sql

@ -117,7 +117,7 @@ select '(''tid_stg'',''sem_rueck_beur_ein'',''stichtag'',''geschlecht'', ''hzbar
from xdummy; from xdummy;
</sqlvar> </sqlvar>
<sqlvar name="added_table_fields"> <sqlvar name="added_table_fields">
select '(''fb'', ''abschluss_grp'', ''abschluss_grp_str'', ''fb_str'',''abschluss_astat_bund'',''regel'')' select '(''fb'', ''abschluss_grp'', ''abschluss_grp_str'', ''fb_str'',''abschluss_astat_bund'')'
from xdummy; from xdummy;
</sqlvar> </sqlvar>
@ -384,7 +384,7 @@ left outer join ${logical_field.join_field}
'; ';
--whereclause erstmal primitiv --whereclause erstmal primitiv
update tmp_rpta_resultset set whereclause = 'and stichtag in (select tid from sos_stichtag where appl_key in (''0'',''1'')) and hrst in (select apnr from sos_k_hrst HRST where HRST.astat in (''1'',''2'')) and kz_rueck_beur_ein in (1,2,3)'; update tmp_rpta_resultset set whereclause = 'and stichtag in (select tid from sos_stichtag where appl_key=''0'') and hrst in (select apnr from sos_k_hrst HRST where HRST.astat in (''1'',''2'')) and kz_rueck_beur_ein in (1,2,3)';
select * into temp tmp_rs1 select * into temp tmp_rs1
from rpta_resultset from rpta_resultset
; ;

109
src-modules/module/viz/schluesseltabellen/sx_captions_fuellen.sql

@ -1,109 +0,0 @@
--freemarker template
<#if SQLdialect='Postgres'>
select setval('sx_captions_tid_seq',(select max(tid) from sx_captions));
</#if>
<#assign sachgebiete_id="16" />
<#assign table_name="felderinfo" />
<#assign locale="de" />
<#assign sx_captions = [
{"field_name":"viz_label_koepfe_faelle",
"contents_short":"Studierendenzählung",
"contents_long":"Dient zur Einschränkung Köpfe, Fälle etc.",
"doku_link":"",
"export_to_glossar":"1"} ,
{"field_name":"viz_label_Zeitraum",
"contents_short":"Zeitraum",
"contents_long":"Dient zur Einschränkung Semester, Jahr etc.",
"doku_link":"",
"export_to_glossar":"1"} ,
{"field_name":"viz_label_Studiengang",
"contents_short":"Studiengang",
"contents_long":"Dient zur Einschränkung Studiengang etc.",
"doku_link":"",
"export_to_glossar":"1"} ,
{"field_name":"viz_label_Status",
"contents_short":"Filter nach Status",
"contents_long":"Dient zur Einschränkung Status",
"doku_link":"",
"export_to_glossar":"1"}
] />
--Ab hier braucht man nichts ändern:
CREATE TEMP TABLE tmp_sx_captions
(
id char(200),
table_name char(200),
field_name char(200),
record_no integer,
locale char(10),
contents_short char(255),
contents_long text,
equalitystatus smallint,
sachgebiete_id integer,
doku_link varchar(255),
export_to_glossar integer
);
<#foreach caption in sx_captions>
insert into tmp_sx_captions
(
id,
table_name,
field_name,
record_no,
locale,
contents_short,
contents_long,
equalitystatus,
doku_link,
export_to_glossar,
sachgebiete_id
)
select
null,
'${table_name}',
'${caption.field_name}',
null,
'${locale}',
'${caption.contents_short}',
'${caption.contents_long}',
null,
'${caption.doku_link}',
${caption.export_to_glossar},
${sachgebiete_id}
from xdummy;
</#foreach>
delete from tmp_sx_captions where table_name = '${table_name}' and (field_name in (select field_name from sx_captions));
insert into sx_captions
(
id,
table_name,
field_name,
record_no,
locale,
contents_short,
contents_long,
equalitystatus,
doku_link,
export_to_glossar,
sachgebiete_id
)
select
id,
table_name,
field_name,
record_no,
locale,
contents_short,
contents_long,
equalitystatus,
doku_link,
export_to_glossar::integer,
sachgebiete_id
from tmp_sx_captions;

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

File diff suppressed because one or more lines are too long

19
src-modules/module/viz/schluesseltabellen/viz_chart_fuellen.sql

@ -16,7 +16,6 @@ where uniquename in (
'STUDANF_GESCHL_PIE', 'STUDANF_GESCHL_PIE',
'STUDANF_HZB_LAND_BAR', 'STUDANF_HZB_LAND_BAR',
'STUDANF_JAHR_BAR', 'STUDANF_JAHR_BAR',
'STUDANF_JAHR_LINE',
'STUDANF_KOHORTEN_BAR_Y_ECHART', 'STUDANF_KOHORTEN_BAR_Y_ECHART',
'STUDANF_KOHORTEN_BAR_Y_ECHART_INVERTED', 'STUDANF_KOHORTEN_BAR_Y_ECHART_INVERTED',
'STUDANF_SEM_LINE_TEXT', 'STUDANF_SEM_LINE_TEXT',
@ -70,14 +69,7 @@ uniquename,
chart_height, chart_height,
chart_miniature_width, chart_miniature_width,
chart_miniature_height, chart_miniature_height,
is_custom, is_custom)
js_handler,
chart_card_class,
chart_container_class,
chart_container_id,
chart_class_name,
chart_element_id,
chart_title_position)
select select
uniquename, uniquename,
@ -98,14 +90,7 @@ uniquename,
chart_height, chart_height,
chart_miniature_width, chart_miniature_width,
chart_miniature_height, chart_miniature_height,
is_custom, is_custom
js_handler,
chart_card_class,
chart_container_class,
chart_container_id,
chart_class_name,
chart_element_id,
chart_title_position
FROM tmp_viz_chart FROM tmp_viz_chart
where is_custom=0; where is_custom=0;

10
src-modules/module/viz/schluesseltabellen/viz_chart_unload.x

@ -20,14 +20,6 @@ DOQUERY "select tid,
chart_height, chart_height,
chart_miniature_width, chart_miniature_width,
chart_miniature_height, chart_miniature_height,
is_custom, is_custom from viz_chart where is_custom=0 order by uniquename" false ^ viz_chart.unl txt
js_handler ,
chart_card_class,
chart_container_class,
chart_container_id,
chart_class_name,
chart_element_id,
chart_title_position
from viz_chart where is_custom=0 order by uniquename" false ^ viz_chart.unl txt

17
src-modules/module/viz/schluesseltabellen/viz_chart_upload.x

@ -18,18 +18,11 @@ renderer_id INTEGER ,
chartmodel_miniature TEXT , chartmodel_miniature TEXT ,
chart_position CHAR(10) , chart_position CHAR(10) ,
chart_active SMALLINT default 1 , chart_active SMALLINT default 1 ,
chart_width VARCHAR(255) default '600' , chart_width INTEGER default 600 ,
chart_height VARCHAR(255) default '400' , chart_height INTEGER default 400 ,
chart_miniature_width VARCHAR(255) default '200' , chart_miniature_width INTEGER default 200 ,
chart_miniature_height VARCHAR(255) default '100' , chart_miniature_height INTEGER default 100 ,
is_custom SMALLINT, is_custom SMALLINT
js_handler TEXT,
chart_card_class VARCHAR(255) ,
chart_container_class VARCHAR(255) ,
chart_container_id VARCHAR(255) ,
chart_class_name VARCHAR(255) ,
chart_element_id VARCHAR(255) ,
chart_title_position VARCHAR(255)
) )
;" ;"

8
src-modules/module/viz/schluesseltabellen/viz_properties_echarts_fuellen.sql

@ -630,10 +630,10 @@
{ "caption":"Ausrichtung Wertelabel (vertikal)", { "caption":"Ausrichtung Wertelabel (vertikal)",
"prop_uniquename":"position_valueLabel", "prop_uniquename":"position_valueLabel",
"explanation":"", "explanation":"",
"prop_default":"inside", "prop_default":"top",
"prop_unit":"", "prop_unit":"",
"is_generic":"1", "is_generic":"1",
"static_values":"top|left|right|bottom|inside|insideLeft|insideRight|insideTop|insideBottom|insideTopLeft|insideBottomLeft|insideTopRight|insideBottomRight", "static_values":"top|center|bottom",
"is_mandatory":"0", "is_mandatory":"0",
"input_type_uniquename":"SELECT", "input_type_uniquename":"SELECT",
"property_group_uniquename":"", "property_group_uniquename":"",
@ -717,9 +717,9 @@
"prop_default":"", "prop_default":"",
"prop_unit":"", "prop_unit":"",
"is_generic":"1", "is_generic":"1",
"static_values":"", "static_values":"D3_Tableau10|D3_category10|D3_Accent|D3_Dark2|D3_observable10|D3_Paired|D3_Pastel1|D3_Pastel2|D3_Set1|D3_Set2|D3_Set3|unique|dichotom|abgrp|fak|quadroColor|blandLocalized|colorGrades",
"is_mandatory":"0", "is_mandatory":"0",
"input_type_uniquename":"COLORPALETTE", "input_type_uniquename":"SELECT",
"property_group_uniquename":"", "property_group_uniquename":"",
"sortnr":"410", "sortnr":"410",
"range_from":"", "range_from":"",

43
src-modules/module/viz/schluesseltabellen/viz_properties_echarts_sankey_fuellen.sql

@ -1,43 +0,0 @@
--Freemarker Template
<#include "SQL_lingua_franca"/>
<#include "SuperX_general"/>
<#include "VIZ-Makros"/>
<sqlvars>
<sqlvar name="renderer">
select tid from viz_renderer where uniquename='echarts';
</sqlvar>
</sqlvars>
<#assign viz_types = [
{"uniquename":"echarts_sankey", "caption":"Sankey-Diagramm",
"orientation":"Z",
"description":"Flussiagramm",
"explanation":""}
]
/>
<#assign viz_type_properties = [
{"viz_property_uniquename":"dimension1",
"is_mandatory":"1"},
{"viz_property_uniquename":"dimension2",
"is_mandatory":"1"},
{"viz_property_uniquename":"measure1",
"is_mandatory":"1"},
{"viz_property_uniquename":"nodeGap"}
]
/>
<@create_temp_tables />
<#foreach viz_type in viz_types>
<@fill_viz_types viz_type_p=viz_type />
<@fill_viz_type_properties viz_type_p=viz_type />
</#foreach>

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

@ -1,60 +1,70 @@
214^Wertelabel offset (vertikal)^offset_y_valueLabel^ ^ ^1^ ^0^1^^Wertelabel wird vertikal leicht verschoben, z.B. 40 bedeutet 40 Pixel nach unten^4100^^^STRING^^ 1^Grafik-Höhe^height^450^ ^1^ ^0^4^10^Diagrammhöhe (exkl. Skalenbeschriftung). Wird nur ausgewertet wenn es keine Y-Achse gibt!^101^^^integer^
215^Wertelabel offset (horizontal)^offset_x_valueLabel^ ^ ^1^ ^0^1^^Wertelabel wird horizontal leicht verschoben, z.B. 30 bedeutet 30 Pixel nach rechts^4000^^^STRING^^ 2^Grafik-Breite^width^650^ ^1^ ^0^4^10^Diagrammsbreite (exkl.Skalenbeschriftung)^102^100^2000^integer^
173^Rand oben in %^margin.top^16^%^1^ ^0^1^^Oberer Rand in %^1900^^^integer^^ 3^Werte-Label-Breite^valueLabelWidth^^^0^^0^1^18^^^^^integer^
172^Rand rechts in %^margin.right^0^%^1^ ^0^1^^Rechter Rand in %^1800^^^integer^^ 4^Hintergrundfarbe^backgroundColor^#ffffff^ ^0^#ffffeb^0^3^11^Hintergrundfarbe der Grafik^201^^^string^
171^Rand links in %^margin.left^20^%^1^ ^0^1^^Linker Rand in %^1700^^^integer^^ 5^Schriftfarbe^color^ ^ ^0^black^0^3^11^Farbe von Text- und Diagrammelementen^202^^^string^
213^Gestapelte Balken^barStacked^false^ ^0^true|false^0^2^^ ^5100^^^STRING^^ 6^Schriftgröße^fontSize^^px^0^ ^0^4^11^Schriftgröße der Skalenbeschriftung^204^^^integer^
199^Abgerundete Ecken^cornerRadiusRounded^true^ ^0^true|false^0^2^^Abgerundete Ecken der Tortenstücke^4800^^^STRING^^ 7^Schriftfamilie^fontFamily^^ ^0^serif|sans-serif|monospace|system_ui^0^2^11^Schriftfamlilie der Skalenbeschriftung^203^^^string^
187^Y-Achse Beschriftung^yAxisLabelNode^ ^ ^0^ ^0^7^^Y-Achse-Beschriftung^3000^^^NODE^^ 8^Flächenfarbe^fill_static^ ^ ^0^ ^0^3^11^Nur für Grafikelemente Flächen und Balken. Füllfarbe.^1300^^^string^
185^Y-Achse^yAxisNode^ ^ ^0^ ^0^7^^Y-Achse-Element^2800^^^NODE^^ 11^X: Schriftneigung^tickRotate_x^^ ^0^ ^0^1^18^Neigungswinkel der Achsenwerte^604^^^integer^
181^X-Achse Beschriftung^xAxisLabelNode^ ^ ^0^ ^0^7^^X-Achse-Beschriftung^2400^^^NODE^^ 12^X: Skalierung^ticks_x^^ ^0^ ^0^1^18^Feinheit der Wertegliederung^605^^^integer^
178^X-Achse^xAxisNode^ ^ ^0^ ^0^7^^X-Achse-Element^2100^^^NODE^^ 13^X: Schriftgröße^tickSize_x^^ ^0^ ^0^1^18^Größe der Achsenwerte^603^^^integer^
170^Ränder^marginNode^ ^ ^1^ ^0^7^^ ^1600^^^NODE^^ 15^X: Label-Ausrichtung^labelAnchor_x^^ ^0^left|center|right^0^2^18^Label-Position^601^^^string^
206^Legende^legendNode^ ^ ^1^ ^0^7^^Legenden-Element^1100^^^NODE^^ 16^Außenrand links^marginLeft^100^^0^ ^0^4^10^Abstand zwischen Grafik und linkem Hintergrundrand^103^^^integer^
174^X-Achse^x^ ^ ^0^ ^1^2^5^X-Achse^200^^^string^^ 17^Außenrand rechts^marginRight^ ^^0^ ^0^4^10^Abstand zwischen Grafik und rechtem Hintergrundrand^104^^^integer^
166^Titel^titleNode^ ^ ^1^ ^0^7^^Titel-Element^700^^^NODE^^ 18^Außenrand oben^marginTop^ ^^0^ ^0^4^10^Abstand zwischen Grafik und oberem Hintergrundrand^105^^^integer^
161^Innerer Radius^innerRadius^0^ ^0^ ^0^1^10^Innerer Radius bei Tortendiagrammen (Faktor in %). Bei 0 wird kein innerer Radius genutzt, ein Wert größer 0 macht das Tortendiagramm zum Donut.^700^0^100^string^^ 19^Außenrand unten^marginBottom^ ^^0^ ^0^4^10^Abstand zwischen Grafik und unterem Hintergrundrand^106^^^integer^
165^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^1100^^^string^^ 20^Innenrand oben^insetTop^ ^^0^ ^0^4^10^Abstand zwischen Grafik und Achsenbeschriftung oben^107^^^integer^
156^Diagrammelement^seriesNode^ ^ ^1^ ^0^7^^Layout der Diagrammelemente^600^^^NODE^^ 21^Innenrand unten^insetBottom^ ^^0^ ^0^4^10^Abstand zwischen Grafik und Achsenbeschriftung unten^108^^^integer^
159^Dimension 2^dimension2^ ^ ^0^ ^0^2^5^Dimension 2^400^^^string^^ 22^Innenrand links^insetLeft^ ^^0^ ^0^4^10^Abstand zwischen Grafik und Achsenbeschriftung links^109^^^integer^
191^Y: Distanz Beschriftung^distance_y^0^ ^0^ ^0^1^^Y-Achse Abstand Beschriftung zum Item^3400^^^integer^^ 23^Innenrand rechts^insetRight^ ^^0^ ^0^4^10^Abstand zwischen Grafik und Achsenbeschriftung rechts^110^^^integer^
190^Y: Beschriftung Breite^width_y^50^px^0^ ^0^1^^Y-Achse Breite Beschriftung^3300^^^integer^^ 24^Farbschema^scheme^ ^ ^0^blues|greens|greys|oranges|purples|reds|paired|set1|pastel1|pastel2|tableau10|category10|accent|dark2|custom1^0^2^22^Nur für Grafikelemente Balken, Linien, Torten: Farbtonschema für Serien.^303^^^string^
189^Y: Abstand Beschriftung^padding_y^5^ ^0^ ^0^1^^Y-Achse Abstand Beschriftung zur Achsenlinie^3200^^^integer^^ 25^Farbtyp^type^^ ^0^einfarbig|mehrfarbig|zyklisch^0^2^20^Ein-/Mehrfarbigkeit von Diagrammelementen^302^^^string^
179^X-Achse Name^xAxisName^ ^ ^0^ ^0^1^^X-Achse-Name^2200^^^STRING^^ 43^Deckungsgrad Farbe^fillOpacity^ ^ ^0^ ^0^1^11^Deckungsrad (opacity) zwischen 0 und 1^1800^0^1^string^
177^Rand unten in %^margin.bottom^20^%^1^ ^0^1^^Unterer Rand in %^2000^^^integer^^ 45^Strichlinie Breite^strokeWidth^ ^px^0^ ^0^1^11^Strichbreite in Pixel^2100^^^integer^
160^Dimension 3^dimension3^ ^ ^0^ ^0^2^5^Dimension 3^500^^^string^^ 56^Fortlaufende Skala^continous scales^^ ^0^identity|linear|log|pow|sqrt|symlog^0^2^15^Art der Skalen-Gliederung^401^^^string^
167^Untertitel-Text^subtitle^ ^ ^1^ ^0^1^^Text^800^^^STRING^^ 57^Kategorie-Skala^categorical scales^^ ^0^point|band^0^2^15^Art der Skalen-Gliederung^402^^^string^
162^Beschriftung Radius^labelRadiusFactor^80^ ^0^ ^0^1^10^Beschriftungs-Radius Faktor bei Tortendiagrammen (Faktor in %). Bei 0 wird kein innerer Radius genutzt, ein Wert größer 0 macht das Tortendiagramm zum Donut.^800^0^100^string^^ 58^Datums-Skala^date scales^^ ^0^time|utc^0^2^15^Art der Skalen-Gliederung^403^^^string^
216^Farbpalette Ziel^seriesColorBy^series^ ^0^series|data^0^2^^Farbpalette gilt für die Serie oder zur Untrscheidung der Daten^4500^^^STRING^^ 60^Farbschema-Typ^schemetype^^ ^0^linear|sqrt|pow|log|symlog|sequential|cyclical|quantile^0^2^20^Art der Farbverteilung in Diagrammelementen^304^^^string^
163^Kanten-Radius^cornerRadius^10^px^0^ ^0^1^10^Ecken-Radius bei Tortendiagrammen (in Pixel). Bei 0 wird keine gerundete Kante genutzt, ein Wert größer 0 macht das Tortendiagramm zum Donut.^900^0^50^string^^ 61^Grafik-Elementtyp^marks^ ^ ^0^Plot.line|Plot.dot|Plot.areaX|Plot.areaY.|Plot.barX|Plot.barY|Plot.rectX|Plot.rectY|Plot.ruleX|Plot.ruleY|Plot.tickX|Plot.tickY|Plot.arrow|Plot.cell|Plot.text|Plot.link|Plot.image^0^2^12^Ausrichtung und Form der grafischen Elemente^301^^^string^
197^Farbpalette (vordef.)^schemeArray^ ^ ^1^D3_Tableau10|D3_category10|D3_Accent|D3_Dark2|D3_observable10|D3_Paired|D3_Pastel1|D3_Pastel2|D3_Set1|D3_Set2|D3_Set3|unique|dichotom|abgrp|fak|quadroColor|blandLocalized|colorGrades^0^2^^Farbpalette^4400^^^STRING^^ 63^X: Label-Abstand^labelOffset_x^^^0^ ^0^1^18^Label-Abstand von Achse^602^^^integer^
196^Ausrichtung Wertelabel (vertikal)^position_valueLabel^top^ ^1^top|center|bottom^0^2^^ ^3900^^^STRING^^ 68^Maß: Chart-Abstand^gridChartOffset^^ ^0^ ^0^1^18^ ^607^^^string^
194^Label anzeigen^valueLabelShow^true^ ^1^true|false^0^2^^ ^3700^^^STRING^^ 69^Maß: Label-Höhe^gridLabelHeight^^^0^ ^0^1^18^ ^608^^^integer^
192^Ausrichtung Y-Label (vertikal)^position_y^center^ ^1^top|center|bottom^0^2^^ ^3500^^^STRING^^ 70^X-Achse^x^ ^ ^0^ ^0^1^5^X-Achsendefinition^100^^^string^
180^X-Achse Name Position^xAxisNameLocation^end^ ^0^start|center|end^0^2^^Position der X-Achsenbezeichnung^2300^^^STRING^^ 72^Y-Achse^y^ ^ ^0^ ^0^1^5^Y-Achsendefinition^200^^^string^
211^Legende scrollbar^legend.scroll^false^ ^1^true|false^0^2^^ ^1500^^^STRING^^ 73^Maß 1^measure1^ ^ ^0^ ^0^2^5^Maß^300^^^string^
212^Legenden-Ausrichtung (horizontal)^legend.left^left^ ^1^left|center|right^0^2^^ ^1400^^^STRING^^ 76^Serien-Dimension^stroke^ ^ ^0^ ^0^1^5^Serien-Dimension zusätzlich zu Achsen^300^^^string^
208^Legenden-Ausrichtung (vertikal)^legend.top^bottom^ ^1^top|middle|bottom^0^2^^ ^1300^^^STRING^^ 78^Legende^legend^ ^ ^0^true|false^0^2^22^ ^303^^^boolean^
207^Legende anzeigen^legendShow^true^ ^1^true|false^0^2^^ ^1200^^^STRING^^ 79^Beschriftung^text^ ^ ^0^ ^0^1^5^Nur für Grafikelement Wertelabel^400^^^string^
169^Titel-Ausrichtung (vertikal)^title.top^top^ ^1^top|center|bottom^0^2^^ ^1000^^^STRING^^ 80^Serienfarbe^fill^ ^ ^0^ ^0^1^22^Nur für Grafikelemente Balken und Linien: Merkmal der Serien-Dimension^305^^^string^
205^X: Skala^scale_x^linear^ ^1^linear|identity|point|band|time^0^2^18^ ^1000^^^string^^ 81^Y: Label-Abstand^labelOffset_y^^^0^ ^0^1^21^Label-Abstand von Achse^602^^^integer^
168^Titel-Ausrichtung (horiz.)^title.left^left^ ^1^left|center|right^0^2^^ ^900^^^STRING^^ 82^Y: Label-Ausrichtung^labelAnchor_y^^ ^0^left|center|right^0^2^21^Label-Position^601^^^string^
193^Wertelabel^valueLabelNode^ ^ ^1^ ^0^7^^Beschriftung der Diagrammelemente^3600^^^NODE^^ 83^Y: Schriftgröße^tickSize_y^^ ^0^ ^0^1^21^Größe der Achsenwerte^603^^^integer^
203^Strichfarbe^stroke_static^ ^ ^0^ ^0^3^11^Strichfarbe (einfach)^800^^^string^^ 84^Y: Schriftneigung^tickRotate_y^^ ^0^ ^0^1^21^Neigungswinkel der Achsenwerte^604^^^integer^
204^Flächenfarbe^fill_static^ ^ ^0^ ^0^3^11^Nur für Grafikelemente Flächen und Balken. Füllfarbe.^900^^^string^^ 85^Y: Skalierung^ticks_y^^ ^0^ ^0^1^21^Feinheit der Wertegliederung^605^^^integer^
201^Spaltenselektion bei Serien^series_selection_column^ ^ ^0^ ^0^1^^Optionale Auswahl der Spalten einer Tabelle. Sie können mit Operator größer, kleiner, oder komma-getrennten Listen der Spaltennummern arbeiten.^5000^^^STRING^^ 86^X: Label^label_x^^ ^0^ ^0^1^18^Label X-Achse^602^^^string^
200^Zeilenselektion bei Serien^series_selection_line^ ^ ^0^ ^0^1^^Optionale Auswahl der Zeilen einer Tabelle. Sie können mit Operator größer, kleiner, oder komma-getrennten Listen der Zeilennummern arbeiten.^4900^^^STRING^^ 87^Y: Label^label_y^^ ^0^ ^0^1^21^Label Y-Achse^602^^^string^
198^Äußerer Radius in %^outerRadius^80^%^0^ ^0^1^^Äußerer Radius bei Tortendiagrammen (Faktor in %). Parameter definiert den Anteil des Kreises am ganzen Rechteck^4700^^^INTEGER^^ 88^Punktdicke^r^^ ^0^ ^0^1^5^Punktdicke von Diagrammelementen (relevant für Plot.dot, Plot.tickX/Y)^308^^^string^
195^Wertelabel: Distanz Beschriftung^distance_valueLabel^10^ ^1^ ^0^1^^Wertelabel Abstand Beschriftung zum Item. Wird nur ausgewertet wenn Ausrichtung Wertelabel (vertikal)=top gesetzt wird.^3800^^^integer^^ 91^Quell-Dimension^viz_source^^ ^0^ ^0^1^5^ ^608^^^string^
188^Y: Schriftneigung^tickRotate_y^ ^ ^0^ ^0^1^^Y-Achse-Beschriftung Schriftneigung^3100^-90^90^integer^^ 92^Ziel-Dimension 1^viz_target1^^ ^0^ ^0^1^5^ ^608^^^string^
186^Y-Achse Name^yAxisName^ ^ ^0^ ^0^1^^Y-Achse-Name^2900^^^STRING^^ 93^X: Linie^line_x^true^ ^0^true|false^0^2^18^Linie X-Achse^602^^^boolean^
184^X: Abstand Beschriftung^padding_x^5^ ^0^ ^0^1^^X-Achse Abstand Beschriftung zur Achsenlinie^2700^^^integer^^ 94^Y: Linie^line_y^true^ ^0^true|false^0^2^21^Linie Y-Achse^602^^^boolean^
183^X: Beschriftung Breite^width_x^100^px^0^ ^0^1^^X-Achse Breite Beschriftung^2600^^^integer^^ 95^Dimension 1^dimension1^ ^ ^0^ ^0^2^5^Dimension 1^100^^^string^
182^X: Schriftneigung^tickRotate_x^30^ ^0^ ^0^1^^X-Achse-Beschriftung Schriftneigung^2500^-90^90^integer^^ 96^Dimension 2^dimension2^ ^ ^0^ ^0^2^5^Dimension 2^200^^^string^
164^Label-Deckungsgrad^labelOpacity^70^ ^0^ ^0^1^10^Deckungsgrad Faktor bei Beschriftungen (Faktor in %). Bei 100 ist maximale Deckung erreicht^1000^0^100^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^
175^Y-Achse^y^ ^ ^0^ ^1^2^5^Y-Achse^300^^^string^^ 98^Y-Wertebereich^domain^ ^ ^0^ ^0^1^21^Bittte Wertebereich mit [] eingeben, z.B. [0,100] für 0-100^1000^^^js^
176^Serien-Dimension^stroke^ ^ ^0^ ^1^2^5^Serien-Dimension^600^^^string^^ 99^X: Skala^scale_x^band^ ^0^linear|identity|point|band|time^0^2^18^ ^1000^^^string^
202^Einzelfarbe^singleColor^ ^ ^0^ ^0^3^11^Linien- oder Balkenfarbe (einfach). Wird mit höherer Priorität ausgewertet als die Palette^4300^^^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^
155^Dimensionen^dimensionsNode^ ^ ^0^ ^0^7^^Dimensionen^100^^^NODE^^ 101^Offset (horizontal)^dx^ ^px^0^ ^0^1^10^Horizontales Offset des Grafikelements in Pixel^1600^^^integer^
157^Dimension 1^dimension1^ ^ ^0^ ^1^2^5^Dimension 1^200^^^string^^ 102^Offset (vertikal)^dy^ ^px^0^ ^0^1^10^Vertikales Offset des Grafikelements in Pixel^1700^^^integer^
158^Maß 1^measure1^ ^ ^0^ ^1^2^6^Maß 1^300^^^string^^ 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^
110^Innerer Radius^innerRadius^0^ ^0^ ^0^1^10^Innerer Radius bei Tortendiagrammen (Faktor in %). Bei 0 wird kein innerer Radius genutzt, ein Wert größer 0 macht das Tortendiagramm zum Donut.^400^0^100^string^
111^Beschriftung Radius^labelRadiusFactor^80^ ^0^ ^0^1^10^Beschrftungs-Radius Faktor bei Tortendiagrammen (Faktor in %). Bei 0 wird kein innerer Radius genutzt, ein Wert größer 0 macht das Tortendiagramm zum Donut.^500^0^100^string^
112^Kanten-Radius^cornerRadius^10^px^0^ ^0^1^10^Ecken-Radius bei Tortendiagrammen (in Pixel). Bei 0 wird keine gerundete Kante genutzt, ein Wert größer 0 macht das Tortendiagramm zum Donut.^600^0^50^string^
113^Label-Deckungsgrad^labelOpacity^70^ ^0^ ^0^1^10^Deckungsgrad Faktor bei Beschriftungen (Faktor in %). Bei 100 ist maximale Deckung erreicht^700^0^100^string^

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

@ -5,4 +5,3 @@
5^TEXTAREA^Großes Textfeld^ 5^TEXTAREA^Großes Textfeld^
6^CHECKBOX^Ankreuzfeld^ 6^CHECKBOX^Ankreuzfeld^
7^NODE^Knotenelement^ 7^NODE^Knotenelement^
8^COLORPALETTE^Farbpalette^

13
src-modules/module/viz/upgrade/viz_upgrade_man.sql

@ -5,16 +5,11 @@ select sp_table_exists('k_astat_abschl_grp') from xdummy;
</sqlvar> </sqlvar>
</sqlvars> </sqlvars>
alter table viz_chart alter column chart_width type varchar(255); update viz_chart set chart_width=600 where chart_width is null;
alter table viz_chart alter column chart_height type varchar(255); update viz_chart set chart_height=400 where chart_height is null;
alter table viz_chart alter column chart_miniature_width type varchar(255);
alter table viz_chart alter column chart_miniature_height type varchar(255);
update viz_chart set chart_width='600' where chart_width is null; update viz_chart set chart_miniature_width=600 where chart_miniature_width is null;
update viz_chart set chart_height='400' where chart_height is null; update viz_chart set chart_miniature_height=400 where chart_miniature_height is null;
update viz_chart set chart_miniature_width='600' where chart_miniature_width is null;
update viz_chart set chart_miniature_height='400' where chart_miniature_height is null;
<#if k_astat_abschl_grp_exists==1> <#if k_astat_abschl_grp_exists==1>
--Querabhängigkeit zum Kernmodul 5.2 abwärtskomp.: --Querabhängigkeit zum Kernmodul 5.2 abwärtskomp.:

87
superx/style/sx_viz_muster.css

@ -85,8 +85,7 @@ html, body {
background: #e0e0e0; } background: #e0e0e0; }
.dashboard-tabs li.is-active { /*20251007 eingefügt*/ .dashboard-tabs li.is-active { /*20251007 eingefügt*/
background: #ebf1f3; background: #ebf1f3; }
color: midnightblue; }
.input::-moz-placeholder, .textarea::-moz-placeholder, .select select::-moz-placeholder { .input::-moz-placeholder, .textarea::-moz-placeholder, .select select::-moz-placeholder {
font-size: 0.8rem; font-size: 0.8rem;
@ -159,7 +158,6 @@ html, body {
text-align: center; text-align: center;
font-size:1.2em; font-size:1.2em;
font-weight:bolder; font-weight:bolder;
color: midnightblue;
background: #ebf1f3; } background: #ebf1f3; }
.navbar {background-color: white;} /*20250221 eingefügt*/ .navbar {background-color: white;} /*20250221 eingefügt*/
@ -430,87 +428,4 @@ html, body {
vertical-align:center; vertical-align:center;
} }
.fixed-right-buttons {
position: fixed;
right: 0.1%; /* Abstand vom rechten Bildschirmrand */
top: 50%; /* Zentriert den Button-Block vertikal;*/
transform: translateY(-50%); /* Zentrierung anpassen */
display: flex;
flex-direction: column; /* Buttons vertikal anordnen */
gap: 10px; /* Abstand zwischen den Buttons */
z-index: 600;
padding: 0.7% 0% 0.7% 0%;
}
.inside-buttons { /*20250530 BF ergänzt: wenn sidebar offen*/
display: block;
position: fixed;
top: 50%;
z-index: 700;
left: calc(100% - 545px - 40px);/* Viewport-Breite minus Sidebar-Breite minus Abstand */
transform: none; /* keine vertikale Zentrierung */
}
.sidebar { /*20250523 BF ergänzt*/
position: fixed;
top: 120px; /*Abstand zur oberen Leiste*/
padding-top:2em;
padding-left:0.5em;
padding-right: 0.7em;
right: 0em;
bottom: 0;
width: 545px; /*Breite nach Bedarf */
background: white;
box-shadow: -2px 0 5px rgba(0,0,0,0.1);
overflow-y: auto;
z-index: 700; /*für Anzeige über Content*/
}
.subheaderMaskDialogs
{background-color:#cccccc;
font-weight:bolder;
font-size:1.2rem;
/* margin-left:0;*/
margin-top:0.2em;
margin-bottom:0.2em;
margin-right:0px;
padding-left:0.5em;
}
.viz_content
{
margin-left:1em;
}
//Für sidebar:
.card-content {
border: thin solid hsl(0, 0%, 71%);
border-radius: 0.3rem !important;
padding-right:20%
}
.vizLabel-container {
display: flex;
background: inherit;
min-width: 26em;
height:2.7rem;
}
.label.is-small { width: 100%; } /*einheitliche Labelbreite*/
.button { font-weight: bold;
font-size:1.5em;
}
input.sideBarInput
{
font-size:2.1rem;
font-weight:normal;
}
/* Tooltip-Farbe */
[data-tooltip]:not(.is-disabled).has-tooltip-bottom::before,
[data-tooltip]:not(.is-loading).has-tooltip-bottom::before,
[data-tooltip]:not([disabled]).has-tooltip-bottom::before {
background-color: #a6a6a6ff; /*#333;*/
color: white;
}

18
superx/xml/js/viz/viz_assistent.js

@ -1039,30 +1039,12 @@ function renderTreeInput(chartProperty,inputId, previousValue)
zs+=" onChange=\"changeColorWithColorPicker(this,'"+inputId+"');treeInputOnchange('chartDiv',myChartModel);\">"; zs+=" onChange=\"changeColorWithColorPicker(this,'"+inputId+"');treeInputOnchange('chartDiv',myChartModel);\">";
zs+="</input></span>"; zs+="</input></span>";
break; break;
case "COLORPALETTE":
zs="&nbsp;<span class=\"field\"><select " +styleAttr+" id=\""+inputId+"\" name=\""+inputId+"\"";
zs+=" value=\""+previousValue +"\" onChange=\"treeInputOnchange('chartDiv',myChartModel);\" >";
var opts=convertvizColorSchemesToInputValues(); //vizColorSchemes.map(vizColorScheme => vizColorScheme.uniquename);
zs+=getTreeInputSelectOptions(opts,previousValue,chartProperty.isMandatory) ;
zs+="</select></span>";
break;
default: default:
zs="Unbekannter Feldtyp"; zs="Unbekannter Feldtyp";
break; break;
} }
return zs; return zs;
} }
function convertvizColorSchemesToInputValues()
{
var vals=[];
for(var i=0;i<vizColorSchemes.length;i++){
var o=new selectionPropertyValue(i,vizColorSchemes[i].caption,vizColorSchemes[i].uniquename,false)
vals.push(o);
}
return vals;
}
function changeColorWithColorPicker(colorpickerInput,targetInputid) function changeColorWithColorPicker(colorpickerInput,targetInputid)
{ {
document.getElementById(targetInputid).value=colorpickerInput.value; document.getElementById(targetInputid).value=colorpickerInput.value;

255
superx/xml/js/viz/viz_viewer.js

@ -163,8 +163,7 @@ function openModalCardDetail(ergebniselementOrdnr)
function fillEchartsDataSet(myRs,myRsMetaData,currentChartModel) function fillEchartsDataSet(myRs,myRsMetaData,currentChartModel)
{ {
var dataset =new Array(); var dataset =new Array();
var chartType=currentChartModel.chartElements[0].vizTypeUniquename;
var chartType=(currentChartModel!=null)?currentChartModel.chartElements[0].vizTypeUniquename : "echarts_generic";
//Identify dimensions and measures: //Identify dimensions and measures:
switch (chartType) { switch (chartType) {
case "echarts_pie": case "echarts_pie":
@ -180,9 +179,7 @@ function fillEchartsDataSet(myRs,myRsMetaData,currentChartModel)
var seriesSelectionColumn=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"series_selection_column"); var seriesSelectionColumn=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"series_selection_column");
dataset=fillEchartsDataSetSeries(myRs,myRsMetaData,dimension1Fldname,seriesSelectionLine,seriesSelectionColumn); dataset=fillEchartsDataSetSeries(myRs,myRsMetaData,dimension1Fldname,seriesSelectionLine,seriesSelectionColumn);
break; break;
case "echarts_generic": default:
dataset=fillEchartsDataSetSimpleCopy(myRs,myRsMetaData);
break; default:
dataset=fillEchartsDataSetSimpleCopy(myRs,myRsMetaData); dataset=fillEchartsDataSetSimpleCopy(myRs,myRsMetaData);
break; break;
} }
@ -1597,13 +1594,9 @@ function renderEChart2(currentChartModel,chartDiv,ergebniselementOrdnr,chartTitl
break; break;
case "echarts_pie": case "echarts_pie":
option=getEchartOptionsPie(currentChartModel,myDataset); option=getEchartOptionsPie(currentChartModel,myDataset,titleText);
break; break;
case "echarts_sankey": case "echarts_native":
option=getEchartOptionsSankey(currentChartModel,myDataset);
break;
case "echarts_native":
option=getEchartOptionsNative(currentChartModel,myDataset,titleText); option=getEchartOptionsNative(currentChartModel,myDataset,titleText);
break; break;
@ -1618,7 +1611,7 @@ function renderEChart2(currentChartModel,chartDiv,ergebniselementOrdnr,chartTitl
document.getElementById("chartCodeTextArea").innerHTML=prettifyJson(JSON.stringify(option)); document.getElementById("chartCodeTextArea").innerHTML=prettifyJson(JSON.stringify(option));
myChart.setOption(option); myChart.setOption(option);
window.addEventListener('resize', myChart.resize);
} }
} }
@ -2115,234 +2108,6 @@ return option;
} }
function getEchartOptionsSankey(currentChartModel,myDataset)
{
var measure1Fldname=getChartElementPropertyValueFromModel(currentChartModel,"1","measure1");
var dimension1Fldname=getChartElementPropertyValueFromModel(currentChartModel,"1","dimension1");
var dimension2Fldname=getChartElementPropertyValueFromModel(currentChartModel,"1","dimension2");
var titleText=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"caption");
var subtitleText=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"subtitle");
var scheme = getChartPropertyValue(currentChartModel.chartPropertiesUsed,"schemeArray");
var myPalette=getPaletteArray(scheme,"");
/*const sourceData = [
{"rownr":1,"pj_ba_str":"2023","pj_ba_sem_von_str":"WiSe 2022/2023","pj_ba_sem_bis_str":"SoSe 2023","ba_abschluss_grp_str":"Bachelor","ba_abschluesse_summe":1964,"ma_sem_von_str":"WiSe 2022/2023","ma_sem_bis_str":"WiSe 2024/2025","ma_abschluss_grp_str":"LA Master","ma_anfaenger_summe":2,"ba_ma_ueberg_quote":0},
{"rownr":2,"pj_ba_str":"2023","pj_ba_sem_von_str":"WiSe 2022/2023","pj_ba_sem_bis_str":"SoSe 2023","ba_abschluss_grp_str":"Bachelor","ba_abschluesse_summe":1964,"ma_sem_von_str":"WiSe 2022/2023","ma_sem_bis_str":"WiSe 2024/2025","ma_abschluss_grp_str":"Master","ma_anfaenger_summe":706,"ba_ma_ueberg_quote":0.36},
{"rownr":3,"pj_ba_str":"2023","pj_ba_sem_von_str":"WiSe 2022/2023","pj_ba_sem_bis_str":"SoSe 2023","ba_abschluss_grp_str":"Bachelor","ba_abschluesse_summe":1964,"ma_sem_von_str":"WiSe 2022/2023","ma_sem_bis_str":"WiSe 2024/2025","ma_abschluss_grp_str":"kein Master","ma_anfaenger_summe":1256,"ba_ma_ueberg_quote":0.64},
{"rownr":4,"pj_ba_str":"2023","pj_ba_sem_von_str":"WiSe 2022/2023","pj_ba_sem_bis_str":"SoSe 2023","ba_abschluss_grp_str":"LA Bachelor","ba_abschluesse_summe":1392,"ma_sem_von_str":"WiSe 2022/2023","ma_sem_bis_str":"WiSe 2024/2025","ma_abschluss_grp_str":"LA Master","ma_anfaenger_summe":1258,"ba_ma_ueberg_quote":0.9},
{"rownr":5,"pj_ba_str":"2023","pj_ba_sem_von_str":"WiSe 2022/2023","pj_ba_sem_bis_str":"SoSe 2023","ba_abschluss_grp_str":"LA Bachelor","ba_abschluesse_summe":1392,"ma_sem_von_str":"WiSe 2022/2023","ma_sem_bis_str":"WiSe 2024/2025","ma_abschluss_grp_str":"Master","ma_anfaenger_summe":21,"ba_ma_ueberg_quote":0.02},
{"rownr":6,"pj_ba_str":"2023","pj_ba_sem_von_str":"WiSe 2022/2023","pj_ba_sem_bis_str":"SoSe 2023","ba_abschluss_grp_str":"LA Bachelor","ba_abschluesse_summe":1392,"ma_sem_von_str":"WiSe 2022/2023","ma_sem_bis_str":"WiSe 2024/2025","ma_abschluss_grp_str":"kein Master","ma_anfaenger_summe":113,"ba_ma_ueberg_quote":0.08}
];*/
const sourceData =myDataset.source;
// DEBUG: Zeige die Rohdaten an
console.log('DATEN:', sourceData);
// Farbzuordnung (intensivere Töne für besseren Kontrast)
const colorMap = {
'Bachelor': '#3a5a2c',
'LA Bachelor': '#8a9e7a',
'Master': '#001e30',
'LA Master': '#5a7a90',
'kein Master': '#c0c8d0'
};
// ✅ Erstelle ein Map für die Gesamtwerte der Quellknoten (ba_abschluesse_summe)
const sourceTotalMap = new Map();
sourceData.forEach(row => {
const sourceName = row.ba_abschluss_grp_str;
const total = row.ba_abschluesse_summe;
if (!sourceTotalMap.has(sourceName)) {
sourceTotalMap.set(sourceName, total);
} else if (sourceTotalMap.get(sourceName) !== total) {
console.warn(` Inkonsequenter Gesamtwert für Quellknoten "${sourceName}": ${total} vs ${sourceTotalMap.get(sourceName)}`);
}
});
// DEBUG: Zeige die Quellgesamtwerte an
console.log('Gesamtwerte der Quellknoten (ba_abschluesse_summe):', Object.fromEntries(sourceTotalMap));
// ✅ Generiere die Links mit Farbverlauf (Gradienten)
const links = sourceData.map(row => {
const source = row.ba_abschluss_grp_str;
const target = row.ma_abschluss_grp_str;
const value = row.ma_anfaenger_summe;
const sourceColor = colorMap[source];
const targetColor = colorMap[target];
return {
source,
target,
value,
lineStyle: {
width: 2,
color: echartsSankeyCreateGradientColor(sourceColor, targetColor),
opacity: 0.3
}
};
});
// DEBUG: Zeige die generierten Links an
console.log('GENERIERTE LINKS mit Gradienten:', links);
// ECharts Option
var option = {
title: {
text: 'Übergang von Bachelor zu Master',
left: 'center',
textStyle: { fontSize: 16 }
},
tooltip: {
trigger: 'item',
triggerOn: 'mousemove',
formatter: function (params) {
if (params.dataType === 'node') {
const nodeName = params.name;
// Knotenfarbe als Tooltip-Farbe
const color = colorMap[nodeName] || '#ccc';
// Prüfe, ob der Knoten als Quelle oder Ziel vorkommt
const isSource = links.some(link => link.source === nodeName);
const isTarget = links.some(link => link.target === nodeName);
if (isSource && !isTarget) {
// Nur Quelle (links): Name + ba_abschluesse_summe
const total = sourceTotalMap.get(nodeName);
return `<span style="color:${color}; font-weight:bold">${nodeName}-Abschlüsse: ${total}`;
} else if (isTarget) {
// Ziel (rechts): Name + summierte ankommende Werte
const incomingValue = links
.filter(link => link.target === nodeName)
.reduce((sum, link) => sum + link.value, 0);
return `<span style="color:${color}; font-weight:bold">${nodeName}-Studiengänge: ${incomingValue}`;
} else {
return nodeName;
}
} else {
// Link-Tooltip
return params.data.source + ' --> ' + params.data.target + ': ' + params.data.value;
}
}
},
series: {
name: 'Bachelor-Master Übergänge',
type: 'sankey',
layout: 'none',
nodeGap: 25, // ← Erhöhter vertikaler Abstand
nodeWidth: 60, // ← Breite der Knoten
emphasis: {
focus: 'adjacency'
},
data: [
{
name: 'Bachelor',
itemStyle: { color: colorMap['Bachelor'] },
label: { position: 'left', show: true, fontSize: 12, color: '#333' }
},
{
name: 'LA Bachelor',
itemStyle: { color: colorMap['LA Bachelor'] },
label: { position: 'left', show: true, fontSize: 12, color: '#333' }
},
{
name: 'Master',
itemStyle: { color: colorMap['Master'] },
label: { position: 'right', show: true, fontSize: 12, color: '#333' }
},
{
name: 'LA Master',
itemStyle: { color: colorMap['LA Master'] },
label: { position: 'right', show: true, fontSize: 12, color: '#333' }
},
{
name: 'kein Master',
itemStyle: { color: colorMap['kein Master'] },
label: { position: 'right', show: true, fontSize: 12, color: '#333' }
}
],
links: links,
label: {
show: true,
fontSize: 12,
color: '#333'
},
lineStyle: {
width: 2,
color: 'source'
// , opacity: 0.9,
// curveness: 0.3
}
}
};
var option2 = {
dataset: {
source: myDataset
},
title: {
text: titleText,
subtext: subtitleText,
left: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"title.left"), //"center",
top: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"title.top"), //"top",
textStyle: {
fontSize: 20
},
subtextStyle: {
fontSize: 15
}
},
series: [
{
type: 'pie',// sunburst
/*encode: {
value: measure1Fldname,
name: dimension1Fldname
},*/
tooltip: {
trigger: "item"
},
stillShowZeroSum: false,
label: {
show: (getChartPropertyValue(currentChartModel.chartPropertiesUsed,"valueLabelShow")=="true")?true:false, //true
fontWeight:'bolder',
formatter: '{c}'
} ,
fontSize: 12,
radius: [getChartPropertyValue(currentChartModel.chartPropertiesUsed,"innerRadius"),getChartPropertyValue(currentChartModel.chartPropertiesUsed,"outerRadius")],// ['30%', '80%'], //1. Parameter inside radius, macht ihn zum Donut. 2.Parameter definiert den Anteil des Kreises am ganzen Viewport"
color: myPalette,
itemStyle: {
borderRadius: (getChartPropertyValue(currentChartModel.chartPropertiesUsed,"cornerRadiusRounded")=="true" ? [20, 5, 5, 10] :[]),
borderColor: '#fff',
borderWidth: 2
}
}
]
};
return option;
}
// ✅ Funktion: Erzeugt einen Farbverlauf von sourceColor zu targetColor
function echartsSankeyCreateGradientColor(sourceColor, targetColor) {
return {
type: 'linear',
x: 0, y: 0, x2: 1, y2: 0,
colorStops: [
{ offset: 0, color: sourceColor },
{ offset: 1, color: targetColor }
]
};
}
function getChartPropertyValue(propArray,propName) function getChartPropertyValue(propArray,propName)
{ {
var propertyValue=""; var propertyValue="";
@ -2838,7 +2603,7 @@ function openKachelDetails(ergebniselementOrdnr,formName,maskeninfoTID,grafikUni
function exportVizBooklet(contenttype,stylesheet) function exportVizBooklet(contenttype,stylesheet)
{ {
document.forms['Weiterverarbeitung'].stylesheet.value = stylesheet; document.forms['Weiterverarbeitung'].stylesheet.value = stylesheet;
document.forms['Weiterverarbeitung'].tablestylesheet.value = stylesheet; //document.forms['Weiterverarbeitung'].tablestylesheet.value = stylesheet;
document.forms['Weiterverarbeitung'].contenttype.value = contenttype; document.forms['Weiterverarbeitung'].contenttype.value = contenttype;
document.forms['Weiterverarbeitung'].target = '_blank'; document.forms['Weiterverarbeitung'].target = '_blank';
document.forms['Weiterverarbeitung'].submit(); document.forms['Weiterverarbeitung'].submit();
@ -3014,12 +2779,4 @@ function colorSpecifierToArray(specifier) {
return colors; return colors;
} }
function toggleVizNavpanelFrame(buttonElem) {
buttonElem.classList.toggle('is-active');
if(document.getElementById("navpanelFrame").style.display=="none")
document.getElementById("navpanelFrame").style.display="flex";
else
document.getElementById("navpanelFrame").style.display="none";
}

347
superx/xml/viz_components.xsl

@ -333,9 +333,6 @@ vizTypeProperties.push(newVizTypeProperty);
<script language="Javascript" type="text/javascript" src="../xml/js/jquery-2.1.1.min.js" /> <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> <script language="JavaScript" type="text/javascript" src="../xml/js/memtext/sx_functions.js"></script>
<xsl:call-template name="importRendererLibs" /> <xsl:call-template name="importRendererLibs" />
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement/viz_charts/viz_chart[@js_handler !='']">
<script language="Javascript" type="text/javascript" src="{ @js_handler }" />
</xsl:for-each>
<!--<script language="JavaScript" type="text/javascript" src="../xml/js/viz/echarts.min.js"></script>--> <!--<script language="JavaScript" type="text/javascript" src="../xml/js/viz/echarts.min.js"></script>-->
<script language="JavaScript" type="text/javascript" src="../xml/js/viz/viz_viewer.js"></script> <script language="JavaScript" type="text/javascript" src="../xml/js/viz/viz_viewer.js"></script>
@ -673,7 +670,13 @@ var rsNr=0;
var myRenderer='</xsl:text> var myRenderer='</xsl:text>
<xsl:value-of select="viz_charts/viz_chart[@uniquename=$chart_uniquename]/@renderer" /> <xsl:value-of select="viz_charts/viz_chart[@uniquename=$chart_uniquename]/@renderer" />
<xsl:text>'; <xsl:text>';
myDiv="</xsl:text> </xsl:text>
<xsl:text><![CDATA[
var myChartModel=]]></xsl:text>
<xsl:value-of select="translate(viz_charts/viz_chart[@uniquename=$chart_uniquename]/@chartmodel,'§',$quote)" />
<xsl:text><![CDATA[;
myDiv="]]></xsl:text>
<xsl:value-of select="concat('chartDiv',$ergebniselement_ordnr)" /> <xsl:value-of select="concat('chartDiv',$ergebniselement_ordnr)" />
<xsl:text><![CDATA["; <xsl:text><![CDATA[";
rsNr=]]></xsl:text> rsNr=]]></xsl:text>
@ -681,34 +684,23 @@ rsNr=]]></xsl:text>
<xsl:text><![CDATA[; <xsl:text><![CDATA[;
chartTitle="]]></xsl:text> chartTitle="]]></xsl:text>
<xsl:value-of select="$chart_title" /> <xsl:value-of select="$chart_title" />
<xsl:text>"; <xsl:text><![CDATA[";
</xsl:text>
<xsl:choose>
<xsl:when test="viz_charts/viz_chart[@uniquename=$chart_uniquename]/@js_handler !=''">
<xsl:text>
render_</xsl:text><xsl:value-of select="$chart_uniquename" /><xsl:text>("</xsl:text>
<xsl:value-of select="concat('chartDiv',$ergebniselement_ordnr)" />
<xsl:text>",rsNr,chartTitle);
</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text><![CDATA[
var myChartModel=]]></xsl:text>
<xsl:value-of select="translate(viz_charts/viz_chart[@uniquename=$chart_uniquename]/@chartmodel,'§',$quote)" />
<xsl:text>;
createChartsViewer(myChartModel,myDiv,rsNr,myRenderer,chartTitle); createChartsViewer(myChartModel,myDiv,rsNr,myRenderer,chartTitle);
</xsl:text>
<xsl:text><![CDATA[
myDiv="]]></xsl:text> myDiv="]]></xsl:text>
<!--<xsl:value-of select="concat('modalCardImage',$ergebniselement_ordnr)" />
<xsl:text>";
//Detailseite mit Legende:
myChartModelStr='Platzhalter d';
createEchartsViewer(myChartModel,myDiv,rsNr);
myDiv="</xsl:text>
-->
<xsl:value-of select="concat('modalCardDetailImage',$ergebniselement_ordnr)" /> <xsl:value-of select="concat('modalCardDetailImage',$ergebniselement_ordnr)" />
<xsl:text>"; <xsl:text>";
myChartModelStr='Platzhalter_dl'; myChartModelStr='Platzhalter_dl';
createChartsViewer(myChartModel,myDiv,rsNr,myRenderer,chartTitle); createChartsViewer(myChartModel,myDiv,rsNr,myRenderer,chartTitle);
</xsl:text> </xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:if> </xsl:if>
</xsl:for-each> </xsl:for-each>
</xsl:for-each> </xsl:for-each>
@ -744,7 +736,6 @@ if(myDiv.style.display=="block")
</xsl:template> </xsl:template>
<xsl:template name="buildVizMetadata"> <xsl:template name="buildVizMetadata">
<xsl:param name="fillChartModel" select="'true'" />
<xsl:variable name="vizInitialName"> <xsl:variable name="vizInitialName">
<xsl:choose> <xsl:choose>
<xsl:when test="/ergebnisse/@isMakro='true'"> <xsl:when test="/ergebnisse/@isMakro='true'">
@ -797,14 +788,13 @@ var rs=new Array();
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement"> <xsl:for-each select="/ergebnisse/ergebnis/ergebniselement">
<xsl:call-template name="buildVizData" > <xsl:call-template name="buildVizData" >
<xsl:with-param name="tableId" select="@ordnr" /> <xsl:with-param name="tableId" select="@ordnr" />
<xsl:with-param name="fillChartModel" select="$fillChartModel" />
</xsl:call-template> </xsl:call-template>
</xsl:for-each> </xsl:for-each>
</xsl:template> </xsl:template>
<xsl:template name="buildVizData"> <xsl:template name="buildVizData">
<xsl:param name="tableId" /> <xsl:param name="tableId" />
<xsl:param name="fillChartModel" select="'true'" />
<script language="Javascript"> <script language="Javascript">
<xsl:text> <xsl:text>
@ -829,14 +819,9 @@ rsTableMetaData.push(new tableMetaData(
<xsl:text> <xsl:text>
)); ));
rs[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>]=new Array(); rs[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>]=new Array();
</xsl:text>
<xsl:if test="$fillChartModel='true'"><xsl:text>
var myChartModel=new chartModel(1,"","",rsTableMetaData); var myChartModel=new chartModel(1,"","",rsTableMetaData);
</xsl:text>
</xsl:if>
<xsl:text>
function dataRow_</xsl:text><xsl:value-of select="$tableId"/><xsl:text>(rownr</xsl:text> function dataRow_</xsl:text><xsl:value-of select="$tableId"/><xsl:text>(rownr</xsl:text>
<xsl:for-each select="sqlerg/complete_headers/header"> <xsl:for-each select="sqlerg/complete_headers/header">
<xsl:text>,</xsl:text> <xsl:text>,</xsl:text>
@ -958,39 +943,6 @@ textarea.editform {
textarea.editform:focus { textarea.editform:focus {
height: 40em; height: 40em;
} }
.textarea, .is-small.textarea { /*20251210 eingefügt*/
color: black;
background: white;
border: thin solid hsl(0, 0%, 71%); /*hellgrau*/
border-radius: 0.3em;
}
.field.is-grouped { /*20251210 eingefügt*/
gap: 0.2rem; }
/*Hell-/Dunkel-Modus*/ /*20251210 eingefügt*/
@media (prefers-color-scheme: dark) {
:root { color-scheme: dark; }
.label.is-small, strong {color: black !important; }
.table th { color: black !important; }
.table {--bulma-table-background-color: white !important; }
.table {--bulma-table-color: black !important; }
.table th { color: black !important; }
.box { background-color: white !important; }
.button {
border: thin solid hsl(0, 0%, 71%); /*hellgrau*/
border-radius: 0.3em; }
.select:not(.is-multiple) {
background: white;
color: black; }
textarea.editform {
color: black;
background: white;
border: thin solid hsl(0, 0%, 71%); /*hellgrau*/
border-radius: 0.3em; }
}
</style> </style>
</xsl:template> </xsl:template>
@ -1087,7 +1039,7 @@ and (@renderer_uniquename='plot' or @renderer_uniquename='d3js') ]">
<div class="card"> <div class="card">
<div class="card-image"> <div class="card-image">
<div id="{concat('modalCardDetailImage',$ergebniselement_ordnr)}"> <div id="{concat('modalCardDetailImage',$ergebniselement_ordnr)}">
<xsl:attribute name="style"><xsl:value-of select="concat('width:',$kachelbreite,';height:',$kachelhoehe,';')" /> <xsl:attribute name="style"><xsl:value-of select="concat('width:',$kachelbreite,'px;height:',$kachelhoehe,'px;')" />
</xsl:attribute> </xsl:attribute>
<!--<div id="{concat('chartDiv',$ergebniselement_ordnr)}"> <!--<div id="{concat('chartDiv',$ergebniselement_ordnr)}">
</div>--> </div>-->
@ -1272,51 +1224,15 @@ Stand: <xsl:value-of select="../stand" /></p>
<xsl:param name="link_tablestylesheet" select="'viz_html_chart_viewer_mask_and_table.xsl'"/> <xsl:param name="link_tablestylesheet" select="'viz_html_chart_viewer_mask_and_table.xsl'"/>
<xsl:param name="showEdit" select="'false'" /> <xsl:param name="showEdit" select="'false'" />
<xsl:param name="openModalCardDetail" select="'true'" /> <xsl:param name="openModalCardDetail" select="'true'" />
<xsl:param name="chart_card_class" select="'card is-shady'" /> <div class="card is-shady">
<xsl:param name="chart_container_class" select="'card-image'" />
<xsl:param name="chart_container_id" select="concat('cardImage',$ergebniselement_ordnr)" /> <div class="card-image" id="{concat('cardImage',$ergebniselement_ordnr)}">
<xsl:param name="chart_class_name" select="''" />
<xsl:param name="chart_element_id" select="concat('chartDiv',$ergebniselement_ordnr)" />
<xsl:param name="chart_title_position" select="'inline'" />
<xsl:variable name="imgStyleAttr">
<xsl:if test="$kachelhoehe !=''">
<xsl:text>height: </xsl:text><xsl:value-of select="$kachelhoehe" />
<xsl:call-template name="getWidthHeightPx">
<xsl:with-param name="wert" select="$kachelhoehe"/>
</xsl:call-template>
<xsl:text>;</xsl:text>
</xsl:if>
<xsl:if test="$kachelbreite !=''">
<xsl:text>width: </xsl:text><xsl:value-of select="$kachelbreite" />
<xsl:call-template name="getWidthHeightPx">
<xsl:with-param name="wert" select="$kachelbreite"/>
</xsl:call-template>
<xsl:text>;</xsl:text>
</xsl:if>
</xsl:variable>
<div class="{$chart_card_class}">
<xsl:if test="$chart_title_position ='top'">
<h3><xsl:value-of select="$caption" /></h3>
</xsl:if>
<div class="{$chart_container_class}" id="{$chart_container_id}">
<!--zum Debuggen: <a onClick="initPage()">Anzeigen</a><br />--> <!--zum Debuggen: <a onClick="initPage()">Anzeigen</a><br />-->
<xsl:choose> <xsl:choose>
<xsl:when test="$openModalCardDetail='true'"> <xsl:when test="$openModalCardDetail='true'">
<a onClick="{concat('javascript:openModalCardDetail(',$ergebniselement_ordnr,');')}"> <a onClick="{concat('javascript:openModalCardDetail(',$ergebniselement_ordnr,');')}">
<div id="{$chart_element_id}"> <div id="{concat('chartDiv',$ergebniselement_ordnr)}" style="{concat('width: ',$kachelbreite,'px;height:',$kachelhoehe,'px;')}"></div>
<xsl:choose>
<xsl:when test="$chart_class_name !=''">
<xsl:attribute name="class">
</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="style" select="$imgStyleAttr" />
</xsl:otherwise>
</xsl:choose>
</div>
<!--<div id="{concat('chartDiv',$ergebniselement_ordnr)}" style="{}"></div>-->
</a> </a>
<xsl:if test="$link_maskennummer!=''"> <xsl:if test="$link_maskennummer!=''">
<br /> <br />
@ -1352,24 +1268,10 @@ Details...
<xsl:value-of select="$link_tablestylesheet" /> <xsl:value-of select="$link_tablestylesheet" />
<xsl:text>',false);</xsl:text> <xsl:text>',false);</xsl:text>
</xsl:attribute> </xsl:attribute>
<div id="{$chart_element_id}"> <div id="{concat('chartDiv',$ergebniselement_ordnr)}" style="{concat('width: ',$kachelbreite,'px;height:',$kachelhoehe,'px;')}"></div>
<xsl:choose>
<xsl:when test="$chart_class_name !=''">
<xsl:attribute name="class">
<xsl:value-of select="$chart_class_name" />
</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="style" select="$imgStyleAttr" />
</xsl:otherwise>
</xsl:choose>
</div>
</a> </a>
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
<xsl:if test="$chart_title_position ='bottom'">
<p><xsl:value-of select="$caption" /></p>
</xsl:if>
<xsl:if test="$showEdit='true' and $chart_tid!=''"> <xsl:if test="$showEdit='true' and $chart_tid!=''">
<span class="separator">&#160;|&#160; </span> <span class="separator">&#160;|&#160; </span>
@ -1493,13 +1395,8 @@ Platzhalter
<xsl:with-param name="FeldnameEscaped" select="$feldnameEscaped"/> <xsl:with-param name="FeldnameEscaped" select="$feldnameEscaped"/>
<xsl:with-param name="feldZeilenanzahl" select="$feldZeilenanzahl"/> <xsl:with-param name="feldZeilenanzahl" select="$feldZeilenanzahl"/>
<xsl:with-param name="feldart" select="$feldart"/> <xsl:with-param name="feldart" select="$feldart"/>
<xsl:with-param name="tooltipPosition" select="'left'"/>
</xsl:call-template> </xsl:call-template>
</xsl:when> </xsl:when>
<xsl:when test="$feldart='8'">
<p class="subheaderMaskDialogs"><xsl:value-of select="$feldcaption"/></p>
</xsl:when>
<xsl:otherwise><xsl:value-of select="concat('Feld ',$feldname,' ist nicht geeignet für Tabellenaufrufe')"/> <xsl:otherwise><xsl:value-of select="concat('Feld ',$feldname,' ist nicht geeignet für Tabellenaufrufe')"/>
<br /> <br />
</xsl:otherwise> </xsl:otherwise>
@ -1611,7 +1508,6 @@ Platzhalter
<xsl:param name="FeldnameEscaped" /> <xsl:param name="FeldnameEscaped" />
<xsl:param name="feldZeilenanzahl" select="1"/> <xsl:param name="feldZeilenanzahl" select="1"/>
<xsl:param name="feldart" select="1"/> <xsl:param name="feldart" select="1"/>
<xsl:param name="tooltipPosition" select="'bottom'"/>
<xsl:variable name="capNotNull"> <xsl:variable name="capNotNull">
<xsl:choose> <xsl:choose>
<xsl:when test="$Feldcaption !='' and $Feldcaption !='null' "> <xsl:when test="$Feldcaption !='' and $Feldcaption !='null' ">
@ -1641,7 +1537,7 @@ Platzhalter
<div class="field is-grouped"> <div class="field is-grouped">
<div class="vizLabel-container" lang="de"> <div class="vizLabel-container" lang="de">
<label class="label is-small trennung"> <label class="label is-small trennung">
<span class="button is-link is-link is-outlined is-hovered"> <span class="button is-link is-link is-outlined is-hovered" style="font-weight:bold;font-size:1.5em">
<!--<a class="button is-link is-outlined is-small is-fullwidth">--> <!--<a class="button is-link is-outlined is-small is-fullwidth">-->
<xsl:attribute name="onClick"> <xsl:attribute name="onClick">
<xsl:value-of select="$jsCall"/> <xsl:value-of select="$jsCall"/>
@ -1658,7 +1554,7 @@ Platzhalter
<xsl:attribute name="value"><xsl:value-of select="/*/*/felder/feld [@varname = $Feldname]/value"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="/*/*/felder/feld [@varname = $Feldname]/value"/></xsl:attribute>
</input> </input>
<div class="control is-expanded"> <div class="control is-expanded">
<input class="sideBarInput" type="label" readonly="true" name="{concat('label_',$FeldnameEscaped)}" id="{concat('label_',$FeldnameEscaped)}"> <input class="input is-small is-link is-fullwidth" style="font-size:1.1rem;font-weight:normal" type="label" readonly="true" name="{concat('label_',$FeldnameEscaped)}" id="{concat('label_',$FeldnameEscaped)}">
<xsl:attribute name="onclick"><xsl:value-of select="$jsCall"/> <xsl:attribute name="onclick"><xsl:value-of select="$jsCall"/>
</xsl:attribute> </xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="/*/*/felder/feld [@varname = $Feldname]/value_caption"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="/*/*/felder/feld [@varname = $Feldname]/value_caption"/></xsl:attribute>
@ -1696,24 +1592,12 @@ Platzhalter
</xsl:if> </xsl:if>
</xsl:if> </xsl:if>
</div> </div>
<xsl:if test="/*/*/felder/feld [@varname = $Feldname]/caption_long != ''"> <div class="control">
<div class="control"> <!--220424BFeingefügt--> <button class="button is-small is-rounded is-link has-tooltip-bottom" style="font-size:1.1rem;font-weight:normal;" onclick="return false;" tabindex="1353" data-tooltip="Muss noch ergänzt werden.">
<button class="{concat('button is-small is-rounded has-tooltip-',$tooltipPosition)}" onClick="return false;"> <!--220424BFgeändert--> <span class="icon" aria-hidden="true">
<xsl:attribute name="data-tooltip"> <img src="../images/information_white_liberation.svg" alt="Info" title="Info" /></span>
<xsl:call-template name="br_to_newline"> </button>
<xsl:with-param name="string"><![CDATA[]]><xsl:value-of select="/*/*/felder/feld [@varname = $Feldname]/caption_long"/><![CDATA[]]></xsl:with-param> </div><!--Ende control -->
<xsl:with-param name="search">&lt;br&gt;</xsl:with-param>
</xsl:call-template>
</xsl:attribute>
<span class="icon" aria-hidden="true">
<img src="../images/information_grey_liberation.svg" alt="Info" title="Info" />
</span>
</button> <!--220424BFeingefügt-->
</div>
<!--220424BFdeaktiviert-->
</xsl:if>
<!--Ende tooltip -->
</div> </div>
@ -1811,16 +1695,6 @@ Platzhalter
</div> </div>
<a class="navbar-burger is-active" onclick="toggleVizNavpanelFrame(this);">
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
</a>
<!-- <button class="closebutton" title="Menü schließen" aria-label="Menü schließen" onclick="toggleNavpanelFrame(this);"></button>
</div> -->
</div> </div>
<div class="navbar-end"> <div class="navbar-end">
<a class="navbar-item" target="_self" href="{/*/generalinfo/REPORT_HEADING_URL }"> <a class="navbar-item" target="_self" href="{/*/generalinfo/REPORT_HEADING_URL }">
@ -1895,7 +1769,8 @@ Platzhalter
<xsl:variable name="currentTabNr" select="/ergebnisse/ergebnis[@ordnr='0']/felder/feld[@varname='Tabnr.']/value" /> <xsl:variable name="currentTabNr" select="/ergebnisse/ergebnis[@ordnr='0']/felder/feld[@varname='Tabnr.']/value" />
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/sqlerg/row[col[f_name='hidden_link_maskeninfo_id']/wert !='']"> <xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/sqlerg/row">
<xsl:call-template name="tabBox"> <xsl:call-template name="tabBox">
<xsl:with-param name="tabNr" select="col[f_name='ord']/wert"/> <xsl:with-param name="tabNr" select="col[f_name='ord']/wert"/>
<xsl:with-param name="currentTabNr" select="$currentTabNr"/> <xsl:with-param name="currentTabNr" select="$currentTabNr"/>
@ -1904,6 +1779,7 @@ Platzhalter
<xsl:with-param name="optional_filter_name" select="col[f_name='hidden_optional_filter_name']/wert" /> <xsl:with-param name="optional_filter_name" select="col[f_name='hidden_optional_filter_name']/wert" />
<xsl:with-param name="optional_filter_value" select="col[f_name='hidden_optional_filter_value']/wert" /> <xsl:with-param name="optional_filter_value" select="col[f_name='hidden_optional_filter_value']/wert" />
</xsl:call-template> </xsl:call-template>
</xsl:for-each> </xsl:for-each>
</ul> </ul>
<xsl:call-template name="vizGridTitle" > <xsl:call-template name="vizGridTitle" >
@ -1997,12 +1873,43 @@ Platzhalter
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement"> <xsl:for-each select="/ergebnisse/ergebnis/ergebniselement">
<p class="teiltabelle_titel" style="font-size:3em;"> <p class="teiltabelle_titel" style="font-size:3em;">
<xsl:text>Datentabelle </xsl:text><a onclick="{concat('toggleTableVisibility(',$colon,'toggleBtnTable',@ordnr+1, $colon,',',$colon, 'table',@ordnr+1,$colon,');')}"> <img id="{concat('toggleBtnTable',@ordnr+1)}" src="../images/minus-circled.svg" height="20px" style="height:20px" border="0" /></a></p> <xsl:text>Datentabelle </xsl:text><a onclick="{concat('toggleTableVisibility(',$colon,'toggleBtnTable',@ordnr+1, $colon,',',$colon, 'table',@ordnr+1,$colon,');')}"> <img id="{concat('toggleBtnTable',@ordnr+1)}" src="../images/minus-circled.svg" height="20px" style="height:20px" border="0" /></a></p>
<style>
table.ergtabelle
{
padding-left:100px;
}
table.ergtabelle th {
background-color: #b8c3ef;
color: black;
border: 1px solid black;
border-collapse: separate;
font-size:2em;
}
td.integer {
color: black;
border: 1px solid black;
border-collapse: separate;
font-size:1.5em;
}
table td.ergfeld {
empty-cells: show;
vertical-align: top;
border: thin solid gray;
font-size:1.5em;
}
table td.decimal {
empty-cells: show;
vertical-align: top;
border: thin solid gray;
font-size:1.5em;
}
</style>
<xsl:call-template name="nd_singleTable"> <xsl:call-template name="nd_singleTable">
<xsl:with-param name="ergebniselement_ordnr" select="@ordnr" /> <xsl:with-param name="ergebniselement_ordnr" select="@ordnr" />
<xsl:with-param name="showPager" select="'none'" /> <xsl:with-param name="showPager" select="'none'" />
</xsl:call-template> </xsl:call-template>
<!--<xsl:call-template name="vizPivotTable" />-->
</xsl:for-each> </xsl:for-each>
</div> </div>
</xsl:template> </xsl:template>
@ -2105,6 +2012,32 @@ Platzhalter
<xsl:template name="vizSidebar" > <xsl:template name="vizSidebar" >
<xsl:param name="stylesheet" select="'viz_html_chart_viewer_grid.xsl'" /> <xsl:param name="stylesheet" select="'viz_html_chart_viewer_grid.xsl'" />
<xsl:param name="collapsible" select="'true'" /> <xsl:param name="collapsible" select="'true'" />
<style>
.card-content {
border: thin solid hsl(0, 0%, 71%);
border-radius: 0.3rem !important;
padding-right:20%
}
.vizLabel-container {
display: flex;
background: inherit;
min-width: 13.5rem;
}
.label.is-small { width: 100%; } /*einheitliche Labelbreite*/
.button { font-weight: bold; }
/* Tooltip-Farbe */
[data-tooltip]:not(.is-disabled).has-tooltip-bottom::before,
[data-tooltip]:not(.is-loading).has-tooltip-bottom::before,
[data-tooltip]:not([disabled]).has-tooltip-bottom::before {
background-color: #a6a6a6ff; /*#333;*/
color: white;
}
</style>
<xsl:choose> <xsl:choose>
<xsl:when test="$collapsible='true'"> <xsl:when test="$collapsible='true'">
<style> <style>
@ -2126,7 +2059,7 @@ Platzhalter
position: fixed; position: fixed;
top: 50%; top: 50%;
z-index: 700; z-index: 700;
left: calc(100vw - 50% - 40px);/* Viewport-Breite minus Sidebar-Breite minus Abstand */ left: calc(100vw - 545px - 40px);/* Viewport-Breite minus Sidebar-Breite minus Abstand */
transform: none; /* keine vertikale Zentrierung */ transform: none; /* keine vertikale Zentrierung */
} }
@ -2138,7 +2071,7 @@ Platzhalter
padding-right: 0.7em; padding-right: 0.7em;
right: 0em; right: 0em;
bottom: 0; bottom: 0;
width: 50%; /*Breite nach Bedarf */ width: 545px; /*Breite nach Bedarf */
background: white; background: white;
box-shadow: -2px 0 5px rgba(0,0,0,0.1); box-shadow: -2px 0 5px rgba(0,0,0,0.1);
overflow-y: auto; overflow-y: auto;
@ -2340,97 +2273,5 @@ Platzhalter
</p> </p>
</div> </div>
</xsl:template> </xsl:template>
<xsl:template name="nd_TabelleFormWeiterverarbeitungHiddenInputs">
<form name="Weiterverarbeitung" method="post" target="_self" charset="UTF-8">
<xsl:attribute name="action">
<!-- MB 9/14 encode URL ignoriert jsession id -->
<xsl:value-of select="'SuperXmlTabelle'" /></xsl:attribute>
<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="stylesheet" value="" />
<input type="hidden" name="contenttype" value="text/xsl" />
<!-- MB 5/2011 fuer Export nur sichtbarer Tabellenzeilen nach Excel/PDF -->
<input type="hidden" name="irowno" value="" />
<xsl:for-each-group select="/*/*/felder/feld[@art !='1']" group-by=".">
<!--<xsl:for-each select="distinct-values(//ergebnisse/ergebnis/felder/feld [@varname !='Lehreinheit' and @varname != 'Fakultät' and @varname != 'Studiengang'])">-->
<!-- #198418 Problem bei Feldart 1 Typ SQL Beispiel Zeitraum in COB Maske Kosten und Erlöse (Primär und Sekundär) Attribut value aus default/wert key wird nicht richtig escaped
vergl. https://stackoverflow.com/questions/8944513/disable-output-escaping-yes-no-not-working-amp-outputted-twice-in-sharepoint-
Versuche mit <option value="{key}"> sind auch fehlgeschlagen, vermutlich weil XSTL bei Attributen keine Änderung des Escapings vorsieht
https://stackoverflow.com/questions/7887016/disable-output-escaping-not-working-for-attribute-in-xslt
alter Code:
<input type="hidden">
<xsl:attribute name="name"><xsl:value-of select="@varname" /></xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="value" /></xsl:attribute>
</input>
neuer Code: -->
<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:for-each-group>
</form>
</xsl:template>
<xsl:template name="getWidthHeightPx">
<xsl:param name="wert" />
<xsl:if test="ends-with($wert,'0') or
ends-with($wert,'1') or
ends-with($wert,'2') or
ends-with($wert,'3') or
ends-with($wert,'4') or
ends-with($wert,'5') or
ends-with($wert,'6') or
ends-with($wert,'7') or
ends-with($wert,'8') or
ends-with($wert,'9') ">
<xsl:text>px</xsl:text>
</xsl:if>
</xsl:template>
<xsl:template name="viz_html_chart_viewer_css">
<link rel="stylesheet" href="../style/sx_tabelle.css" />
<link rel="stylesheet" type="text/css" href="../style/sx_viz_muster.css" />
</xsl:template>
<xsl:template name="vizPivotTable">
<table>
<tr><th></th>
<xsl:for-each select="sqlerg/row/col[@id=0]">
<th><xsl:value-of select="wert" /></th>
</xsl:for-each>
</tr>
<tr><td></td>
<xsl:for-each select="sqlerg/row">
<xsl:call-template name="pivot">
<xsl:with-param name="heading" select="wert"/>
</xsl:call-template>
</xsl:for-each>
</tr>
</table>
</xsl:template>
<xsl:template name="pivot">
<xsl:param name="heading"/>
<xsl:for-each select="sqlerg/row[col[@id=0]/[wert=$heading]]">
<td><xsl:value-of select="col/wert"/></td>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet> </xsl:stylesheet>

4
superx/xml/viz_html_chart.xsl

@ -466,7 +466,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<xsl:call-template name="chartLoadMenu" /> <xsl:call-template name="chartLoadMenu" />
<!--Beginn chartCode--> <!--Beginn chartCode-->
<div class="field is-grouped" id="chartCodeDiv"> <!--20251210 entfernt: style="display:block">--> <div class="field is-grouped" id="chartCodeDiv" style="display:block">
<div class="label-container"> <div class="label-container">
<label class="label is-required is-small"><strong>Chart-Code</strong></label> <label class="label is-required is-small"><strong>Chart-Code</strong></label>
</div> </div>
@ -862,7 +862,7 @@ Stand: <xsl:value-of select="../stand" /></p>
<!--Beginn Layoutmerkmale--> <!--Beginn Layoutmerkmale-->
<!--Beginn Layoutmerkmale--> <!--Beginn Layoutmerkmale-->
<div class="field is-grouped"> <div class="field">
<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>Layoutmerkmale</strong></label>
</div> </div>

5
superx/xml/viz_html_chart_viewer.xsl

@ -43,7 +43,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<link rel="stylesheet" href="../style/sx_tabelle.css" /> <link rel="stylesheet" href="../style/sx_tabelle.css" />
<!--<link rel="stylesheet" href="../style/superx.css" />--> <!--<link rel="stylesheet" href="../style/superx.css" />-->
<link rel="stylesheet" href="../style/sx_viz_muster.css" />
</head> </head>
<xsl:call-template name="nd_htmlscript" /> <xsl:call-template name="nd_htmlscript" />
<xsl:call-template name="nd_tableJavascript" /> <xsl:call-template name="nd_tableJavascript" />
@ -71,7 +71,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<xsl:call-template name="nd_progressbar" /> <xsl:call-template name="nd_progressbar" />
<div id="content" class="viz_content"> <div id="content">
<!--#Template Beginn Seitentitel--> <!--#Template Beginn Seitentitel-->
<xsl:variable name="masken_tid"><xsl:value-of select="/ergebnisse/ergebnis[@ordnr='0']/maskenname/@id"/></xsl:variable> <xsl:variable name="masken_tid"><xsl:value-of select="/ergebnisse/ergebnis[@ordnr='0']/maskenname/@id"/></xsl:variable>
<xsl:call-template name="nd_pagetitle" > <xsl:call-template name="nd_pagetitle" >
@ -80,7 +80,6 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<xsl:with-param name="icon_classname" select="/ergebnisse/menue/eintraege/eintrag[@isMaske='true' and tid=$masken_tid]/css_class" /> <xsl:with-param name="icon_classname" select="/ergebnisse/menue/eintraege/eintrag[@isMaske='true' and tid=$masken_tid]/css_class" />
</xsl:call-template> </xsl:call-template>
<xsl:call-template name="nd_TabelleFormWeiterverarbeitungHiddenInputs" />
<!--#Template Krümelpfad--> <!--#Template Krümelpfad-->
<xsl:call-template name="nd_breadcrumb" /> <xsl:call-template name="nd_breadcrumb" />

1
superx/xml/viz_html_chart_viewer_mask.xsl

@ -43,7 +43,6 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<link rel="stylesheet" href="../style/sx_tabelle.css" /> <link rel="stylesheet" href="../style/sx_tabelle.css" />
<!--<link rel="stylesheet" href="../style/superx.css" />--> <!--<link rel="stylesheet" href="../style/superx.css" />-->
<link rel="stylesheet" type="text/css" href="../style/sx_viz_muster.css" />
</head> </head>
<xsl:call-template name="nd_htmlscript" /> <xsl:call-template name="nd_htmlscript" />

2
superx/xml/viz_html_chart_viewer_mask_and_table.xsl

@ -42,14 +42,12 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
</xsl:call-template> </xsl:call-template>
<link rel="stylesheet" href="../style/sx_tabelle.css" /> <link rel="stylesheet" href="../style/sx_tabelle.css" />
<link rel="stylesheet" type="text/css" href="../style/sx_viz_muster.css" />
<!--<link rel="stylesheet" href="../style/superx.css" />--> <!--<link rel="stylesheet" href="../style/superx.css" />-->
</head> </head>
<xsl:call-template name="nd_htmlscript" /> <xsl:call-template name="nd_htmlscript" />
<xsl:call-template name="nd_tableJavascript" /> <xsl:call-template name="nd_tableJavascript" />
<xsl:call-template name="nd_tableCSS" /> <xsl:call-template name="nd_tableCSS" />
<!--<xsl:call-template name="vizTableCSS" />-->
<xsl:call-template name="importVizViewer"></xsl:call-template> <xsl:call-template name="importVizViewer"></xsl:call-template>
<body class="has-navbar-fixed-top" onload="document.getElementById('progressbar').style.display='none';initPage();"> <body class="has-navbar-fixed-top" onload="document.getElementById('progressbar').style.display='none';initPage();">

Loading…
Cancel
Save