Compare commits
24 Commits
makro_data
...
master
Author | SHA1 | Date |
---|---|---|
Daniel Quathamer | 9520aa9a85 | 3 months ago |
Daniel Quathamer | 8812dc9ce5 | 5 months ago |
Daniel Quathamer | 1dadb01b8f | 5 months ago |
Daniel Quathamer | ca7fe77e23 | 10 months ago |
Daniel Quathamer | 34db5db154 | 12 months ago |
Daniel Quathamer | 4f8524b7df | 12 months ago |
Daniel Quathamer | af3c264e66 | 12 months ago |
Daniel Quathamer | d1608e602c | 1 year ago |
Daniel Quathamer | d548e7ae38 | 1 year ago |
Daniel Quathamer | dc300677cd | 1 year ago |
Daniel Quathamer | 8540d1b652 | 1 year ago |
Daniel Quathamer | 155c5e4fc7 | 1 year ago |
Daniel Quathamer | c4355fa476 | 1 year ago |
Daniel Quathamer | 45e73ec4fa | 2 years ago |
Daniel Quathamer | 280d1f67f8 | 2 years ago |
Daniel Quathamer | ec3b2811a5 | 2 years ago |
Daniel Quathamer | 2675724827 | 2 years ago |
Daniel Quathamer | 908c18aaad | 2 years ago |
Daniel Quathamer | f9483e2da1 | 2 years ago |
Daniel Quathamer | 520e622902 | 2 years ago |
Daniel Quathamer | 3963c0c7d7 | 2 years ago |
Daniel Quathamer | 66ede59762 | 2 years ago |
Daniel Quathamer | f75010b5b5 | 2 years ago |
Daniel Quathamer | 732a3b84ea | 2 years ago |
47 changed files with 9183 additions and 3160 deletions
@ -1 +1,20 @@
@@ -1 +1,20 @@
|
||||
/build/ |
||||
superx/WEB-INF/conf/edustore/db/module/viz/ |
||||
# module generation artifacts for module viz |
||||
src/edustore/edustore_viz.xml |
||||
superx/WEB-INF/viz_dbforms-config_ids.xml |
||||
superx/WEB-INF/viz_dbforms-config_pg.xml |
||||
# Use wildcards as well |
||||
*~ |
||||
*.swp |
||||
*ENV |
||||
*.old* |
||||
*tmp* |
||||
*.log |
||||
*.log.* |
||||
*.err |
||||
*.class |
||||
*.zip |
||||
*.tar* |
||||
*.tgz |
||||
*.jasper |
||||
|
||||
|
@ -1,8 +1,6 @@
@@ -1,8 +1,6 @@
|
||||
44000^Benutzer/in^50^0^0^150^200^1^integer^200^0^1^<<SQL>> select tid,nvl(name,benutzer) from userinfo order by 2;^hidden^^ |
||||
44001^Ausgabetabelle^10^0^0^150^80^1^integer^200^0^13^<<SQL>> select tid,name from qa_resultset where 1=1 /* and systeminfo_id=<<Komponente>> */ order by 2;^^^ |
||||
44002^Eigenschaften verwalten^100^0^0^150^300^1^char^30^0^18^^^<<SQL>> select '../edit/viz/viz_property_list.jsp' from xdummy;^ |
||||
44003^Name^20^0^0^150^150^1^sql^50^0^0^^^^ |
||||
44004^Komponente^1^0^0^150^200^1^integer^200^0^13^<<SQL>> select tid,name from systeminfo order by 2;^ ^^ |
||||
44005^Eigenschaftsgruppen verwalten^200^0^0^150^300^1^char^30^0^18^^^<<SQL>> select '../edit/viz/viz_property_group_list.jsp' from xdummy;^ |
||||
44006^Projekt^5^0^0^150^200^1^integer^200^0^13^<<SQL>> select tid,name from qa_project where active=1 /* and systeminfo_id=<<Komponente>> */ order by 2;^^^ |
||||
44007^Diagrammtypen verwalten^220^0^0^150^200^1^char^200^0^18^ ^^<<SQL>> select '../edit/viz/viz_type_list.jsp' from xdummy;^ |
||||
|
@ -1,8 +1,6 @@
@@ -1,8 +1,6 @@
|
||||
44000^44000^ |
||||
44000^44001^ |
||||
44000^44002^ |
||||
44000^44003^ |
||||
44000^44004^ |
||||
44000^44005^ |
||||
44000^44006^ |
||||
44000^44007^ |
||||
|
@ -1 +1 @@
@@ -1 +1 @@
|
||||
320^44000^ |
||||
321^44000^ |
||||
|
@ -0,0 +1,37 @@
@@ -0,0 +1,37 @@
|
||||
44020^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^1^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag='Köpfe';^ |
||||
44021^Seit Semester^3^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ |
||||
44022^Stichtag^1^350^-1^140^100^1^sql^30^0^1^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^ |
||||
44023^Staatsangehörigkeit^36^0^0^130^150^10^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^^^ |
||||
44024^Status^14^350^-1^140^180^1^sql^30^0^1^<<SQL>> select apnr,eintrag from sos_status order by 2^^<<SQL>> select apnr,eintrag from sos_status where eintrag='Alle ohne Beurl.';^ |
||||
44025^Hörerstatus^33^0^0^140^170^1^sql^30^0^1^<<SQL>> select apnr, eintrag from hoererstatus order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^ |
||||
44026^Weitere Tabellen^123^0^0^140^140^10^char^30^0^1^<<SQL>> select name,string_not_null(caption) || ' - ' || name from sx_tables where name in ('dim_studiengang','dim_staat')\ |
||||
order by 2^^^ |
||||
44027^bis Fachsemester^35^350^-1^140^100^1^integer^30^0^0^^^^ |
||||
44029^Bis Semester^4^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ |
||||
44030^Filter Studierende^119^0^0^140^150^1^sql^20^0^1^<<SQL>> SELECT id,caption from sx_repository where aktiv =1 and today() between gueltig_seit and gueltig_bis and art='SOS_STUD_FILTER' order by 2;^^^ |
||||
44031^Geschlecht^37^0^0^140^80^1^integer^30^0^1^<<SQL>> SELECT apnr,druck FROM cif where key = 9003 and apnr between 1 and 4 order by 1;^^^ |
||||
44032^Felder^125^0^0^150^190^10^char^30^0^1^<<SQL>>\ |
||||
--freemarker template\ |
||||
select trim(F.table_name) || '.' || F.name,trim(T.caption) || ':' || trim(F.caption) || ' - ' || trim(F.name) from sx_fields F,\ |
||||
sx_tables T where F.table_name=T.name and F.currentlyused=1\ |
||||
--Pseudonyme eingeschaltet:\ |
||||
and (F.name != 'matrikel_nr' or 0=(select \ |
||||
count(*) from konstanten where beschreibung='SOS_MTKNR_EXT'\ |
||||
and apnr=1)) \ |
||||
and F.table_name in ('sos_stg_aggr','dim_staat','dim_studiengang') \ |
||||
order by 2;^^^ |
||||
44033^Studiengang^6^0^0^140^150^50^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^^^ |
||||
44034^Schlüssel anzeigen^150^0^0^100^100^1^integer^30^1^1^<<SQL>> select 1,'Ja' from xdummy union select 0,'Nein' from xdummy^^<<SQL>> select 1,'Ja' from xdummy^ |
||||
44035^tablestylesheet^121^0^0^100^200^1^char^200^1^1^<<SQL>> select distinct filename,X.caption,ord from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=44070 order by ord^^<<SQL>> select distinct filename,X.caption from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=44070 and S.ord=1^ |
||||
44036^Ausgabeformat^2001^0^0^100^150^1^char^200^1^1^<<SQL>> select element_value,description from menu_element where element='Ausgabeformat' and nature::smallint<100 order by nature::smallint^^<<SQL>> select element_value,description from menu_element where element='Ausgabeformat' and description='HTML'^ |
||||
44037^Grafik^1000^300^-1^170^150^1^integer^30^0^1^<<SQL>> select tid, caption from viz_chart order by 2;^^ ^ |
||||
44038^Jahrgang^42^350^-1^140^180^1^sql^30^0^13^<<SQL>> select attributevalue from personattribute_value_list where personattributetype_id = (select personattributetype_id from personattributetype where attributevalue = 'Jahrgang');^^^ |
||||
44039^Name der Hochschule^15^350^-1^140^80^1^char^255^0^13^<<SQL>> select name from hochschulinfo;^Eintrag^<<SQL>> select name from hochschulinfo;^ |
||||
44040^Spaltenanzahl^300^0^0^140^80^1^integer^30^0^1^<<SQL>> SELECT 1,'1-spaltig' from xdummy \ |
||||
union SELECT 2,'2-spaltig' from xdummy \ |
||||
union SELECT 3,'3-spaltig' from xdummy \ |
||||
union SELECT 4,'4-spaltig' from xdummy \ |
||||
order by 1;^^<<SQL>> SELECT 1,'1-spaltig' from xdummy^ |
||||
44041^Abschluss^7^0^0^140^170^5^char^30^0^1^<<SQL>> select abint,dtxt from k_abint order by 2;^^^ |
||||
44042^Matrikel-Nr.^20^350^-1^150^180^1^char^200^0^0^^{InputCheck:matrikelnummern}^^ |
||||
44043^##line##^40^0^0^100^100^1^char^5000^0^8^^^1^ |
@ -0,0 +1 @@
@@ -0,0 +1 @@
|
||||
44020^7^ |
@ -0,0 +1,23 @@
@@ -0,0 +1,23 @@
|
||||
44020^44020^ |
||||
44020^44021^ |
||||
44020^44022^ |
||||
44020^44023^ |
||||
44020^44024^ |
||||
44020^44025^ |
||||
44020^44026^ |
||||
44020^44027^ |
||||
44020^44029^ |
||||
44020^44030^ |
||||
44020^44031^ |
||||
44020^44032^ |
||||
44020^44033^ |
||||
44020^44034^ |
||||
44020^44035^ |
||||
44020^44036^ |
||||
44020^44037^ |
||||
44020^44038^ |
||||
44020^44039^ |
||||
44020^44040^ |
||||
44020^44041^ |
||||
44020^44042^ |
||||
44020^44043^ |
@ -0,0 +1 @@
@@ -0,0 +1 @@
|
||||
44020^Studierende Datenblatt (Teiltabelle)^<sximport>select select_stmt from maskeninfo where tid=160440</sximport>^<sximport>select xil_proplist from maskeninfo where tid=160440</sximport>^Altersgruppe^Anzahl^Flexible Ausgabe der Studierendenstatistik, Studiengänge und Lehreinheiten^<sximport>select cleanup_stmt from maskeninfo where tid=160440</sximport>^^3^700^360^0^1^ ^ |
@ -0,0 +1 @@
@@ -0,0 +1 @@
|
||||
16^44020^ |
@ -0,0 +1,25 @@
@@ -0,0 +1,25 @@
|
||||
44070^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^1^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag='Köpfe';^ |
||||
44071^Seit Semester^3^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ |
||||
44072^Stichtag^1^350^-1^140^100^1^sql^30^0^1^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^ |
||||
44073^Staatsangehörigkeit^36^0^0^130^150^10^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^hidden^^ |
||||
44074^Status^14^350^-1^140^180^1^sql^30^0^1^<<SQL>> select apnr,eintrag from sos_status order by 2^^<<SQL>> select apnr,eintrag from sos_status where eintrag='Alle ohne Beurl.';^ |
||||
44075^Hörerstatus^33^0^0^140^170^1^sql^30^0^1^<<SQL>> select apnr, eintrag from hoererstatus order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^ |
||||
44076^Spaltenanzahl^300^0^0^140^80^1^integer^30^0^1^<<SQL>> SELECT 1,'1-spaltig' from xdummy \ |
||||
union SELECT 2,'2-spaltig' from xdummy \ |
||||
union SELECT 3,'3-spaltig' from xdummy \ |
||||
union SELECT 4,'4-spaltig' from xdummy \ |
||||
order by 1;^^<<SQL>> SELECT 3,'3-spaltig' from xdummy^ |
||||
44077^bis Fachsemester^35^350^-1^140^100^1^integer^30^0^13^^^^ |
||||
44079^Bis Semester^4^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ |
||||
44080^Filter Studierende^119^0^0^140^150^1^sql^20^0^13^<<SQL>> SELECT id,caption from sx_repository where aktiv =1 and today() between gueltig_seit and gueltig_bis and art='SOS_STUD_FILTER' order by 2;^^^ |
||||
44081^Geschlecht^37^0^0^140^80^1^integer^30^0^13^<<SQL>> SELECT apnr,druck FROM cif where key = 9003 and apnr between 1 and 4 order by 1;^^^ |
||||
44083^Studiengang^6^0^0^140^150^50^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^^^ |
||||
44084^Schlüssel anzeigen^150^0^0^100^100^1^integer^30^1^1^<<SQL>> select 1,'Ja' from xdummy union select 0,'Nein' from xdummy^hidden^<<SQL>> select 1,'Ja' from xdummy^ |
||||
44085^tablestylesheet^150^0^0^100^100^1^char^255^1^1^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=44070 order by ord^ ^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=44070 and ord =1^ |
||||
44087^Grafik^1000^300^-1^170^150^1^integer^30^0^1^<<SQL>> select tid, caption from viz_chart order by 2;^hidden^ ^ |
||||
44088^Jahrgang^42^350^-1^140^180^1^sql^30^0^13^<<SQL>> select attributevalue from personattribute_value_list where personattributetype_id = (select personattributetype_id from personattributetype where attributevalue = 'Jahrgang');^^^ |
||||
44089^Name der Hochschule^15^350^-1^140^80^1^char^255^0^13^<<SQL>> select name from hochschulinfo;^Eintrag^<<SQL>> select name from hochschulinfo;^ |
||||
44090^##line##^30^0^0^100^100^1^char^5000^0^8^^^1^ |
||||
44091^Abschluss^7^0^0^140^170^5^char^30^0^1^<<SQL>> select abint,dtxt from k_abint order by 2;^^^ |
||||
44092^Matrikel-Nr.^20^350^-1^150^180^1^char^200^0^13^^{InputCheck:matrikelnummern}^^ |
||||
44093^##line##^40^0^0^100^100^1^char^5000^0^8^^^1^ |
@ -0,0 +1 @@
@@ -0,0 +1 @@
|
||||
44070^7^ |
@ -0,0 +1,21 @@
@@ -0,0 +1,21 @@
|
||||
44070^44070^ |
||||
44070^44071^ |
||||
44070^44072^ |
||||
44070^44073^ |
||||
44070^44074^ |
||||
44070^44075^ |
||||
44070^44076^ |
||||
44070^44077^ |
||||
44070^44079^ |
||||
44070^44080^ |
||||
44070^44081^ |
||||
44070^44083^ |
||||
44070^44084^ |
||||
44070^44085^ |
||||
44070^44087^ |
||||
44070^44088^ |
||||
44070^44089^ |
||||
44070^44090^ |
||||
44070^44091^ |
||||
44070^44092^ |
||||
44070^44093^ |
@ -0,0 +1,457 @@
@@ -0,0 +1,457 @@
|
||||
44070^Studierenden-Entwicklung^--Freemarker Template\ |
||||
<#include "SQL_lingua_franca"/>\ |
||||
<#include "SuperX_general"/>\ |
||||
<#include "SQL_multitable_output"/>\ |
||||
\ |
||||
--ram excelexport\ |
||||
\ |
||||
<sqlvars>\ |
||||
<sqlvar name="basetable"><![CDATA[<#if "<<Köpfe oder Fälle ?>>"?index_of("S.gewichtung_id=")==-1>select 'sos_stg_aggr' from xdummy<#else>select 'sos_stud_gewichtung' from xdummy</#if>]]></sqlvar>\ |
||||
<sqlvar name="restriction"><![CDATA[<#if basetable='sos_stg_aggr'>\ |
||||
<#assign restrict=DatenblattTables(<<tablestylesheet>>,"<<Weitere Tabellen>>",.vars["Weitere TabellenObject"].allKeys)/>;\ |
||||
<#else>\ |
||||
<#assign restrict=DatenblattTables(<<tablestylesheet>>,"<<Weitere Tabellen>>",.vars["Weitere TabellenObject"].allKeys)?replace('sos_stg_aggr',basetable)?replace("'dim_studiengang'","'dim_studiengang_gew'")/>;\ |
||||
</#if>\ |
||||
select '${restrict?replace("\\x0027","\\x0027\\x0027")}' from xdummy;]]>\ |
||||
</sqlvar>\ |
||||
<sqlvar name="get_joins" type="hashsequence"><![CDATA[\ |
||||
SELECT foreignkey_tab,min(table_name) as table_name,\ |
||||
min(name) as name,\ |
||||
min(foreignkey_col) as foreignkey_col,\ |
||||
min(foreignkey_cond) as foreignkey_cond,\ |
||||
min(foreignkey_func) as foreignkey_func\ |
||||
from sx_fields\ |
||||
where table_name in ('${basetable}'/* ,<<Weitere Tabellen>> */ ${restriction})\ |
||||
and foreignkey_tab in ('${basetable}'/* ,<<Weitere Tabellen>> */ ${restriction})\ |
||||
group by 1\ |
||||
order by 1,2,3;\ |
||||
]]>\ |
||||
</sqlvar>\ |
||||
<sqlvar name="semester"><![CDATA[\ |
||||
select tid, eintrag from semester where 1=1\ |
||||
/* and tid >= <<Seit Semester>> */\ |
||||
/* and tid <= <<Bis Semester>>*/\ |
||||
;]]>\ |
||||
</sqlvar>\ |
||||
<sqlvar name="get_felder_fk" type="hashsequence"><![CDATA[\ |
||||
SELECT name,\ |
||||
caption,\ |
||||
table_name,\ |
||||
foreignkey_tab,\ |
||||
foreignkey_col,\ |
||||
foreignkey_cap,\ |
||||
foreignkey_cond,\ |
||||
foreignkey_func,\ |
||||
case when foreignkey_uniquename!='' then foreignkey_uniquename else foreignkey_col end as foreignkey_uniquename\ |
||||
\ |
||||
from sx_fields\ |
||||
where table_name in ('${basetable}' /* ,<<Weitere Tabellen>> */ ${restriction}\ |
||||
)\ |
||||
and currentlyused=1\ |
||||
--Pseudonyme eingeschaltet:\ |
||||
and (name != 'matrikel_nr' or 0=(select \ |
||||
count(*) from konstanten where beschreibung='SOS_MTKNR_EXT'\ |
||||
and apnr=1))\ |
||||
<#if basetable='sos_stg_aggr'>\ |
||||
${DatenblattFields(<<tablestylesheet>>,"<<Felder>>",FelderObject.allKeys)}\ |
||||
<#else>\ |
||||
${DatenblattFields(<<tablestylesheet>>,"<<Felder>>"?replace("sos_stg_aggr","sos_stud_gewichtung")?replace("dim_studiengang.","dim_studiengang_gew."),\ |
||||
FelderObject.allKeys?replace("sos_stg_aggr","sos_stud_gewichtung")?replace("dim_studiengang.","dim_studiengang_gew."))}\ |
||||
</#if>\ |
||||
and table_name !='dim_person_attribute_aggr'\ |
||||
--hier Personattribute wg. Sortierung\ |
||||
union\ |
||||
SELECT F.name,\ |
||||
P.attributevalue ,--caption,\ |
||||
table_name,\ |
||||
foreignkey_tab,\ |
||||
foreignkey_col,\ |
||||
foreignkey_cap,\ |
||||
foreignkey_cond,\ |
||||
foreignkey_func,\ |
||||
case when foreignkey_uniquename!='' then foreignkey_uniquename else foreignkey_col end as foreignkey_uniquename\ |
||||
\ |
||||
from sx_fields F, personattributetype P\ |
||||
where table_name in ('${basetable}' /* ,<<Weitere Tabellen>> */ ${restriction}\ |
||||
)\ |
||||
and currentlyused=1\ |
||||
--Pseudonyme eingeschaltet:\ |
||||
and (name != 'matrikel_nr' or 0=(select \ |
||||
count(*) from konstanten where beschreibung='SOS_MTKNR_EXT'\ |
||||
and apnr=1))\ |
||||
<#if basetable='sos_stg_aggr'>\ |
||||
${DatenblattFields(<<tablestylesheet>>,"<<Felder>>",FelderObject.allKeys)}\ |
||||
<#else>\ |
||||
${DatenblattFields(<<tablestylesheet>>,"<<Felder>>"?replace("sos_stg_aggr","sos_stud_gewichtung")?replace("dim_studiengang.","dim_studiengang_gew."),\ |
||||
FelderObject.allKeys?replace("sos_stg_aggr","sos_stud_gewichtung")?replace("dim_studiengang.","dim_studiengang_gew."))}\ |
||||
</#if>\ |
||||
and table_name ='dim_person_attribute_aggr'\ |
||||
and F.name='attribute' || P.personattributetype_id\ |
||||
\ |
||||
order by 2,3;\ |
||||
]]>\ |
||||
</sqlvar>\ |
||||
</sqlvars>\ |
||||
\ |
||||
<#assign lehr_stg_ab="lehr_stg_ab"/>\ |
||||
<#if "<<Köpfe oder Fälle ?>>"?index_of("S.gewichtung_id=")!=-1>\ |
||||
<#assign lehr_stg_ab="lehr_stg_ab_gew"/>\ |
||||
</#if>\ |
||||
\ |
||||
delete from dim_person_attribute_aggr;\ |
||||
\ |
||||
<#foreach einSemester in semester>\ |
||||
insert into dim_person_attribute_aggr \ |
||||
select dim_person_attribute.matrikel_nr, \ |
||||
max(attribute1),max(attribute2),max(attribute3),max(attribute4),max(attribute5),max(attribute6)\ |
||||
,max(attribute7),max(attribute8),max(attribute9),max(attribute10), semester.tid\ |
||||
from dim_person_attribute, semester\ |
||||
where (${einSemester.key} between semester_von and semester_bis and semester.tid = ${einSemester.key}) \ |
||||
\ |
||||
group by dim_person_attribute.matrikel_nr, semester.tid;\ |
||||
</#foreach>\ |
||||
\ |
||||
\ |
||||
--zum testen der sqlvars\ |
||||
--select * from sx_fields\ |
||||
-- <#if <<tablestylesheet>>='tabelle_html.xsl'>\ |
||||
-- /*,<<Weitere Tabellen>> */\ |
||||
-- <#else>\ |
||||
-- , ${.vars["Weitere TabellenObject"].allKeys?replace("'","")}\ |
||||
--</#if>\ |
||||
--where 1=1 \ |
||||
-- <#if <<tablestylesheet>>='tabelle_html.xsl'>\ |
||||
-- /* and trim(table_name) || '.' || name in ( <<Felder>> )*/\ |
||||
-- <#else>\ |
||||
-- and trim(table_name) || '.' || name in (${FelderObject.allKeys})\ |
||||
-- </#if>;\ |
||||
\ |
||||
--drop table if exists tmp_tabelle ;\ |
||||
\ |
||||
\ |
||||
<#assign filter="\ |
||||
/* and <<Hörerstatus>> */\ |
||||
/* and sem_rueck_beur_ein >= <<Seit Semester>> */\ |
||||
/* and sem_rueck_beur_ein <= <<Bis Semester>> */\ |
||||
/* AND fach_sem_zahl <= <<bis Fachsemester>> */\ |
||||
/* and "+basetable+".stichtag = <<Stichtag>> */\ |
||||
/* and kz_rueck_beur_ein in(<<Status>>) */\ |
||||
/* and geschlecht=<<Geschlecht>> */\ |
||||
/* and ${<<Filter Studierende>>} */\ |
||||
/* and L.abschluss in (<<Abschluss>>) */\ |
||||
" />\ |
||||
\ |
||||
\ |
||||
<#if "<<Matrikel-Nr.>>"!="">\ |
||||
<#assign filter=filter+" and " + basetable + ".matrikel_nr in (<<Matrikel-Nr.>>)"?replace("'","")/>\ |
||||
</#if>\ |
||||
<#if "<<Köpfe oder Fälle ?>>"?index_of("S.gewichtung_id=")!=-1>\ |
||||
<#assign filter=filter+" and "+.vars["Köpfe oder Fälle ?"]?replace('S.','sos_stud_gewichtung.')/>\ |
||||
<#if "<<Weitere Tabellen>>"?index_of("dim_studiengang_gew")>-1>\ |
||||
<#assign filter=filter+" and (dim_studiengang_gew.gewichtid is null or "+.vars["Köpfe oder Fälle ?"]?replace('S.','dim_studiengang_gew.')?replace("gewichtung_id","gewichtid")+")"/>\ |
||||
</#if>\ |
||||
<#elseif "<<Köpfe oder Fälle ?>>"!="">\ |
||||
<#assign filter=filter+" and "+.vars["Köpfe oder Fälle ?"]/>\ |
||||
</#if>\ |
||||
\ |
||||
\ |
||||
<#assign filter = filter + " and 's_' || tid_stg in "+Studiengang.allNeededKeysList /> \ |
||||
\ |
||||
<#assign semester_von_filter="19000" />\ |
||||
/* <#assign semester_von_filter="<<Seit Semester>>" /> */\ |
||||
<#assign semester_bis_filter="30000" />\ |
||||
/* <#assign semester_bis_filter="<<Bis Semester>>" /> */\ |
||||
\ |
||||
/*<#assign filter = filter + " and 0 < (select count(*) from personattribute PA, personattributetype TY\ |
||||
where TY.personattributetype_id=PA.personattributetype_id\ |
||||
and TY.attributevalue='Jahrgang'\ |
||||
and PA.matrikel_nr="+basetable+".matrikel_nr\ |
||||
and (${semester_von_filter} between PA.semester_von and PA.semester_bis\ |
||||
or ${semester_bis_filter} between PA.semester_von and PA.semester_bis)\ |
||||
and PA.attributevalue='<<Jahrgang>>') "/>*/\ |
||||
\ |
||||
/* <#assign filter = filter + " and 0 < (select count(*) from personattribute PA, personattributetype TY\ |
||||
where TY.personattributetype_id=PA.personattributetype_id\ |
||||
and TY.attributevalue='Status'\ |
||||
and PA.matrikel_nr="+basetable+".matrikel_nr\ |
||||
and (${semester_von_filter} between PA.semester_von and PA.semester_bis\ |
||||
or ${semester_bis_filter} between PA.semester_von and PA.semester_bis)\ |
||||
and PA.attributevalue='<<Zivilstatus>>') "/>*/\ |
||||
\ |
||||
\ |
||||
/* <#assign filter = filter + " and '' || ca12_staat in "+Staatsangehörigkeit.allNeededKeysList /> --<<Staatsangehörigkeit>> */\ |
||||
\ |
||||
\ |
||||
-- /*<#assign filter = filter + " and dim_person_attribute.attribute9 = '<<StatusZ>>'"/> */\ |
||||
--/*<#assign jahrgang_filter = " and dim_person_attribute.attribute10 = '<<Jahrgang>>'"/>*/\ |
||||
--<#assign filter = filter + jahrgang_filter />\ |
||||
\ |
||||
--first denormalize basetable:\ |
||||
\ |
||||
--get field_list_select\ |
||||
<#assign field_list_select="''::char(250) as _meldung" />\ |
||||
<#foreach feld in get_felder_fk>\ |
||||
\ |
||||
<#if feld.name="summe">\ |
||||
<#assign field_list_select=field_list_select+", sum(summe) as "+basetable+"_summe" />\ |
||||
<#else>\ |
||||
<#assign field_list_select=field_list_select+", "+feld.table_name +"."+feld.name +" as "+feld.table_name +"_"+feld.name />\ |
||||
</#if>\ |
||||
<#if feld.foreignkey_uniquename != "">\ |
||||
<#assign field_list_select=field_list_select+",''::char(255) as " + feld.table_name +"_"+feld.name + "_uniquename" />\ |
||||
<#assign field_list_select=field_list_select+",''::char(255) as " + feld.table_name +"_"+feld.name + "_str" />\ |
||||
</#if>\ |
||||
</#foreach>\ |
||||
\ |
||||
--get fromclause\ |
||||
\ |
||||
<#assign fromclause=lehr_stg_ab+" L,"+basetable />\ |
||||
<#foreach join in get_joins>\ |
||||
<#assign fromclause=fromclause+" left outer join "+join.foreignkey_tab +" on (" />\ |
||||
<#if join.foreignkey_tab ="dim_person_attribute_aggr" >\ |
||||
<#assign fromclause=fromclause+ basetable+".matrikel_nr=dim_person_attribute_aggr.matrikel_nr and dim_person_attribute_aggr.semester = "+basetable+".sem_rueck_beur_ein " />\ |
||||
<#else>\ |
||||
<#assign fromclause=fromclause+ basetable+"."+ join.name+"=" />\ |
||||
<#if join.foreignkey_func != "">\ |
||||
<#assign fromclause=fromclause+join.foreignkey_func+"(" />\ |
||||
</#if>\ |
||||
<#assign fromclause=fromclause+join.foreignkey_tab+"." +join.foreignkey_col />\ |
||||
<#if join.foreignkey_func != "">\ |
||||
<#assign fromclause=fromclause+")" />\ |
||||
</#if>\ |
||||
<#if join.foreignkey_cond != "">\ |
||||
<#if join.foreignkey_cond[0..0] = "1" || \ |
||||
join.foreignkey_cond[0..0] = "2" ||\ |
||||
join.foreignkey_cond[0..0] = "3" ||\ |
||||
join.foreignkey_cond[0..0] = "4" ||\ |
||||
join.foreignkey_cond[0..0] = "5" ||\ |
||||
join.foreignkey_cond[0..0] = "6" ||\ |
||||
join.foreignkey_cond[0..0] = "7" ||\ |
||||
join.foreignkey_cond[0..0] = "8" ||\ |
||||
join.foreignkey_cond[0..0] = "9" ||\ |
||||
join.foreignkey_cond[0..0] = "0" ||\ |
||||
join.foreignkey_cond[0..0] = "'" >\ |
||||
<#assign fromclause=fromclause+" and "+join.foreignkey_cond />\ |
||||
<#else>\ |
||||
<#assign fromclause=fromclause+" and tmp_tabelle."+join.table_name+"_"+join.foreignkey_cond />\ |
||||
</#if>\ |
||||
</#if>\ |
||||
\ |
||||
</#if> --wenn nicht dim_person_attritubte_aggr\ |
||||
<#assign fromclause=fromclause+") " />\ |
||||
</#foreach>\ |
||||
<#if ("<<Weitere Tabellen>>"+restriction)?index_of("dim_person_attribute_aggr") !=-1>\ |
||||
<#assign fromclause=fromclause+" left outer join dim_person_attribute_aggr on ("+basetable+".matrikel_nr=dim_person_attribute_aggr.matrikel_nr and "+basetable+".sem_rueck_beur_ein=dim_person_attribute_aggr.semester)" />\ |
||||
</#if>\ |
||||
\ |
||||
--whereclause\ |
||||
<#assign whereclause=" L.tid="+basetable+".tid_stg " />\ |
||||
\ |
||||
--get groupbyclause\ |
||||
<#assign groupbyclause="group by 1" />\ |
||||
<#foreach feld in get_felder_fk>\ |
||||
<#if feld.name!="summe">\ |
||||
<#assign groupbyclause=groupbyclause+", "+feld.table_name +"_"+feld.name />\ |
||||
</#if>\ |
||||
</#foreach>\ |
||||
\ |
||||
<@selectintotmp\ |
||||
select=field_list_select\ |
||||
source=fromclause\ |
||||
target="tmp_tabelle">\ |
||||
where ${whereclause}\ |
||||
${filter}\ |
||||
${groupbyclause}\ |
||||
</@selectintotmp>\ |
||||
<@informixnolog/> ;\ |
||||
\ |
||||
create temp table tmp_rows(anz integer,max_anz integer) \ |
||||
<@informixnolog/> \ |
||||
;\ |
||||
insert into tmp_rows(anz) select count(*) from tmp_tabelle;\ |
||||
update tmp_rows set max_anz=(select apnr from konstanten where beschreibung='Datenblatt max.Zeilenzahl');\ |
||||
\ |
||||
delete from tmp_tabelle where 0 < (select count(*) from tmp_rows\ |
||||
where anz > max_anz);\ |
||||
\ |
||||
select 'Warnung: die Abfrage kann nicht ausgeführt werden, denn ' || anz || ' Zeilen liegen über max. Grenze von ' || max_anz as _runtimeMessage\ |
||||
from tmp_rows\ |
||||
where anz > max_anz;\ |
||||
\ |
||||
drop table tmp_rows;\ |
||||
\ |
||||
--denormalize:\ |
||||
\ |
||||
\ |
||||
<#foreach feld in get_felder_fk>\ |
||||
<#if feld.foreignkey_tab != "" >\ |
||||
<#if SQLdialect="Postgres">\ |
||||
update tmp_tabelle set\ |
||||
(${feld.table_name}_${feld.name}_uniquename, ${feld.table_name}_${feld.name}_str)=\ |
||||
(select ${feld.foreignkey_uniquename},${feld.foreignkey_cap}\ |
||||
from ${feld.foreignkey_tab}\ |
||||
where tmp_tabelle.${feld.table_name}_${feld.name}=\ |
||||
<#if feld.foreignkey_func != "">\ |
||||
${feld.foreignkey_func}(\ |
||||
</#if>\ |
||||
${feld.foreignkey_tab}.${feld.foreignkey_col}\ |
||||
<#if feld.foreignkey_func != "">\ |
||||
)\ |
||||
</#if>\ |
||||
<#if feld.foreignkey_cond != "">\ |
||||
<#if feld.foreignkey_cond[0..0] = "1" || \ |
||||
feld.foreignkey_cond[0..0] = "2" ||\ |
||||
feld.foreignkey_cond[0..0] = "3" ||\ |
||||
feld.foreignkey_cond[0..0] = "4" ||\ |
||||
feld.foreignkey_cond[0..0] = "5" ||\ |
||||
feld.foreignkey_cond[0..0] = "6" ||\ |
||||
feld.foreignkey_cond[0..0] = "7" ||\ |
||||
feld.foreignkey_cond[0..0] = "8" ||\ |
||||
feld.foreignkey_cond[0..0] = "9" ||\ |
||||
feld.foreignkey_cond[0..0] = "0" ||\ |
||||
feld.foreignkey_cond[0..0] = "'" >\ |
||||
and ${feld.foreignkey_cond}\ |
||||
<#else>\ |
||||
and tmp_tabelle.${feld.table_name}_${feld.foreignkey_cond}\ |
||||
</#if>\ |
||||
</#if>\ |
||||
);\ |
||||
<#else> --Wenn Informix:\ |
||||
\ |
||||
update tmp_tabelle set (${feld.table_name}_${feld.name}_uniquename,${feld.table_name}_${feld.name}_str)\ |
||||
=(( select ${feld.foreignkey_uniquename},${feld.foreignkey_cap}\ |
||||
from ${feld.foreignkey_tab}\ |
||||
where tmp_tabelle.${feld.table_name}_${feld.name}=\ |
||||
<#if feld.foreignkey_func != "">\ |
||||
${feld.foreignkey_func}(\ |
||||
</#if>\ |
||||
${feld.foreignkey_tab}.${feld.foreignkey_col}\ |
||||
<#if feld.foreignkey_func != "">\ |
||||
)\ |
||||
</#if>\ |
||||
<#if feld.foreignkey_cond != "">\ |
||||
<#if feld.foreignkey_cond[0..0] = "1" || \ |
||||
feld.foreignkey_cond[0..0] = "2" ||\ |
||||
feld.foreignkey_cond[0..0] = "3" ||\ |
||||
feld.foreignkey_cond[0..0] = "4" ||\ |
||||
feld.foreignkey_cond[0..0] = "5" ||\ |
||||
feld.foreignkey_cond[0..0] = "6" ||\ |
||||
feld.foreignkey_cond[0..0] = "7" ||\ |
||||
feld.foreignkey_cond[0..0] = "8" ||\ |
||||
feld.foreignkey_cond[0..0] = "9" ||\ |
||||
feld.foreignkey_cond[0..0] = "0" ||\ |
||||
feld.foreignkey_cond[0..0] = "'" >\ |
||||
and ${feld.foreignkey_cond}\ |
||||
<#else>\ |
||||
and tmp_tabelle.${feld.table_name}_${feld.foreignkey_cond}\ |
||||
</#if>\ |
||||
</#if>\ |
||||
))\ |
||||
where tmp_tabelle.${feld.table_name}_${feld.name} is not null\ |
||||
;\ |
||||
\ |
||||
</#if> --Wenn Postgres/Informix\ |
||||
</#if> --wenn foreign_key\ |
||||
</#foreach>\ |
||||
\ |
||||
\ |
||||
<#if get_felder_fk?has_content >\ |
||||
select \ |
||||
\ |
||||
<#assign rownum=1 />\ |
||||
<#foreach feld in get_felder_fk>\ |
||||
<#if feld.foreignkey_tab != "">\ |
||||
\ |
||||
${feld.table_name}_${feld.name}_str\ |
||||
<#if <<Schlüssel anzeigen>>=1>\ |
||||
<#if feld.foreignkey_col=feld.foreignkey_uniquename>\ |
||||
,${feld.table_name}_${feld.name}\ |
||||
<#else>\ |
||||
,${feld.table_name}_${feld.name}_uniquename\ |
||||
</#if>\ |
||||
</#if>\ |
||||
\ |
||||
<#else>\ |
||||
${feld.table_name}_${feld.name}\ |
||||
</#if>\ |
||||
<#if rownum < get_felder_fk?size>\ |
||||
,\ |
||||
</#if>\ |
||||
<#assign rownum= rownum+1 />\ |
||||
</#foreach>\ |
||||
from tmp_tabelle\ |
||||
;\ |
||||
</#if>^--Freemarker Template \ |
||||
<sqlvars>\ |
||||
<sqlvar name="basetable"><![CDATA[<#if "<<Köpfe oder Fälle ?>>"?index_of("S.gewichtung_id=")==-1>select 'sos_stg_aggr' from xdummy<#else>select 'sos_stud_gewichtung' from xdummy</#if>]]></sqlvar>\ |
||||
<sqlvar name="restriction"><![CDATA[<#if basetable='sos_stg_aggr'>\ |
||||
<#assign restrict=DatenblattTables(<<tablestylesheet>>,"<<Weitere Tabellen>>",.vars["Weitere TabellenObject"].allKeys)/>;\ |
||||
<#else>\ |
||||
<#assign restrict=DatenblattTables(<<tablestylesheet>>,"<<Weitere Tabellen>>",.vars["Weitere TabellenObject"].allKeys)?replace('sos_stg_aggr',basetable)?replace("'dim_studiengang'","'dim_studiengang_gew'")/>;\ |
||||
</#if>\ |
||||
select '${restrict?replace("\\x0027","\\x0027\\x0027")}' from xdummy;]]>\ |
||||
</sqlvar>\ |
||||
<sqlvar name="get_felder"><![CDATA[\ |
||||
SELECT caption,\ |
||||
foreignkey_tab,\ |
||||
description as strukturStr\ |
||||
from sx_fields\ |
||||
where table_name in ('${basetable}'\ |
||||
${restriction}\ |
||||
)\ |
||||
and currentlyused=1\ |
||||
--Pseudonyme eingeschaltet:\ |
||||
and (name != 'matrikel_nr' or 0=(select \ |
||||
count(*) from konstanten where beschreibung='SOS_MTKNR_EXT'\ |
||||
and apnr=1))\ |
||||
<#if basetable='sos_stg_aggr'>\ |
||||
${DatenblattFields(<<tablestylesheet>>,"<<Felder>>",FelderObject.allKeys)}\ |
||||
<#else>\ |
||||
${DatenblattFields(<<tablestylesheet>>,"<<Felder>>"?replace("sos_stg_aggr","sos_stud_gewichtung")?replace("dim_studiengang.","dim_studiengang_gew."),\ |
||||
FelderObject.allKeys?replace("sos_stg_aggr","sos_stud_gewichtung")?replace("dim_studiengang.","dim_studiengang_gew."))}\ |
||||
</#if>\ |
||||
and table_name !='dim_person_attribute_aggr'\ |
||||
--hier personattribute:\ |
||||
union SELECT P.attributevalue , -- F.caption,\ |
||||
F.foreignkey_tab,\ |
||||
F.description as strukturStr\ |
||||
from sx_fields F, personattributetype P\ |
||||
where F.table_name in ('${basetable}'\ |
||||
${restriction}\ |
||||
)\ |
||||
and currentlyused=1\ |
||||
--Pseudonyme eingeschaltet:\ |
||||
and (name != 'matrikel_nr' or 0=(select \ |
||||
count(*) from konstanten where beschreibung='SOS_MTKNR_EXT'\ |
||||
and apnr=1))\ |
||||
<#if basetable='sos_stg_aggr'>\ |
||||
${DatenblattFields(<<tablestylesheet>>,"<<Felder>>",FelderObject.allKeys)}\ |
||||
<#else>\ |
||||
${DatenblattFields(<<tablestylesheet>>,"<<Felder>>"?replace("sos_stg_aggr","sos_stud_gewichtung")?replace("dim_studiengang.","dim_studiengang_gew.")\ |
||||
,FelderObject.allKeys?replace("sos_stg_aggr","sos_stud_gewichtung")?replace("dim_studiengang.","dim_studiengang_gew."))}\ |
||||
</#if>\ |
||||
and table_name ='dim_person_attribute_aggr'\ |
||||
and F.name='attribute' || P.personattributetype_id\ |
||||
order by 1;]]>\ |
||||
</sqlvar>\ |
||||
</sqlvars>\ |
||||
XIL List\ |
||||
sizable_columns horizontal_scrolling\ |
||||
white_space_color=COLOR_WHITE fixed_columns=0\ |
||||
min_heading_height=35\ |
||||
<#assign i=1 />\ |
||||
<#if get_felder?has_content >\ |
||||
<#foreach myfield in get_felder>\ |
||||
<#assign i=i+1 />\ |
||||
Column CID=${i} heading_text="${myfield.key}" explanation="${myfield.strukturStr}" center_heading\ |
||||
row_selectable col_selectable rightJust heading_platform readonly\ |
||||
width=20\ |
||||
<#if myfield.name != '' && <<Schlüssel anzeigen>>==1>\ |
||||
<#assign i=i+1 />\ |
||||
Column CID=${i} heading_text="${myfield.key}\\n(Schlüssel)" explanation="Schlüssel des Feldes ${myfield.key}" center_heading\ |
||||
row_selectable col_selectable rightJust heading_platform readonly\ |
||||
width=20\ |
||||
</#if>\ |
||||
</#foreach>\ |
||||
</#if>\ |
||||
@@@^Altersgruppe^Anzahl^Flexible Ausgabe der Studierendenstatistik, Studiengänge und Lehreinheiten^drop table tmp_tabelle;^^3^700^360^0^1^^ |
@ -0,0 +1 @@
@@ -0,0 +1 @@
|
||||
16^44070^ |
@ -0,0 +1,185 @@
@@ -0,0 +1,185 @@
|
||||
<#include "MAN_MAKROS"/><sqlvars> <sqlvar name="entries" type="hash">select R.catalogue_id,K.shortname,timeunit,sqlchunk,calcratio,decimalplaces,linksub,linktimeline,R.report_id,R.sortnr, R.sortnr2,R.grouping1,G.caption as group_caption from man_catalogue K,man_catalogue_rpt R left outer join man_grouping G on (G.id=R.grouping1) where K.id=R.catalogue_id and R.active=1 and K.id not in ('Bewerber') order by R.sortnr, R.sortnr2 </sqlvar> |
||||
<sqlvar name="commonChartProperties" type="hash"> |
||||
SELECT tid, |
||||
caption, |
||||
prop_uniquename, |
||||
prop_default, |
||||
prop_unit |
||||
|
||||
FROM viz_property |
||||
where is_generic=1 |
||||
; |
||||
</sqlvar> |
||||
<sqlvar name="commonChartProperties" type="hash"> |
||||
SELECT |
||||
P.tid, |
||||
P.caption, |
||||
P.prop_uniquename, |
||||
P.prop_default, |
||||
P.prop_unit, |
||||
P.is_generic, |
||||
P.static_values, |
||||
P.is_mandatory, |
||||
P.explanation, |
||||
P.sortnr, |
||||
P.range_from, |
||||
P.range_to, |
||||
T.caption as input_type_caption, |
||||
T.uniquename as input_type_uniquename, |
||||
G.caption as group_caption, |
||||
G.sortnr as group_sortnr, |
||||
G.uniquename as group_uniquename, |
||||
R.uniquename as renderer_uniquename, |
||||
GR.variable_name as group_variable_name, |
||||
PR.variable_name, |
||||
P.prop_value_type, |
||||
P.is_generic |
||||
|
||||
FROM viz_property_input_type T, viz_property P left outer join viz_property_group G |
||||
on (P.property_group_id=G.tid) |
||||
left outer join viz_property_group_renderer GR on (GR.property_group_id=G.tid) |
||||
left outer join viz_renderer R on (R.tid=GR.renderer_id) |
||||
left outer join viz_property_renderer PR on (P.tid=PR.property_id) |
||||
where T.tid=P.input_type_id |
||||
--and P.is_generic=1 |
||||
order by G.sortnr,G.uniquename,P.sortnr,P.caption |
||||
; |
||||
</sqlvar> |
||||
<sqlvar name="vizRenderer" type="hash"> |
||||
SELECT |
||||
R.uniquename, |
||||
R.caption |
||||
FROM viz_renderer R |
||||
order by 2 desc |
||||
; |
||||
</sqlvar> |
||||
<sqlvar name="vizTypes" type="hash"> |
||||
SELECT T.tid, |
||||
T.uniquename, |
||||
T.caption, |
||||
R.uniquename as renderer_uniquename, |
||||
R.caption as renderer_caption, |
||||
T.srcpath, |
||||
T.method, |
||||
T.orientation |
||||
FROM viz_type T, viz_renderer R |
||||
where R.tid=T.renderer_id |
||||
order by 3 |
||||
; |
||||
</sqlvar> |
||||
<sqlvar name="viz_type_properties" type="hash"> |
||||
SELECT T.tid, |
||||
T.uniquename as viz_type_uniquename, |
||||
P.prop_uniquename, |
||||
P.caption, |
||||
G.uniquename as viz_property_group_uniquename, |
||||
TP.is_mandatory, |
||||
TP.sortnr |
||||
FROM viz_type T, viz_type_property TP, viz_property P, viz_property_group G |
||||
where T.tid=TP.viz_type_id |
||||
and P.tid=TP.viz_property_id |
||||
and G.tid=P.property_group_id |
||||
order by 2,TP.sortnr,P.caption |
||||
; |
||||
</sqlvar> |
||||
<sqlvar name="viz_chart" type="hashsequence"> |
||||
SELECT V.tid, |
||||
V.uniquename, |
||||
V.caption, |
||||
V.userinfo_id, |
||||
replace(V.chartmodel,'"','§') as chartmodel_escaped, |
||||
replace(V.chartmodel_miniature,'"','§') as chartmodel_miniature_escaped, |
||||
V.description, |
||||
V.chart_position |
||||
FROM viz_chart V |
||||
order by 3 |
||||
; |
||||
</sqlvar> |
||||
</sqlvars> |
||||
<#if !Semester?exists><#assign Semester=""></#if> <#if !Bezugssemester?exists><#assign Bezugssemester=""/></#if> <#if !Jahr?exists><#assign Jahr=""></#if> <#if !faecherkeys?exists><#assign faecherkeys=""></#if> <#if !Fächer?exists><#assign Fächer={"selectedKey":""}></#if> <#if !Kostenstelle?exists><#assign Kostenstelle={"selectedKey":""}></#if> <#if !(.vars["Datum (Personal)"]?exists)><#assign "Datum (Personal)"=""></#if> <#if !(.vars["Beschäftigungsstelle (Person)"]?exists)><#assign "Beschäftigungsstelle (Person)"=""></#if> |
||||
<navigation><item><href><![CDATA[888880190&maxoffset=100000&Jahr=${Jahr}&Semester=${Semester}&Datum%20(Personal)=${.vars["Datum (Personal)"]}]]></href><caption>Start</caption></item> |
||||
<#if entries?is_sequence><#foreach e in entries> |
||||
<#assign linktimeline=e.linktimeline?interpret/> |
||||
<#assign linkt><@linktimeline/></#assign> <#assign linksub=e.linksub?interpret/> |
||||
<#assign links><@linksub/></#assign> <doubleitem id="${e.catalogue_id}" timeunit="${e.timeunit}" report_id="${e.report_id}" group_id="${e.grouping1}" group_caption="${e.group_caption}"> |
||||
<aktuell><![CDATA[${links?replace('Fakultäten|','')}]]></aktuell> |
||||
<zeitreihe><![CDATA[${linkt?replace('Zeitreihe|','')}]]></zeitreihe> |
||||
<caption><![CDATA[${e.shortname}]]></caption> </doubleitem> </#foreach> |
||||
</#if></navigation> |
||||
<chartProperties> |
||||
<#if commonChartProperties?is_sequence><#foreach cp in commonChartProperties> |
||||
<commonChartProperty tid="${cp.tid}" |
||||
caption="${cp.caption}" |
||||
prop_uniquename="${cp.prop_uniquename}" |
||||
prop_default="${cp.prop_default}" |
||||
static_values="${cp.static_values}" |
||||
input_type_uniquename="${cp.input_type_uniquename}" |
||||
group_caption="${cp.group_caption}" |
||||
group_uniquename="${cp.group_uniquename}" |
||||
prop_unit="${cp.prop_unit}" |
||||
prop_range_from="${cp.range_from}" |
||||
prop_range_to="${cp.range_to}" |
||||
renderer_uniquename="${cp.renderer_uniquename}" |
||||
group_variable_name="${cp.group_variable_name}" |
||||
variable_name="${cp.variable_name}" |
||||
propValueType="${cp.prop_value_type}" |
||||
explanation="${cp.explanation}" |
||||
isGeneric="${cp.is_generic}" |
||||
/> |
||||
</#foreach> |
||||
</#if> |
||||
</chartProperties> |
||||
<vizRenderers> |
||||
<#if vizRenderer?is_sequence> |
||||
<#foreach vr in vizRenderer> |
||||
<vizRenderer |
||||
caption="${vr.caption}" |
||||
uniquename="${vr.uniquename}" |
||||
/> |
||||
</#foreach> |
||||
</#if> |
||||
</vizRenderers> |
||||
<vizTypes> |
||||
<#if vizTypes?is_sequence> |
||||
<#foreach vt in vizTypes> |
||||
<vizType tid="${vt.tid}" |
||||
caption="${vt.caption}" |
||||
uniquename="${vt.uniquename}" |
||||
srcpath="${vt.srcpath}" |
||||
method="${vt.method}" |
||||
orientation="${vt.orientation}" |
||||
renderer_uniquename="${vt.renderer_uniquename}" |
||||
renderer_caption="${vt.renderer_caption}" |
||||
/> |
||||
</#foreach> |
||||
</#if> |
||||
</vizTypes> |
||||
<viz_type_properties> |
||||
<#if viz_type_properties?is_sequence> |
||||
<#foreach tp in viz_type_properties> |
||||
<viz_type_property tid="${tp.tid}" |
||||
caption="${tp.caption}" |
||||
uniquename="${tp.prop_uniquename}" |
||||
viz_type_uniquename="${tp.viz_type_uniquename}" |
||||
viz_property_group_uniquename="${tp.viz_property_group_uniquename}" |
||||
is_mandatory="${tp.is_mandatory}" |
||||
sortnr="${tp.sortnr}" |
||||
/> |
||||
</#foreach> |
||||
</#if> |
||||
</viz_type_properties> |
||||
<viz_charts> |
||||
<#if viz_chart?is_sequence> |
||||
<#foreach ch in viz_chart> |
||||
<viz_chart tid="${ch.tid}" |
||||
caption="${ch.caption}" |
||||
uniquename="${ch.uniquename}" |
||||
userinfo_id="${ch.userinfo_id}" |
||||
description="${ch.description}" |
||||
chartmodel="${ch.chartmodel_escaped}" |
||||
chartmodel_miniature="${ch.chartmodel_miniature_escaped}" |
||||
chart_position="${ch.chart_position}" |
||||
/> |
||||
</#foreach> |
||||
</#if> |
||||
</viz_charts> |
@ -0,0 +1,215 @@
@@ -0,0 +1,215 @@
|
||||
--freemarker template |
||||
|
||||
<#assign makros = [ |
||||
{"tid":"44070"} |
||||
] /> |
||||
|
||||
|
||||
<#assign masken = [ |
||||
{"makro":"44070", "tid":"44020", "sortnr":"1"}, |
||||
{"makro":"44070", "tid":"44020", "sortnr":"10"}, |
||||
{"makro":"44070", "tid":"44020", "sortnr":"20"}, |
||||
|
||||
{"makro":"44070", "tid":"44020", "sortnr":"30"}, |
||||
{"makro":"44070", "tid":"44020", "sortnr":"40"}, |
||||
{"makro":"44070", "tid":"44020", "sortnr":"50"}, |
||||
|
||||
{"makro":"44070", "tid":"44020", "sortnr":"60"}, |
||||
{"makro":"44070", "tid":"44020", "sortnr":"70"}, |
||||
{"makro":"44070", "tid":"44020", "sortnr":"80"} |
||||
] /> |
||||
|
||||
<#assign felder = [ |
||||
{"makro":"44070", "sortnr":"1", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"}, |
||||
{"makro":"44070", "sortnr":"1", "feldname":"Felder", "value":"sos_stg_aggr.geschlecht|sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"}, |
||||
{"makro":"44070", "sortnr":"1", "feldname":"Grafik", "value":"1"}, |
||||
{"makro":"44070", "sortnr":"1", "feldname":"Weitere Tabellen", "value":"dim_studiengang"}, |
||||
{"makro":"44070", "sortnr":"1", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"}, |
||||
|
||||
{"makro":"44070", "sortnr":"10", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"}, |
||||
{"makro":"44070", "sortnr":"10", "feldname":"Felder", "value":"dim_staat.inl_ausl_lang|sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"}, |
||||
{"makro":"44070", "sortnr":"10", "feldname":"Grafik", "value":"2"}, |
||||
{"makro":"44070", "sortnr":"10", "feldname":"Weitere Tabellen", "value":"dim_staat"}, |
||||
{"makro":"44070", "sortnr":"10", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"}, |
||||
|
||||
{"makro":"44070", "sortnr":"20", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"}, |
||||
{"makro":"44070", "sortnr":"20", "feldname":"Felder", "value":"dim_studiengang.abschlussart_str|sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"}, |
||||
{"makro":"44070", "sortnr":"20", "feldname":"Grafik", "value":"3"}, |
||||
{"makro":"44070", "sortnr":"20", "feldname":"Weitere Tabellen", "value":"dim_studiengang"}, |
||||
{"makro":"44070", "sortnr":"20", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"}, |
||||
|
||||
{"makro":"44070", "sortnr":"30", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"}, |
||||
{"makro":"44070", "sortnr":"30", "feldname":"Felder", "value":"sos_stg_aggr.geschlecht|sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"}, |
||||
{"makro":"44070", "sortnr":"30", "feldname":"Grafik", "value":"4"}, |
||||
{"makro":"44070", "sortnr":"30", "feldname":"Weitere Tabellen", "value":"dim_studiengang"}, |
||||
{"makro":"44070", "sortnr":"30", "feldname":"bis Fachsemester", "value":"1"}, |
||||
{"makro":"44070", "sortnr":"30", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"}, |
||||
|
||||
{"makro":"44070", "sortnr":"40", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"}, |
||||
{"makro":"44070", "sortnr":"40", "feldname":"Felder", "value":"dim_staat.inl_ausl_lang|sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"}, |
||||
{"makro":"44070", "sortnr":"40", "feldname":"Grafik", "value":"5"}, |
||||
{"makro":"44070", "sortnr":"40", "feldname":"Weitere Tabellen", "value":"dim_staat"}, |
||||
{"makro":"44070", "sortnr":"40", "feldname":"bis Fachsemester", "value":"1"}, |
||||
{"makro":"44070", "sortnr":"40", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"}, |
||||
|
||||
{"makro":"44070", "sortnr":"50", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"}, |
||||
{"makro":"44070", "sortnr":"50", "feldname":"Felder", "value":"dim_studiengang.abschlussart_str|sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"}, |
||||
{"makro":"44070", "sortnr":"50", "feldname":"Grafik", "value":"6"}, |
||||
{"makro":"44070", "sortnr":"50", "feldname":"Weitere Tabellen", "value":"dim_studiengang"}, |
||||
{"makro":"44070", "sortnr":"50", "feldname":"bis Fachsemester", "value":"1"}, |
||||
{"makro":"44070", "sortnr":"50", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"}, |
||||
|
||||
{"makro":"44070", "sortnr":"60", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"}, |
||||
{"makro":"44070", "sortnr":"60", "feldname":"Felder", "value":"sos_stg_aggr.geschlecht|sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"}, |
||||
{"makro":"44070", "sortnr":"60", "feldname":"Grafik", "value":"7"}, |
||||
{"makro":"44070", "sortnr":"60", "feldname":"Weitere Tabellen", "value":"dim_studiengang"}, |
||||
{"makro":"44070", "sortnr":"60", "feldname":"Filter Studierende", "value":"SOS_HSSEM_1"}, |
||||
{"makro":"44070", "sortnr":"60", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"}, |
||||
|
||||
{"makro":"44070", "sortnr":"70", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"}, |
||||
{"makro":"44070", "sortnr":"70", "feldname":"Felder", "value":"dim_staat.inl_ausl_lang|sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"}, |
||||
{"makro":"44070", "sortnr":"70", "feldname":"Grafik", "value":"8"}, |
||||
{"makro":"44070", "sortnr":"70", "feldname":"Weitere Tabellen", "value":"dim_staat"}, |
||||
{"makro":"44070", "sortnr":"70", "feldname":"Filter Studierende", "value":"SOS_HSSEM_1"}, |
||||
{"makro":"44070", "sortnr":"70", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"}, |
||||
|
||||
{"makro":"44070", "sortnr":"80", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"}, |
||||
{"makro":"44070", "sortnr":"80", "feldname":"Felder", "value":"dim_studiengang.abschlussart_str|sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"}, |
||||
{"makro":"44070", "sortnr":"80", "feldname":"Grafik", "value":"9"}, |
||||
{"makro":"44070", "sortnr":"80", "feldname":"Weitere Tabellen", "value":"dim_studiengang"}, |
||||
{"makro":"44070", "sortnr":"80", "feldname":"Filter Studierende", "value":"SOS_HSSEM_1"}, |
||||
{"makro":"44070", "sortnr":"80", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"} |
||||
|
||||
] /> |
||||
|
||||
-- ab hier nicht mehr ändern: |
||||
|
||||
CREATE TEMP TABLE tmp_macro_masken_bez ( |
||||
maskeninfo_id1 integer NOT NULL, |
||||
maskeninfo_id2 integer NOT NULL, |
||||
active integer DEFAULT 1 NOT NULL, |
||||
sortnr smallint NOT NULL, |
||||
schleifenrelation character(255), |
||||
schleifenfeldname character(255), |
||||
alias character(255), |
||||
schleifenfstand character(255), |
||||
schleifenfsicht character(255), |
||||
aktion character(255) |
||||
); |
||||
CREATE TEMP TABLE tmp_macro_feld_wert ( |
||||
macro integer NOT NULL, |
||||
sortnr integer NOT NULL, |
||||
feldname character(255) NOT NULL, |
||||
alias character(255) NOT NULL, |
||||
value character(255), |
||||
value_caption character(255), |
||||
feldstand character(255), |
||||
feldsicht character(255), |
||||
active integer DEFAULT 1 NOT NULL |
||||
); |
||||
|
||||
|
||||
<#foreach makro in makros> |
||||
<#foreach maske in masken> |
||||
<#if maske.makro==makro.tid> |
||||
|
||||
insert into tmp_macro_masken_bez(maskeninfo_id1, |
||||
maskeninfo_id2, |
||||
active, |
||||
sortnr) |
||||
select ${makro.tid},--maskeninfo_id1, |
||||
${maske.tid},--maskeninfo_id2, |
||||
1,--active, |
||||
${maske.sortnr} --sortnr |
||||
from xdummy; |
||||
|
||||
<#foreach feld in felder> |
||||
<#if feld.makro==makro.tid && feld.sortnr==maske.sortnr> |
||||
|
||||
--Tab.12: alle ohne Exmatr |
||||
insert into tmp_macro_feld_wert |
||||
( macro, |
||||
sortnr, |
||||
feldname, |
||||
alias, |
||||
value, |
||||
value_caption, |
||||
feldstand, |
||||
feldsicht, |
||||
active) |
||||
SELECT ${makro.tid}, --macro |
||||
${maske.sortnr},--sortnr |
||||
'${feld.feldname}',--feldname, |
||||
'',--alias, |
||||
'${feld.value}', --value, |
||||
'',--value_caption, |
||||
'', --feldstand, |
||||
'',--feldsicht, |
||||
1 --active |
||||
FROM xdummy; |
||||
|
||||
</#if> |
||||
</#foreach> |
||||
|
||||
|
||||
</#if> |
||||
</#foreach> |
||||
</#foreach> |
||||
|
||||
|
||||
delete from macro_masken_bez where maskeninfo_id1 in (select maskeninfo_id1 from tmp_macro_masken_bez) |
||||
; |
||||
|
||||
|
||||
insert into macro_masken_bez |
||||
(maskeninfo_id1, |
||||
maskeninfo_id2, |
||||
active, |
||||
sortnr, |
||||
schleifenrelation, |
||||
schleifenfeldname, |
||||
alias, |
||||
schleifenfstand, |
||||
schleifenfsicht, |
||||
aktion) |
||||
select maskeninfo_id1, |
||||
maskeninfo_id2, |
||||
active, |
||||
sortnr, |
||||
schleifenrelation, |
||||
schleifenfeldname, |
||||
alias, |
||||
schleifenfstand, |
||||
schleifenfsicht, |
||||
aktion |
||||
FROM tmp_macro_masken_bez |
||||
; |
||||
|
||||
delete from macro_feld_wert where macro in (select macro from tmp_macro_feld_wert); |
||||
|
||||
insert into macro_feld_wert |
||||
( macro, |
||||
sortnr, |
||||
feldname, |
||||
alias, |
||||
value, |
||||
value_caption, |
||||
feldstand, |
||||
feldsicht, |
||||
active) |
||||
SELECT macro, |
||||
sortnr, |
||||
feldname, |
||||
alias, |
||||
value, |
||||
value_caption, |
||||
feldstand, |
||||
feldsicht, |
||||
active |
||||
FROM tmp_macro_feld_wert; |
||||
|
||||
|
||||
drop table tmp_macro_masken_bez; |
||||
drop table tmp_macro_feld_wert; |
||||
|
||||
|
@ -1,10 +1,15 @@
@@ -1,10 +1,15 @@
|
||||
--Das Sachgebiet 320 wird installiert |
||||
|
||||
delete from sachgebiete where tid in (321); |
||||
insert into sachgebiete(tid,name,rightname) values (321,'Visualisierungen Administr.','CS_BIA_STANDARDREPORTS_ADMIN[VIZ]'); |
||||
|
||||
|
||||
delete from group_sachgeb_bez where sachgebiete_id in (320) |
||||
delete from group_sachgeb_bez where sachgebiete_id in (320,321) |
||||
and groupinfo_id in (select G.tid from groupinfo G where G.name='Administratoren' or G.name='superx') ; |
||||
|
||||
insert into group_sachgeb_bez |
||||
select G.tid,320 from groupinfo G where G.name='Administratoren' or G.name='superx'; |
||||
|
||||
insert into group_sachgeb_bez |
||||
select G.tid,321 from groupinfo G where G.name='Administratoren' or G.name='superx'; |
||||
|
||||
|
@ -0,0 +1,182 @@
@@ -0,0 +1,182 @@
|
||||
--Freemarker Template |
||||
--Achtung: Macro fügt Inhalte ein |
||||
--Bitte nur Freemarker Variablen füllen |
||||
<sqlvars> |
||||
<sqlvar name="viz_installed"> |
||||
select count(*) from db_version where his_system ='viz'; |
||||
</sqlvar> |
||||
</sqlvars> |
||||
|
||||
|
||||
<#assign masken = [ |
||||
{"mask":"30190", "filename":"30190_html_chart_sankey.xsl", "ord":"130"} |
||||
] /> |
||||
|
||||
<#assign stylesheet = [ |
||||
{"filename":"30190_html_chart_sankey.xsl", |
||||
"caption":"BA-MA Übergang Diagramm erzeugen", |
||||
"description":"Sankey-Diagramm", |
||||
"relation":"table", |
||||
"contenttype":"text/html", |
||||
"is_generic":"0" |
||||
} |
||||
] /> |
||||
<#assign stylesheet_field = [ |
||||
{"filename":"30190_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"abschluss_vorher_abschluss"}, |
||||
{"filename":"30190_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"einschr_nachher_abschluss"}, |
||||
{"filename":"30190_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"summe"} |
||||
|
||||
] /> |
||||
|
||||
<#if viz_installed==1> |
||||
--Hier eventuell notwendige delete's auf die Tabellen sx_mask_style, sx_stylesheets oder stylesheet_field einfügen. |
||||
|
||||
--Achtung: ab hier nicht ändern, Mutterdatei ist $SUPERX_DIR/db/module/sos/schluesseltabellen/sx_stylesheets_fuellen.sql |
||||
<@sx_stylesheets_insert |
||||
m_masken=masken |
||||
m_stylesheet=stylesheet |
||||
m_stylesheet_field=stylesheet_field |
||||
/> |
||||
|
||||
</#if> |
||||
|
||||
<#macro sx_stylesheets_insert m_masken m_stylesheet m_stylesheet_field> |
||||
|
||||
--Sicherstellen, dass keine Duplikate vorkommen: |
||||
--#################################################################################################### |
||||
<#foreach column in m_masken> |
||||
delete from sx_mask_style where maskeninfo_id=${column.mask} and stylesheet_id in (select tid from sx_stylesheets where filename ='${column.filename}') and ord=${column.ord}; |
||||
</#foreach> |
||||
|
||||
<#foreach column in m_stylesheet_field> |
||||
delete from stylesheet_field where stylesheet_id in (select tid from sx_stylesheets where filename ='${column.filename}'); |
||||
</#foreach> |
||||
|
||||
|
||||
|
||||
|
||||
-- Stylesheets füllen |
||||
--#################################################################################################### |
||||
create temp table tmp_stylesheets ( |
||||
tid serial not null, |
||||
filename CHAR(255) , |
||||
caption CHAR(255) , |
||||
description CHAR(255) , |
||||
relation CHAR(10) , |
||||
useragent CHAR(255) , |
||||
contenttype CHAR(200) , |
||||
is_generic smallint |
||||
); |
||||
|
||||
create temp table tmp_hilf (tid integer); |
||||
insert into tmp_hilf select max(tid) from sx_stylesheets; |
||||
update tmp_hilf set tid=1 where tid is null; |
||||
|
||||
<#assign counter_tid = 1 /> |
||||
<#foreach column in m_stylesheet> |
||||
insert into tmp_stylesheets (tid,filename,caption,description,relation,contenttype,is_generic) |
||||
select max(tid)+${counter_tid},'${column.filename}', |
||||
'${column.caption}', |
||||
'${column.description}', |
||||
'${column.relation}', |
||||
'${column.contenttype}', |
||||
${column.is_generic} |
||||
from tmp_hilf; |
||||
<#assign counter_tid = counter_tid + 1 /> |
||||
</#foreach> |
||||
|
||||
<#if TableFieldExists?exists && TableFieldExists('sx_stylesheets','is_generic')> |
||||
update sx_stylesheets set is_generic=1 |
||||
where filename in (select T.filename from tmp_stylesheets T where T.is_generic=1); |
||||
</#if> |
||||
|
||||
|
||||
--delete für tml_stylesheets hinzugefügt #ak 06.03.2013 |
||||
delete from tmp_stylesheets where filename in (select filename from sx_stylesheets); |
||||
|
||||
|
||||
insert into sx_stylesheets (tid, |
||||
filename, caption, description, relation, useragent, contenttype |
||||
<#if TableFieldExists?exists && TableFieldExists('sx_stylesheets','is_generic')> |
||||
,is_generic |
||||
</#if> |
||||
) |
||||
SELECT tid, filename, caption, description, relation, useragent, contenttype |
||||
<#if TableFieldExists?exists && TableFieldExists('sx_stylesheets','is_generic')> |
||||
,is_generic |
||||
</#if> |
||||
FROM tmp_stylesheets; |
||||
|
||||
drop table tmp_stylesheets; |
||||
|
||||
|
||||
-- Mask Style füllen |
||||
--#################################################################################################### |
||||
create temp table tmp_mask_style ( |
||||
tid serial not null, |
||||
maskeninfo_id INTEGER , |
||||
stylesheet_id INTEGER , |
||||
ord SMALLINT, |
||||
filename char(255) |
||||
); |
||||
|
||||
delete from tmp_hilf; |
||||
insert into tmp_hilf select max(tid) from sx_mask_style; |
||||
update tmp_hilf set tid=1 where tid is null; |
||||
|
||||
<#assign counter_tid = 1 /> |
||||
<#foreach column in m_masken> |
||||
insert into tmp_mask_style (tid,maskeninfo_id,ord,filename) |
||||
select max(tid)+${counter_tid},${column.mask},${column.ord},'${column.filename}' from tmp_hilf; |
||||
|
||||
update tmp_mask_style set stylesheet_id=(select max(tid) from sx_stylesheets where filename='${column.filename}') |
||||
where filename='${column.filename}'; |
||||
<#assign counter_tid = counter_tid + 1 /> |
||||
</#foreach> |
||||
|
||||
insert into sx_mask_style ( tid, maskeninfo_id, stylesheet_id, ord) |
||||
SELECT tid, maskeninfo_id, stylesheet_id, ord |
||||
FROM tmp_mask_style; |
||||
|
||||
drop table tmp_mask_style; |
||||
|
||||
|
||||
--Field zu Stylesheet Zuordnungen: |
||||
--#################################################################################################### |
||||
CREATE temp TABLE tmp_stylesheet_field |
||||
( |
||||
tid serial NOT NULL, |
||||
stylesheet_id INTEGER, |
||||
tablename char(255), |
||||
fieldname char(255), |
||||
filename char(255) |
||||
); |
||||
|
||||
delete from tmp_hilf; |
||||
insert into tmp_hilf select max(tid) from stylesheet_field; |
||||
update tmp_hilf set tid=1 where tid is null; |
||||
|
||||
<#assign counter_tid = 1 /> |
||||
<#foreach column in m_stylesheet_field> |
||||
INSERT INTO tmp_stylesheet_field (tid, filename, tablename, fieldname) |
||||
select max(tid)+${counter_tid}, '${column.filename}', '${column.tablename}', '${column.fieldname}' from tmp_hilf; |
||||
|
||||
update tmp_stylesheet_field set stylesheet_id=(select max(tid) from sx_stylesheets where filename='${column.filename}') |
||||
where filename='${column.filename}'; |
||||
<#assign counter_tid = counter_tid + 1 /> |
||||
</#foreach> |
||||
|
||||
insert into stylesheet_field ( tid, stylesheet_id, tablename, fieldname) |
||||
SELECT tid, stylesheet_id, tablename, fieldname |
||||
FROM tmp_stylesheet_field; |
||||
|
||||
drop table tmp_stylesheet_field; |
||||
drop table tmp_hilf; |
||||
|
||||
<#if SQLdialect='Postgres'> |
||||
select sp_update_sequence('sx_stylesheets'); |
||||
select sp_update_sequence('sx_mask_style'); |
||||
select sp_update_sequence('stylesheet_field'); |
||||
</#if> |
||||
|
||||
</#macro> |
@ -0,0 +1,9 @@
@@ -0,0 +1,9 @@
|
||||
2^STUD_ENTW_SEM_STAAT_LINE^Studierende nach Nationalität^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"1","nr":2,"name":"Tab. 2","isDefault":true}],"targetDiv":"","chartElements":[{"nr":0,"vizTypeUniquename":"line","caption":"line","datasource":"1","elementTypeProperties":[{"nr":0,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein_str"},{"nr":0,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_summe"},{"nr":0,"vizTypePropertyUniquename":"stroke","caption":"Serien-Dimension","propertyValue":"dim_staat_inl_ausl_lang"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studierende nach Nationalität"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"marginTop","vizPropertyVariablename":"marginTop","propertyValue":"35","propUnit":""},{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"96","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"fontFamily","vizPropertyVariablename":"fontFamily","propertyValue":"system_ui","propUnit":""},{"name":"fontSize","vizPropertyVariablename":"fontSize","propertyValue":"12","propUnit":"px"},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Anzahl Studierende","propUnit":""},{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Semester","propUnit":""},{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-30","propUnit":""},{"name":"scheme","vizPropertyVariablename":"scheme","propertyValue":"tableau10","propUnit":""},{"name":"legend","vizPropertyVariablename":"legend","propertyValue":"true","propUnit":""}],"dataTransformation":[{"tableId":1,"colname":"sos_stg_aggr_sem_rueck_beur_ein_str","colfunction":"switchWord1and2ff"}]}^ ^1^^^44070^ ^2^^^ |
||||
4^STUD_ENTW_SEM_GESCHL_LINE_1^Studienanfänger_innen nach Geschlecht^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"3","nr":4,"name":"Tab. 4","isDefault":true}],"targetDiv":"","chartElements":[{"nr":0,"vizTypeUniquename":"line","caption":"line","datasource":"3","elementTypeProperties":[{"nr":0,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein_str"},{"nr":0,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_summe"},{"nr":0,"vizTypePropertyUniquename":"stroke","caption":"Serien-Dimension","propertyValue":"sos_stg_aggr_geschlecht_str"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studienanfänger_innen nach Geschlecht"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"marginTop","vizPropertyVariablename":"marginTop","propertyValue":"35","propUnit":""},{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"100","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"fontFamily","vizPropertyVariablename":"fontFamily","propertyValue":"system_ui","propUnit":""},{"name":"fontSize","vizPropertyVariablename":"fontSize","propertyValue":"12","propUnit":"px"},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Anzahl Studierende","propUnit":""},{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Semester","propUnit":""},{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-30","propUnit":""},{"name":"scheme","vizPropertyVariablename":"scheme","propertyValue":"tableau10","propUnit":""},{"name":"legend","vizPropertyVariablename":"legend","propertyValue":"true","propUnit":""}],"dataTransformation":[{"tableId":3,"colname":"sos_stg_aggr_sem_rueck_beur_ein_str","colfunction":"switchWord1and2ff"}]}^ ^1^^^44070^ ^2^^^ |
||||
5^STUD_ENTW_SEM_STAAT_LINE_1^Studienanfänger_innen nach Nationalität^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"4","nr":5,"name":"Tab. 5","isDefault":true}],"targetDiv":"","chartElements":[{"nr":0,"vizTypeUniquename":"line","caption":"line","datasource":"4","elementTypeProperties":[{"nr":0,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein_str"},{"nr":0,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_summe"},{"nr":0,"vizTypePropertyUniquename":"stroke","caption":"Serien-Dimension","propertyValue":"dim_staat_inl_ausl_lang"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studienanfänger_innen nach Nationalität"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"marginTop","vizPropertyVariablename":"marginTop","propertyValue":"35","propUnit":""},{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"96","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"fontFamily","vizPropertyVariablename":"fontFamily","propertyValue":"system_ui","propUnit":""},{"name":"fontSize","vizPropertyVariablename":"fontSize","propertyValue":"12","propUnit":"px"},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Anzahl Studierende","propUnit":""},{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Semester","propUnit":""},{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-30","propUnit":""},{"name":"scheme","vizPropertyVariablename":"scheme","propertyValue":"tableau10","propUnit":""},{"name":"legend","vizPropertyVariablename":"legend","propertyValue":"true","propUnit":""}],"dataTransformation":[{"tableId":4,"colname":"sos_stg_aggr_sem_rueck_beur_ein_str","colfunction":"switchWord1and2ff"}]}^ ^1^^^44070^ ^2^^^ |
||||
3^STUD_ENTW_SEM_ABSCHLUSS_LINE^Studierende nach Abschlussart^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"2","nr":3,"name":"Tab. 3","isDefault":true}],"targetDiv":"","chartElements":[{"nr":0,"vizTypeUniquename":"line","caption":"line","datasource":"2","elementTypeProperties":[{"nr":0,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein_str"},{"nr":0,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_summe"},{"nr":0,"vizTypePropertyUniquename":"stroke","caption":"Serien-Dimension","propertyValue":"dim_studiengang_abschlussart_str"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studierende nach Abschlussart"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"marginTop","vizPropertyVariablename":"marginTop","propertyValue":"35","propUnit":""},{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"96","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"fontFamily","vizPropertyVariablename":"fontFamily","propertyValue":"system_ui","propUnit":""},{"name":"fontSize","vizPropertyVariablename":"fontSize","propertyValue":"12","propUnit":"px"},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Anzahl Studierende","propUnit":""},{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Semester","propUnit":""},{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-30","propUnit":""},{"name":"scheme","vizPropertyVariablename":"scheme","propertyValue":"tableau10","propUnit":""},{"name":"legend","vizPropertyVariablename":"legend","propertyValue":"true","propUnit":""}],"dataTransformation":[{"tableId":2,"colname":"sos_stg_aggr_sem_rueck_beur_ein_str","colfunction":"switchWord1and2ff"}]}^ ^1^^^44070^ ^2^^^ |
||||
6^STUD_ENTW_SEM_ABSCHLUSS_LINE_1^Studienanfänger_innen nach Abschlussart^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"5","nr":6,"name":"Tab. 6","isDefault":true}],"targetDiv":"","chartElements":[{"nr":0,"vizTypeUniquename":"line","caption":"line","datasource":"5","elementTypeProperties":[{"nr":0,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein_str"},{"nr":0,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_summe"},{"nr":0,"vizTypePropertyUniquename":"stroke","caption":"Serien-Dimension","propertyValue":"dim_studiengang_abschlussart_str"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studienanfänger_innen nach Abschlussart"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"marginTop","vizPropertyVariablename":"marginTop","propertyValue":"35","propUnit":""},{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"96","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"fontFamily","vizPropertyVariablename":"fontFamily","propertyValue":"system_ui","propUnit":""},{"name":"fontSize","vizPropertyVariablename":"fontSize","propertyValue":"12","propUnit":"px"},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Anzahl Studierende","propUnit":""},{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Semester","propUnit":""},{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-30","propUnit":""},{"name":"scheme","vizPropertyVariablename":"scheme","propertyValue":"tableau10","propUnit":""},{"name":"legend","vizPropertyVariablename":"legend","propertyValue":"true","propUnit":""}],"dataTransformation":[{"tableId":5,"colname":"sos_stg_aggr_sem_rueck_beur_ein_str","colfunction":"switchWord1and2ff"}]}^ ^1^^^44070^ ^2^^^ |
||||
1^STUD_ENTW_SEM_GESCHL_LINE^Studierende nach Geschlecht^TEST^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true}],"targetDiv":"","chartElements":[{"nr":0,"vizTypeUniquename":"line","caption":"line","datasource":"0","elementTypeProperties":[{"nr":0,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein_str"},{"nr":0,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_summe"},{"nr":0,"vizTypePropertyUniquename":"stroke","caption":"Serien-Dimension","propertyValue":"sos_stg_aggr_geschlecht_str"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studierende nach Geschlecht"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"marginTop","vizPropertyVariablename":"marginTop","propertyValue":"35","propUnit":""},{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"100","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"fontFamily","vizPropertyVariablename":"fontFamily","propertyValue":"system_ui","propUnit":""},{"name":"fontSize","vizPropertyVariablename":"fontSize","propertyValue":"12","propUnit":"px"},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Anzahl Studierende","propUnit":""},{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Semester","propUnit":""},{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-30","propUnit":""},{"name":"scheme","vizPropertyVariablename":"scheme","propertyValue":"tableau10","propUnit":""},{"name":"legend","vizPropertyVariablename":"legend","propertyValue":"true","propUnit":""}],"dataTransformation":[{"tableId":0,"colname":"sos_stg_aggr_sem_rueck_beur_ein_str","colfunction":"switchWord1and2ff"}]}^ ^1^^^44070^ ^2^^^ |
||||
8^STUD_ENTW_SEM_STAAT_LINE_1HS^Studienanfänger_innen 1. HS nach Nationalität^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"7","nr":8,"name":"Tab. 8","isDefault":true}],"targetDiv":"","chartElements":[{"nr":0,"vizTypeUniquename":"line","caption":"line","datasource":"7","elementTypeProperties":[{"nr":0,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein_str"},{"nr":0,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_summe"},{"nr":0,"vizTypePropertyUniquename":"stroke","caption":"Serien-Dimension","propertyValue":"dim_staat_inl_ausl_lang"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studienanfänger_innen 1. HS nach Nationalität"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"marginTop","vizPropertyVariablename":"marginTop","propertyValue":"35","propUnit":""},{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"96","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"fontFamily","vizPropertyVariablename":"fontFamily","propertyValue":"system_ui","propUnit":""},{"name":"fontSize","vizPropertyVariablename":"fontSize","propertyValue":"12","propUnit":"px"},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Anzahl Studierende","propUnit":""},{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Semester","propUnit":""},{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-30","propUnit":""},{"name":"scheme","vizPropertyVariablename":"scheme","propertyValue":"tableau10","propUnit":""},{"name":"legend","vizPropertyVariablename":"legend","propertyValue":"true","propUnit":""}],"dataTransformation":[{"tableId":7,"colname":"sos_stg_aggr_sem_rueck_beur_ein_str","colfunction":"switchWord1and2ff"}]}^ ^1^^^44070^ ^2^^^ |
||||
7^STUD_ENTW_SEM_GESCHL_LINE_1HS^Studienanfänger_innen 1. HS nach Geschlecht^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"6","nr":7,"name":"Tab. 7","isDefault":true}],"targetDiv":"","chartElements":[{"nr":0,"vizTypeUniquename":"line","caption":"line","datasource":"6","elementTypeProperties":[{"nr":0,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein_str"},{"nr":0,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_summe"},{"nr":0,"vizTypePropertyUniquename":"stroke","caption":"Serien-Dimension","propertyValue":"sos_stg_aggr_geschlecht_str"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studienanfänger_innen 1. HS nach Geschlecht"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"marginTop","vizPropertyVariablename":"marginTop","propertyValue":"35","propUnit":""},{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"100","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"fontFamily","vizPropertyVariablename":"fontFamily","propertyValue":"system_ui","propUnit":""},{"name":"fontSize","vizPropertyVariablename":"fontSize","propertyValue":"12","propUnit":"px"},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Anzahl Studierende","propUnit":""},{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Semester","propUnit":""},{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-30","propUnit":""},{"name":"scheme","vizPropertyVariablename":"scheme","propertyValue":"tableau10","propUnit":""},{"name":"legend","vizPropertyVariablename":"legend","propertyValue":"true","propUnit":""}],"dataTransformation":[{"tableId":6,"colname":"sos_stg_aggr_sem_rueck_beur_ein_str","colfunction":"switchWord1and2ff"}]}^ ^1^^^44070^ ^2^^^ |
||||
9^STUD_ENTW_SEM_ABSCHLUSS_LINE_1HS^Studienanfänger_innen 1. HS nach Abschlussart^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"8","nr":9,"name":"Tab. 9","isDefault":true}],"targetDiv":"","chartElements":[{"nr":0,"vizTypeUniquename":"line","caption":"line","datasource":"8","elementTypeProperties":[{"nr":0,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein_str"},{"nr":0,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_summe"},{"nr":0,"vizTypePropertyUniquename":"stroke","caption":"Serien-Dimension","propertyValue":"dim_studiengang_abschlussart_str"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studienanfänger_innen 1. HS nach Abschlussart"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"marginTop","vizPropertyVariablename":"marginTop","propertyValue":"35","propUnit":""},{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"96","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"fontFamily","vizPropertyVariablename":"fontFamily","propertyValue":"system_ui","propUnit":""},{"name":"fontSize","vizPropertyVariablename":"fontSize","propertyValue":"12","propUnit":"px"},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Anzahl Studierende","propUnit":""},{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Semester","propUnit":""},{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-30","propUnit":""},{"name":"scheme","vizPropertyVariablename":"scheme","propertyValue":"tableau10","propUnit":""},{"name":"legend","vizPropertyVariablename":"legend","propertyValue":"true","propUnit":""}],"dataTransformation":[{"tableId":8,"colname":"sos_stg_aggr_sem_rueck_beur_ein_str","colfunction":"switchWord1and2ff"}]}^ ^1^^^44070^ ^2^^^ |
@ -1,49 +1,56 @@
@@ -1,49 +1,56 @@
|
||||
1^Diagramm-Höhe^height^^px^1^ ^0^4^10^Diagrammhöhe (exkl. Skalenbeschriftung). Wird nur ausgewertet wenn es keine Y-Achse gibt!^101^^^integer^ |
||||
2^Diagramm-Breite^width^^px^1^ ^0^4^10^Diagrammsbreite (exkl.Skalenbeschriftung)^102^100^2000^integer^ |
||||
3^Werte-Label-Breite^valueLabelWidth^^px^1^^0^1^18^^^^^integer^ |
||||
4^Hintergrundfarbe^backgroundColor^#ffffff^ ^1^#ffffeb^0^3^11^Hintergrundfarbe der Grafik^201^^^string^ |
||||
5^Vordergrundfarbe^color^^ ^1^black^0^3^11^Farbe von Text- und Diagrammelementen^202^^^string^ |
||||
6^Schriftgröße^fontSize^^px^1^ ^0^4^11^Schriftgröße der Skalenbeschriftung^204^^^integer^ |
||||
7^Schriftfamilie^fontFamily^^ ^1^serif|sans-serif|monospace|system_ui^0^2^11^Schriftfamlilie der Skalenbeschriftung^203^^^string^ |
||||
8^Flächenfarbe^fill_static^^ ^1^ ^0^3^10^Füllfarbe (nur) von Diagrammelementen (Flächen, Balken, Säulen, Streifen, Punkte)^305^^^string^ |
||||
11^X: Schriftneigung^tickRotate_x^^ ^1^ ^0^1^18^Neigungswinkel der Achsenwerte^604^^^integer^ |
||||
12^X: Skalierung^ticks_x^^ ^1^ ^0^1^18^Feinheit der Wertegliederung^605^^^integer^ |
||||
13^X: Schriftgröße^tickSize_x^^ ^1^ ^0^1^18^Größe der Achsenwerte^603^^^integer^ |
||||
15^X: Label-Ausrichtung^labelAnchor_x^^ ^1^left|center|right^0^2^18^Label-Position^601^^^string^ |
||||
16^Außenrand links^marginLeft^100^px^1^ ^0^4^10^Abstand links neben der Grafik (inkl. Skala)^103^^^integer^ |
||||
17^Außenrand rechts^marginRight^^px^1^ ^0^4^10^Abstand rechts neben der Grafik (inkl. Skala)^104^^^integer^ |
||||
18^Außenrand oben^marginTop^^px^1^ ^0^4^10^Abstand oberhalb der Grafik^105^^^integer^ |
||||
19^Außenrand unten^marginBottom^^px^1^ ^0^4^10^ ^106^^^integer^ |
||||
20^Innenrand oben^insetTop^^px^1^ ^0^4^10^Oberer Abstand zwischen Diagramm und Grafik^107^^^integer^ |
||||
21^Innenrand unten^insetBottom^^px^1^ ^0^4^10^Unterer Abstand zwischen Diagramm und Grafik^108^^^integer^ |
||||
22^Innenrand links^insetLeft^^px^1^ ^0^4^10^Linker Abstand zwischen Diagramm und Grafik^109^^^integer^ |
||||
23^Innenrand rechts^insetRight^^px^1^ ^0^4^10^Rechter Abstand zwischen Diagramm und Grafik^110^^^integer^ |
||||
24^Farbschema^scheme^^ ^1^blues|greens|greys|oranges|purples|reds^0^2^20^Farbschema von Diagrammelemente^303^^^string^ |
||||
25^Farbtyp^type^^ ^1^einfarbig|mehrfarbig|zyklisch^0^2^12^Ein-/Mehrfarbigkeit von Diagrammelementen^302^^^string^ |
||||
43^Farbsättigung^fillOpacity^^ ^1^ ^0^4^12^Deckkraft der Füllfarbe von Diagrammelementen^306^^^string^ |
||||
45^Strichdicke^strokeWidth^^ ^1^ ^0^1^12^Strichdicke von Diagrammelementen (relevant für Plot.dot, Plot.tickX/Y)^308^^^string^ |
||||
56^Fortlaufende Skala^continous scales^^ ^1^identity|linear|log|pow|sqrt|symlog^0^2^15^Art der Skalen-Gliederung^401^^^string^ |
||||
57^Kategorie-Skala^categorical scales^^ ^1^point|band^0^2^15^Art der Skalen-Gliederung^402^^^string^ |
||||
58^Datums-Skala^date scales^^ ^1^time|utc^0^2^15^Art der Skalen-Gliederung^403^^^string^ |
||||
60^Farbschema-Typ^schemetype^^ ^1^linear|sqrt|pow|log|symlog|sequential|cyclical|quantile^0^2^12^Art der Farbverteilung in Diagrammelementen^304^^^string^ |
||||
61^Elementtyp^marks^^ ^1^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 Dialgrammelemente^301^^^string^ |
||||
63^X: Label-Abstand^labelOffset_x^^px^1^ ^0^1^18^Label-Abstand von Achse^602^^^integer^ |
||||
68^Maß: Chart-Abstand^gridChartOffset^^ ^1^ ^0^1^18^ ^607^^^string^ |
||||
69^Maß: Label-Höhe^gridLabelHeight^^px^1^ ^0^1^18^ ^608^^^integer^ |
||||
70^X-Achse^x^^ ^1^ ^0^1^5^ ^608^^^string^ |
||||
71^Kategorie-Dimension 2^viz_dimension2^^ ^1^ ^0^1^5^ ^608^^^string^ |
||||
72^Y-Achse^y^^ ^1^ ^0^1^6^ ^608^^^string^ |
||||
73^Maß 2^viz_measure2^^ ^1^ ^0^1^6^ ^608^^^string^ |
||||
76^Serien-Dimension^stroke^^ ^1^ ^0^1^5^ ^608^^^string^ |
||||
78^Legende^legend^^ ^1^true|false^0^2^20^ ^303^^^boolean^ |
||||
79^Textbeschriftung^text^^ ^1^ ^0^1^5^ ^608^^^string^ |
||||
80^Serienfarbe^fill^^ ^1^ ^0^1^5^Füllfarbe (nur) von Diagrammelementen (Flächen, Balken, Säulen, Streifen, Punkte)^305^^^string^ |
||||
81^Y: Label-Abstand^labelOffset_y^^px^1^ ^0^1^21^Label-Abstand von Achse^602^^^integer^ |
||||
82^Y: Label-Ausrichtung^labelAnchor_y^^ ^1^left|center|right^0^2^21^Label-Position^601^^^string^ |
||||
83^Y: Schriftgröße^tickSize_y^^ ^1^ ^0^1^21^Größe der Achsenwerte^603^^^integer^ |
||||
84^Y: Schriftneigung^tickRotate_y^^ ^1^ ^0^1^21^Neigungswinkel der Achsenwerte^604^^^integer^ |
||||
85^Y: Skalierung^ticks_y^^ ^1^ ^0^1^21^Feinheit der Wertegliederung^605^^^integer^ |
||||
86^X: Label^label_x^^ ^1^ ^0^1^18^Label X-Achse^602^^^string^ |
||||
87^Y: Label^label_y^^ ^1^ ^0^1^21^Label Y-Achse^602^^^string^ |
||||
88^Punktdicke^r^^ ^1^ ^0^1^5^Punktdicke von Diagrammelementen (relevant für Plot.dot, Plot.tickX/Y)^308^^^string^ |
||||
89^Sortierung^sort^^ ^1^ ^0^1^5^ ^608^^^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^ |
||||
2^Grafik-Breite^width^650^ ^1^ ^0^4^10^Diagrammsbreite (exkl.Skalenbeschriftung)^102^100^2000^integer^ |
||||
3^Werte-Label-Breite^valueLabelWidth^^^0^^0^1^18^^^^^integer^ |
||||
4^Hintergrundfarbe^backgroundColor^#ffffff^ ^0^#ffffeb^0^3^11^Hintergrundfarbe der Grafik^201^^^string^ |
||||
5^Schriftfarbe^color^ ^ ^0^black^0^3^11^Farbe von Text- und Diagrammelementen^202^^^string^ |
||||
6^Schriftgröße^fontSize^^px^0^ ^0^4^11^Schriftgröße der Skalenbeschriftung^204^^^integer^ |
||||
7^Schriftfamilie^fontFamily^^ ^0^serif|sans-serif|monospace|system_ui^0^2^11^Schriftfamlilie der Skalenbeschriftung^203^^^string^ |
||||
8^Flächenfarbe^fill_static^ ^ ^0^ ^0^3^11^Nur für Grafikelemente Flächen und Balken. Füllfarbe.^305^^^string^ |
||||
11^X: Schriftneigung^tickRotate_x^^ ^0^ ^0^1^18^Neigungswinkel der Achsenwerte^604^^^integer^ |
||||
12^X: Skalierung^ticks_x^^ ^0^ ^0^1^18^Feinheit der Wertegliederung^605^^^integer^ |
||||
13^X: Schriftgröße^tickSize_x^^ ^0^ ^0^1^18^Größe der Achsenwerte^603^^^integer^ |
||||
15^X: Label-Ausrichtung^labelAnchor_x^^ ^0^left|center|right^0^2^18^Label-Position^601^^^string^ |
||||
16^Außenrand links^marginLeft^100^^0^ ^0^4^10^Abstand zwischen Grafik und linkem Hintergrundrand^103^^^integer^ |
||||
17^Außenrand rechts^marginRight^ ^^0^ ^0^4^10^Abstand zwischen Grafik und rechtem Hintergrundrand^104^^^integer^ |
||||
18^Außenrand oben^marginTop^ ^^0^ ^0^4^10^Abstand zwischen Grafik und oberem Hintergrundrand^105^^^integer^ |
||||
19^Außenrand unten^marginBottom^ ^^0^ ^0^4^10^Abstand zwischen Grafik und unterem Hintergrundrand^106^^^integer^ |
||||
20^Innenrand oben^insetTop^ ^^0^ ^0^4^10^Abstand zwischen Grafik und Achsenbeschriftung oben^107^^^integer^ |
||||
21^Innenrand unten^insetBottom^ ^^0^ ^0^4^10^Abstand zwischen Grafik und Achsenbeschriftung unten^108^^^integer^ |
||||
22^Innenrand links^insetLeft^ ^^0^ ^0^4^10^Abstand zwischen Grafik und Achsenbeschriftung links^109^^^integer^ |
||||
23^Innenrand rechts^insetRight^ ^^0^ ^0^4^10^Abstand zwischen Grafik und Achsenbeschriftung rechts^110^^^integer^ |
||||
24^Farbschema^scheme^ ^ ^0^blues|greens|greys|oranges|purples|reds|paired|set1|pastel1|pastel2|tableau10|category10|accent|dark2^0^2^22^Nur für Grafikelemente Balken und Linien: Farbtonschema für Serien.^303^^^string^ |
||||
25^Farbtyp^type^^ ^0^einfarbig|mehrfarbig|zyklisch^0^2^20^Ein-/Mehrfarbigkeit von Diagrammelementen^302^^^string^ |
||||
43^Farbsättigung^fillOpacity^^ ^0^ ^0^4^20^Deckkraft der Füllfarbe von Diagrammelementen^306^^^string^ |
||||
45^Strichdicke^strokeWidth^^ ^0^ ^0^1^12^Strichdicke von Diagrammelementen (relevant für Plot.dot, Plot.tickX/Y)^308^^^string^ |
||||
56^Fortlaufende Skala^continous scales^^ ^0^identity|linear|log|pow|sqrt|symlog^0^2^15^Art der Skalen-Gliederung^401^^^string^ |
||||
57^Kategorie-Skala^categorical scales^^ ^0^point|band^0^2^15^Art der Skalen-Gliederung^402^^^string^ |
||||
58^Datums-Skala^date scales^^ ^0^time|utc^0^2^15^Art der Skalen-Gliederung^403^^^string^ |
||||
60^Farbschema-Typ^schemetype^^ ^0^linear|sqrt|pow|log|symlog|sequential|cyclical|quantile^0^2^20^Art der Farbverteilung in Diagrammelementen^304^^^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^ |
||||
63^X: Label-Abstand^labelOffset_x^^^0^ ^0^1^18^Label-Abstand von Achse^602^^^integer^ |
||||
68^Maß: Chart-Abstand^gridChartOffset^^ ^0^ ^0^1^18^ ^607^^^string^ |
||||
69^Maß: Label-Höhe^gridLabelHeight^^^0^ ^0^1^18^ ^608^^^integer^ |
||||
70^X-Achse^x^^ ^0^ ^0^1^5^ ^608^^^string^ |
||||
72^Y-Achse^y^^ ^0^ ^0^1^6^ ^608^^^string^ |
||||
73^Maß 1^measure1^^ ^0^ ^0^1^6^ ^608^^^string^ |
||||
76^Serien-Dimension^stroke^^ ^0^ ^0^1^5^ ^608^^^string^ |
||||
78^Legende^legend^ ^ ^0^true|false^0^2^22^ ^303^^^boolean^ |
||||
79^Beschriftung^text^ ^ ^0^ ^0^1^5^ ^608^^^string^ |
||||
80^Serienfarbe^fill^ ^ ^0^ ^0^1^22^Nur für Grafikelemente Balken und Linien: Merkmal der Serien-Dimension^305^^^string^ |
||||
81^Y: Label-Abstand^labelOffset_y^^^0^ ^0^1^21^Label-Abstand von Achse^602^^^integer^ |
||||
82^Y: Label-Ausrichtung^labelAnchor_y^^ ^0^left|center|right^0^2^21^Label-Position^601^^^string^ |
||||
83^Y: Schriftgröße^tickSize_y^^ ^0^ ^0^1^21^Größe der Achsenwerte^603^^^integer^ |
||||
84^Y: Schriftneigung^tickRotate_y^^ ^0^ ^0^1^21^Neigungswinkel der Achsenwerte^604^^^integer^ |
||||
85^Y: Skalierung^ticks_y^^ ^0^ ^0^1^21^Feinheit der Wertegliederung^605^^^integer^ |
||||
86^X: Label^label_x^^ ^0^ ^0^1^18^Label X-Achse^602^^^string^ |
||||
87^Y: Label^label_y^^ ^0^ ^0^1^21^Label Y-Achse^602^^^string^ |
||||
88^Punktdicke^r^^ ^0^ ^0^1^5^Punktdicke von Diagrammelementen (relevant für Plot.dot, Plot.tickX/Y)^308^^^string^ |
||||
91^Quell-Dimension^viz_source^^ ^0^ ^0^1^5^ ^608^^^string^ |
||||
92^Ziel-Dimension 1^viz_target1^^ ^0^ ^0^1^5^ ^608^^^string^ |
||||
93^X: Linie^line_x^true^ ^0^true|false^0^2^18^Linie X-Achse^602^^^boolean^ |
||||
94^Y: Linie^line_y^true^ ^0^true|false^0^2^21^Linie Y-Achse^602^^^boolean^ |
||||
95^Dimension 1^dimension1^^ ^0^ ^0^1^5^ ^608^^^string^ |
||||
96^Dimension 2^dimension2^^ ^0^ ^0^1^5^ ^608^^^string^ |
||||
97^Leerzeilen-Maskierung^null_value_mask^ ^ ^0^ ^0^1^10^Text, der ersetzt wird, wenn eine Dimension leer ist, z.B. *Andere Hochschule* bei BA-MA-Übergang^700^^^string^ |
||||
98^Y-Wertebereich^domain^ ^ ^1^ ^0^1^21^Bittte Wertebereich mit [] eingeben, z.B. [0,100] für 0-100^1000^^^js^ |
||||
99^X: Skala^scale_x^band^ ^1^linear|identity|point|band|time^0^2^18^ ^1000^^^string^ |
||||
|
@ -1,11 +1,10 @@
@@ -1,11 +1,10 @@
|
||||
5^CATEGORY^Kategorie-Achse^60^ |
||||
6^MEASURE^Maß-Achse^70^ |
||||
10^LAYOUT^Layout^10^ |
||||
11^STYLE^Style^20^ |
||||
12^MARKS^Diagramm-Elemente^30^ |
||||
15^SCALES^Skalen-Typen^40^ |
||||
17^AXIS^Achsen-Customizing^50^ |
||||
18^TICKS_LABELS_X^X Achsen-Beschriftung^^ |
||||
19^TICKFORMATTING^Zahlen-, Datumsformat^80^ |
||||
20^COLOR^Farben^90^ |
||||
21^TICKS_LABELS_Y^Y Achsen-Beschriftung^^ |
||||
5^CATEGORY^Kategorie-Achse^70^ |
||||
6^MEASURE^Maß-Achse^80^ |
||||
10^LAYOUT^Größe und Ränder^20^ |
||||
11^STYLE^Formatierung^30^ |
||||
12^MARKS^Grafik-Elemente^10^ |
||||
15^SCALES^Skalen-Typen^100^ |
||||
18^TICKS_LABELS_X^X-Achse^60^ |
||||
19^TICKFORMATTING^Zahlen-, Datumsformat^90^ |
||||
21^TICKS_LABELS_Y^Y-Achse^50^ |
||||
22^SERIES^Seriendimension^65^ |
||||
|
@ -1,2 +1,2 @@
@@ -1,2 +1,2 @@
|
||||
1^d3js^D3JS^ |
||||
1^d3js^D3JS (V7)^ |
||||
2^plot^Observable Plot^ |
||||
|
@ -1,9 +1,12 @@
@@ -1,9 +1,12 @@
|
||||
1^bar_x^Balken (horizontal)^2^/superx/xml/js/viz/viz_functions.js^makeBarX^ |
||||
2^bar_y^Balken (vertikal)^2^/superx/xml/js/viz/viz_functions.js^makeBarY^ |
||||
3^line^Linien (vertikal)^2^/superx/xml/js/viz/viz_functions.js^makeLine^ |
||||
5^area_y^Flächen (vertikal)^2^^^ |
||||
6^dot^Punkte (vertikal)^2^^^ |
||||
7^box_x^Boxplot (horizontal)^2^ ^ ^ |
||||
8^area_x^Flächen (horizontal)^2^^^ |
||||
9^box_y^Boxplot (vertikal)^2^ ^ ^ |
||||
10^text^Wertelabel^2^ ^ ^ |
||||
1^bar_x^Balken (horizontal)^2^ ^ ^H^ |
||||
2^bar_y^Balken (vertikal)^2^ ^ ^V^ |
||||
3^line^Linien (vertikal)^2^ ^ ^V^ |
||||
5^area_y^Flächen (vertikal)^2^^^V^ |
||||
6^dot^Punkte (vertikal)^2^^^V^ |
||||
7^box_x^Boxplot (horizontal)^2^ ^ ^H^ |
||||
8^area_x^Flächen (horizontal)^2^^^H^ |
||||
9^box_y^Boxplot (vertikal)^2^ ^ ^V^ |
||||
10^text^Wertelabel^2^ ^ ^^ |
||||
11^bar_x_d3^Balken (horizontal)^1^^^H^ |
||||
12^sankey^Sankey^1^ ^^H^ |
||||
13^worldmap^Weltkarte^1^ ^^H^ |
||||
|
@ -1,33 +1,388 @@
@@ -1,33 +1,388 @@
|
||||
1^1^70^1^ |
||||
3^1^72^1^ |
||||
8^2^70^1^ |
||||
9^2^72^1^ |
||||
10^3^70^1^ |
||||
12^5^70^1^ |
||||
13^3^72^1^ |
||||
15^5^72^1^ |
||||
16^6^70^1^ |
||||
17^6^72^1^ |
||||
20^1^76^0^ |
||||
21^1^80^0^ |
||||
22^2^76^0^ |
||||
23^2^80^0^ |
||||
24^5^8^0^ |
||||
26^3^76^0^ |
||||
27^6^88^0^ |
||||
28^3^89^0^ |
||||
29^6^89^0^ |
||||
30^5^89^0^ |
||||
31^2^89^0^ |
||||
32^1^89^0^ |
||||
33^7^70^1^ |
||||
34^7^72^0^ |
||||
35^9^70^0^ |
||||
36^9^72^1^ |
||||
37^8^8^0^ |
||||
38^8^72^1^ |
||||
39^8^70^1^ |
||||
40^8^89^0^ |
||||
41^10^70^1^ |
||||
42^10^72^1^ |
||||
43^10^79^1^ |
||||
1^1^70^1^1^ |
||||
3^1^72^1^10^ |
||||
8^2^70^1^0^ |
||||
9^2^72^1^10^ |
||||
10^3^70^1^0^ |
||||
12^5^70^1^0^ |
||||
13^3^72^1^10^ |
||||
15^5^72^1^10^ |
||||
16^6^70^1^0^ |
||||
17^6^72^1^10^ |
||||
20^1^76^0^20^ |
||||
22^2^76^0^20^ |
||||
24^5^76^0^20^ |
||||
26^3^76^0^20^ |
||||
27^6^76^0^20^ |
||||
33^7^70^1^0^ |
||||
34^7^72^0^0^ |
||||
35^9^70^0^0^ |
||||
36^9^72^1^0^ |
||||
37^8^76^0^20^ |
||||
38^8^72^1^10^ |
||||
39^8^70^1^0^ |
||||
41^10^70^0^0^ |
||||
42^10^72^0^10^ |
||||
43^10^76^0^20^ |
||||
44^11^95^1^0^ |
||||
45^11^73^1^0^ |
||||
46^12^73^1^20^ |
||||
47^12^95^1^1^ |
||||
48^12^96^1^10^ |
||||
49^1^3^0^^ |
||||
50^1^4^0^201^ |
||||
51^1^5^0^202^ |
||||
52^1^6^0^204^ |
||||
53^1^7^0^203^ |
||||
54^1^8^0^305^ |
||||
55^1^11^0^604^ |
||||
56^1^12^0^605^ |
||||
57^1^13^0^603^ |
||||
58^1^15^0^601^ |
||||
59^1^16^0^103^ |
||||
60^1^17^0^104^ |
||||
61^1^18^0^105^ |
||||
62^1^19^0^106^ |
||||
63^1^20^0^107^ |
||||
64^1^21^0^108^ |
||||
65^1^22^0^109^ |
||||
66^1^23^0^110^ |
||||
67^1^25^0^302^ |
||||
68^1^43^0^306^ |
||||
69^1^45^0^308^ |
||||
70^1^56^0^401^ |
||||
71^1^57^0^402^ |
||||
72^1^58^0^403^ |
||||
73^1^60^0^304^ |
||||
74^1^61^0^301^ |
||||
75^1^63^0^602^ |
||||
76^1^68^0^607^ |
||||
77^1^69^0^608^ |
||||
78^1^81^0^602^ |
||||
79^1^82^0^601^ |
||||
80^1^83^0^603^ |
||||
81^1^84^0^604^ |
||||
82^1^85^0^605^ |
||||
83^1^86^0^602^ |
||||
84^1^87^0^602^ |
||||
85^1^93^0^602^ |
||||
86^1^94^0^602^ |
||||
87^2^3^0^^ |
||||
88^2^4^0^201^ |
||||
89^2^5^0^202^ |
||||
90^2^6^0^204^ |
||||
91^2^7^0^203^ |
||||
92^2^8^0^305^ |
||||
93^2^11^0^604^ |
||||
94^2^12^0^605^ |
||||
95^2^13^0^603^ |
||||
96^2^15^0^601^ |
||||
97^2^16^0^103^ |
||||
98^2^17^0^104^ |
||||
99^2^18^0^105^ |
||||
100^2^19^0^106^ |
||||
101^2^20^0^107^ |
||||
102^2^21^0^108^ |
||||
103^2^22^0^109^ |
||||
104^2^23^0^110^ |
||||
105^2^25^0^302^ |
||||
106^2^43^0^306^ |
||||
107^2^45^0^308^ |
||||
108^2^56^0^401^ |
||||
109^2^57^0^402^ |
||||
110^2^58^0^403^ |
||||
111^2^60^0^304^ |
||||
112^2^61^0^301^ |
||||
113^2^63^0^602^ |
||||
114^2^68^0^607^ |
||||
115^2^69^0^608^ |
||||
116^2^81^0^602^ |
||||
117^2^82^0^601^ |
||||
118^2^83^0^603^ |
||||
119^2^84^0^604^ |
||||
120^2^85^0^605^ |
||||
121^2^86^0^602^ |
||||
122^2^87^0^602^ |
||||
123^2^93^0^602^ |
||||
124^2^94^0^602^ |
||||
125^3^3^0^^ |
||||
126^3^4^0^201^ |
||||
127^3^5^0^202^ |
||||
128^3^6^0^204^ |
||||
129^3^7^0^203^ |
||||
130^3^8^0^305^ |
||||
131^3^11^0^604^ |
||||
132^3^12^0^605^ |
||||
133^3^13^0^603^ |
||||
134^3^15^0^601^ |
||||
135^3^16^0^103^ |
||||
136^3^17^0^104^ |
||||
137^3^18^0^105^ |
||||
138^3^19^0^106^ |
||||
139^3^20^0^107^ |
||||
140^3^21^0^108^ |
||||
141^3^22^0^109^ |
||||
142^3^23^0^110^ |
||||
143^3^25^0^302^ |
||||
144^3^43^0^306^ |
||||
145^3^45^0^308^ |
||||
146^3^56^0^401^ |
||||
147^3^57^0^402^ |
||||
148^3^58^0^403^ |
||||
149^3^60^0^304^ |
||||
150^3^61^0^301^ |
||||
151^3^63^0^602^ |
||||
152^3^68^0^607^ |
||||
153^3^69^0^608^ |
||||
154^3^81^0^602^ |
||||
155^3^82^0^601^ |
||||
156^3^83^0^603^ |
||||
157^3^84^0^604^ |
||||
158^3^85^0^605^ |
||||
159^3^86^0^602^ |
||||
160^3^87^0^602^ |
||||
161^3^93^0^602^ |
||||
162^3^94^0^602^ |
||||
163^5^3^0^^ |
||||
164^5^4^0^201^ |
||||
165^5^5^0^202^ |
||||
166^5^6^0^204^ |
||||
167^5^7^0^203^ |
||||
168^5^8^0^305^ |
||||
169^5^11^0^604^ |
||||
170^5^12^0^605^ |
||||
171^5^13^0^603^ |
||||
172^5^15^0^601^ |
||||
173^5^16^0^103^ |
||||
174^5^17^0^104^ |
||||
175^5^18^0^105^ |
||||
176^5^19^0^106^ |
||||
177^5^20^0^107^ |
||||
178^5^21^0^108^ |
||||
179^5^22^0^109^ |
||||
180^5^23^0^110^ |
||||
181^5^25^0^302^ |
||||
182^5^43^0^306^ |
||||
183^5^45^0^308^ |
||||
184^5^56^0^401^ |
||||
185^5^57^0^402^ |
||||
186^5^58^0^403^ |
||||
187^5^60^0^304^ |
||||
188^5^61^0^301^ |
||||
189^5^63^0^602^ |
||||
190^5^68^0^607^ |
||||
191^5^69^0^608^ |
||||
192^5^81^0^602^ |
||||
193^5^82^0^601^ |
||||
194^5^83^0^603^ |
||||
195^5^84^0^604^ |
||||
196^5^85^0^605^ |
||||
197^5^86^0^602^ |
||||
198^5^87^0^602^ |
||||
199^5^93^0^602^ |
||||
200^5^94^0^602^ |
||||
201^6^3^0^^ |
||||
202^6^4^0^201^ |
||||
203^6^5^0^202^ |
||||
204^6^6^0^204^ |
||||
205^6^7^0^203^ |
||||
206^6^8^0^305^ |
||||
207^6^11^0^604^ |
||||
208^6^12^0^605^ |
||||
209^6^13^0^603^ |
||||
210^6^15^0^601^ |
||||
211^6^16^0^103^ |
||||
212^6^17^0^104^ |
||||
213^6^18^0^105^ |
||||
214^6^19^0^106^ |
||||
215^6^20^0^107^ |
||||
216^6^21^0^108^ |
||||
217^6^22^0^109^ |
||||
218^6^23^0^110^ |
||||
219^6^25^0^302^ |
||||
220^6^43^0^306^ |
||||
221^6^45^0^308^ |
||||
222^6^56^0^401^ |
||||
223^6^57^0^402^ |
||||
224^6^58^0^403^ |
||||
225^6^60^0^304^ |
||||
226^6^61^0^301^ |
||||
227^6^63^0^602^ |
||||
228^6^68^0^607^ |
||||
229^6^69^0^608^ |
||||
230^6^81^0^602^ |
||||
231^6^82^0^601^ |
||||
232^6^83^0^603^ |
||||
233^6^84^0^604^ |
||||
234^6^85^0^605^ |
||||
235^6^86^0^602^ |
||||
236^6^87^0^602^ |
||||
237^6^93^0^602^ |
||||
238^6^94^0^602^ |
||||
239^7^3^0^^ |
||||
240^7^4^0^201^ |
||||
241^7^5^0^202^ |
||||
242^7^6^0^204^ |
||||
243^7^7^0^203^ |
||||
245^7^11^0^604^ |
||||
246^7^12^0^605^ |
||||
247^7^13^0^603^ |
||||
248^7^15^0^601^ |
||||
249^7^16^0^103^ |
||||
250^7^17^0^104^ |
||||
251^7^18^0^105^ |
||||
252^7^19^0^106^ |
||||
253^7^20^0^107^ |
||||
254^7^21^0^108^ |
||||
255^7^22^0^109^ |
||||
256^7^23^0^110^ |
||||
257^7^25^0^302^ |
||||
258^7^43^0^306^ |
||||
259^7^45^0^308^ |
||||
260^7^56^0^401^ |
||||
261^7^57^0^402^ |
||||
262^7^58^0^403^ |
||||
263^7^60^0^304^ |
||||
264^7^61^0^301^ |
||||
265^7^63^0^602^ |
||||
266^7^68^0^607^ |
||||
267^7^69^0^608^ |
||||
268^7^81^0^602^ |
||||
269^7^82^0^601^ |
||||
270^7^83^0^603^ |
||||
271^7^84^0^604^ |
||||
272^7^85^0^605^ |
||||
273^7^86^0^602^ |
||||
274^7^87^0^602^ |
||||
275^7^93^0^602^ |
||||
276^7^94^0^602^ |
||||
277^8^3^0^^ |
||||
278^8^4^0^201^ |
||||
279^8^5^0^202^ |
||||
280^8^6^0^204^ |
||||
281^8^7^0^203^ |
||||
282^8^8^0^305^ |
||||
283^8^11^0^604^ |
||||
284^8^12^0^605^ |
||||
285^8^13^0^603^ |
||||
286^8^15^0^601^ |
||||
287^8^16^0^103^ |
||||
288^8^17^0^104^ |
||||
289^8^18^0^105^ |
||||
290^8^19^0^106^ |
||||
291^8^20^0^107^ |
||||
292^8^21^0^108^ |
||||
293^8^22^0^109^ |
||||
294^8^23^0^110^ |
||||
295^8^25^0^302^ |
||||
296^8^43^0^306^ |
||||
297^8^45^0^308^ |
||||
298^8^56^0^401^ |
||||
299^8^57^0^402^ |
||||
300^8^58^0^403^ |
||||
301^8^60^0^304^ |
||||
302^8^61^0^301^ |
||||
303^8^63^0^602^ |
||||
304^8^68^0^607^ |
||||
305^8^69^0^608^ |
||||
306^8^81^0^602^ |
||||
307^8^82^0^601^ |
||||
308^8^83^0^603^ |
||||
309^8^84^0^604^ |
||||
310^8^85^0^605^ |
||||
311^8^86^0^602^ |
||||
312^8^87^0^602^ |
||||
313^8^93^0^602^ |
||||
314^8^94^0^602^ |
||||
315^9^3^0^^ |
||||
316^9^4^0^201^ |
||||
317^9^5^0^202^ |
||||
318^9^6^0^204^ |
||||
319^9^7^0^203^ |
||||
321^9^11^0^604^ |
||||
322^9^12^0^605^ |
||||
323^9^13^0^603^ |
||||
324^9^15^0^601^ |
||||
325^9^16^0^103^ |
||||
326^9^17^0^104^ |
||||
327^9^18^0^105^ |
||||
328^9^19^0^106^ |
||||
329^9^20^0^107^ |
||||
330^9^21^0^108^ |
||||
331^9^22^0^109^ |
||||
332^9^23^0^110^ |
||||
333^9^25^0^302^ |
||||
334^9^43^0^306^ |
||||
335^9^45^0^308^ |
||||
336^9^56^0^401^ |
||||
337^9^57^0^402^ |
||||
338^9^58^0^403^ |
||||
339^9^60^0^304^ |
||||
340^9^61^0^301^ |
||||
341^9^63^0^602^ |
||||
342^9^68^0^607^ |
||||
343^9^69^0^608^ |
||||
344^9^81^0^602^ |
||||
345^9^82^0^601^ |
||||
346^9^83^0^603^ |
||||
347^9^84^0^604^ |
||||
348^9^85^0^605^ |
||||
349^9^86^0^602^ |
||||
350^9^87^0^602^ |
||||
351^9^93^0^602^ |
||||
352^9^94^0^602^ |
||||
353^10^3^0^^ |
||||
354^10^4^0^201^ |
||||
355^10^5^0^202^ |
||||
356^10^6^0^204^ |
||||
357^10^7^0^203^ |
||||
358^10^8^0^305^ |
||||
359^10^11^0^604^ |
||||
360^10^12^0^605^ |
||||
361^10^13^0^603^ |
||||
362^10^15^0^601^ |
||||
363^10^16^0^103^ |
||||
364^10^17^0^104^ |
||||
365^10^18^0^105^ |
||||
366^10^19^0^106^ |
||||
367^10^20^0^107^ |
||||
368^10^21^0^108^ |
||||
369^10^22^0^109^ |
||||
370^10^23^0^110^ |
||||
371^10^25^0^302^ |
||||
372^10^43^0^306^ |
||||
373^10^45^0^308^ |
||||
374^10^56^0^401^ |
||||
375^10^79^0^40^ |
||||
376^10^58^0^403^ |
||||
377^10^60^0^304^ |
||||
378^10^61^0^301^ |
||||
379^10^63^0^602^ |
||||
380^10^68^0^607^ |
||||
381^10^69^0^608^ |
||||
382^10^81^0^602^ |
||||
383^10^82^0^601^ |
||||
384^10^83^0^603^ |
||||
385^10^84^0^604^ |
||||
386^10^85^0^605^ |
||||
387^10^86^0^602^ |
||||
388^10^87^0^602^ |
||||
389^10^93^0^602^ |
||||
390^10^94^0^602^ |
||||
391^2^78^0^300^ |
||||
392^2^24^0^400^ |
||||
393^1^78^0^400^ |
||||
394^1^24^0^410^ |
||||
395^8^78^0^400^ |
||||
396^8^24^0^410^ |
||||
397^5^78^0^400^ |
||||
398^5^24^0^410^ |
||||
399^3^78^0^400^ |
||||
400^3^24^0^410^ |
||||
401^6^78^0^400^ |
||||
402^6^24^0^410^ |
||||
403^12^97^0^100^ |
||||
404^12^6^10^0^ |
||||
405^12^7^0^0^ |
||||
406^12^5^20^0^ |
||||
407^13^73^1^10^ |
||||
408^13^95^1^1^ |
||||
|
@ -1,21 +0,0 @@
@@ -1,21 +0,0 @@
|
||||
MIT License |
||||
|
||||
Copyright (c) 2020 CreativeBulma |
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy |
||||
of this software and associated documentation files (the "Software"), to deal |
||||
in the Software without restriction, including without limitation the rights |
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
||||
copies of the Software, and to permit persons to whom the Software is |
||||
furnished to do so, subject to the following conditions: |
||||
|
||||
The above copyright notice and this permission notice shall be included in all |
||||
copies or substantial portions of the Software. |
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
||||
SOFTWARE. |
File diff suppressed because one or more lines are too long
@ -0,0 +1,128 @@
@@ -0,0 +1,128 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<xsl:stylesheet version="1.0" |
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util.HtmlUtils"> |
||||
<xsl:import href="xsl_functions.xsl" /> |
||||
<xsl:import href="resultset_html.xsl" /> |
||||
<xsl:import href="interLinks_html.xsl" /> |
||||
<xsl:import href="pageComponents_html.xsl" /> |
||||
<xsl:import href="pageComponents_html_final.xsl" /> |
||||
<xsl:import href="viz_html_chart.xsl" /> |
||||
<xsl:import href="menue_html_dojo.xsl" /> |
||||
<!--In diesem Stylesheet können Sie individuelle templates unterbringen, |
||||
die in ihrer Präzedenz das normale Stylesheet |
||||
pageComponents_html.xsl überragt. --> |
||||
<xsl:import href="pageComponents_html_final.xsl" /> |
||||
|
||||
<xsl:decimal-format name="German" grouping-separator="." NaN="" zero-digit ="0" decimal-separator="," /> |
||||
|
||||
<!-- wichtig für DOJO!--> |
||||
<xsl:output method="xml" media-type="text/html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" |
||||
doctype-system="DTD/xhtml1-strict.dtd" cdata-section-elements="script style" indent="yes" encoding="UTF-8"/> |
||||
<xsl:variable name="defaultRenderer" select="'d3js'" /> |
||||
<xsl:variable name="availableRendererPlot" select="'false'" /> |
||||
<xsl:variable name="availableRendererD3" select="'true'" /> |
||||
|
||||
<xsl:template match="/"> |
||||
<xsl:call-template name="table"/> |
||||
</xsl:template> |
||||
<!-- start table main--> |
||||
<xsl:template name="table"> |
||||
<html> |
||||
<xsl:choose> |
||||
<xsl:when test="/ergebnisse/@hisinone_active='true'"> |
||||
<xsl:call-template name="head_hisinone" ><xsl:with-param name="title" select="concat('Ergebnis ',/ergebnisse/ergebnis[ position()=1]/maskenname)" /></xsl:call-template> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:call-template name="head_superx_viz" ><xsl:with-param name="title" select="concat('Ergebnis ',/ergebnisse/ergebnis[ position()=1]/maskenname)" /></xsl:call-template> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
|
||||
<xsl:call-template name="tableJavascript_viz"></xsl:call-template> |
||||
|
||||
<!-- start Body--> |
||||
<body onload="document.getElementById('progressbar').style.display='none';createViewer();"> <!-- tableonload definiert in pageComponents.pccustomize position table_post_javascript --> |
||||
<div id="progressbar" style="position:absolute; width:150px; height:150px; left:200px; top:200px; background:#AAAAAA"> |
||||
<p> <b>Laden...</b><br/><img src="../images/progress_bar.gif"></img><br/></p></div> |
||||
|
||||
<xsl:if test="/ergebnisse/@showNavigation='true'"> |
||||
<xsl:for-each select="/ergebnisse/menue"> |
||||
<xsl:call-template name="menuFrame" /> |
||||
</xsl:for-each> |
||||
</xsl:if> |
||||
<div> |
||||
<xsl:if test="/ergebnisse/@showNavigation='true'"> |
||||
<xsl:attribute name="class"><xsl:text>page-wrap</xsl:text></xsl:attribute> |
||||
<xsl:for-each select="/ergebnisse/menue"> |
||||
<xsl:call-template name="topbar_menue" /> |
||||
</xsl:for-each> |
||||
</xsl:if> |
||||
|
||||
<div> |
||||
<xsl:if test="/ergebnisse/@showNavigation='true'"> |
||||
<xsl:attribute name="id"><xsl:text>wrapper</xsl:text></xsl:attribute> |
||||
</xsl:if> |
||||
<xsl:call-template name="viz_canvas"/> |
||||
<xsl:call-template name="bottombar" /> |
||||
<xsl:comment>customfooter</xsl:comment> |
||||
</div> |
||||
</div> |
||||
<xsl:call-template name="footer" /> |
||||
</body> |
||||
<!-- end body --> |
||||
</html> |
||||
</xsl:template> |
||||
<!-- end main --> |
||||
<xsl:template name="importVizJavascriptLibs"> |
||||
<script language="Javascript" type="text/javascript" src="../xml/js/viz/d3.min.js" /> |
||||
<script language="Javascript" type="text/javascript" src="../xml/js/viz/plot.js" /> |
||||
<script language="Javascript" type="text/javascript" src="../xml/js/viz/viz_functions.js" /> |
||||
<script language="Javascript" type="module" src="../xml/js/viz/d3-sankey.js" /> |
||||
<script language="Javascript" type="text/javascript"> |
||||
<xsl:text><![CDATA[ |
||||
function createViewer() |
||||
{ |
||||
var myChartModelStr="{\"version\":\"0.2b\",\"id\":1,\"name\":\"\",\"renderer\":\"d3js\",\"dataSources\":[{\"value\":\"0\",\"nr\":1,\"name\":\"Tab. 1\",\"isDefault\":true}],\"targetDiv\":\"\",\"chartElements\":[{\"nr\":0,\"vizTypeUniquename\":\"sankey\",\"caption\":\"sankey\",\"datasource\":\"0\",\"elementTypeProperties\":[{\"nr\":0,\"vizTypePropertyUniquename\":\"dimension1\",\"caption\":\"Dimension 1\",\"propertyValue\":\"erfolg_ba_ma_uebergang_abschluss_vorher_abschluss_str\"},{\"nr\":0,\"vizTypePropertyUniquename\":\"dimension2\",\"caption\":\"Dimension 2\",\"propertyValue\":\"erfolg_ba_ma_uebergang_einschr_nachher_abschluss_str\"},{\"nr\":0,\"vizTypePropertyUniquename\":\"measure1\",\"caption\":\"Maß 1\",\"propertyValue\":\"erfolg_ba_ma_uebergang_summe\"}]}],\"chartPropertiesUsed\":[{\"name\":\"caption\",\"vizPropertyVariablename\":\"caption\",\"propertyValue\":\"Übergang BA-MA Datenblatt\"},{\"name\":\"height\",\"vizPropertyVariablename\":\"height\",\"propertyValue\":\"850\",\"propUnit\":\"\"},{\"name\":\"width\",\"vizPropertyVariablename\":\"width\",\"propertyValue\":\"950\",\"propUnit\":\"\"},{\"name\":\"marginLeft\",\"vizPropertyVariablename\":\"marginLeft\",\"propertyValue\":\"100\",\"propUnit\":\"\"},{\"name\":\"backgroundColor\",\"vizPropertyVariablename\":\"backgroundColor\",\"propertyValue\":\"#ffffff\",\"propUnit\":\"\"},{\"name\":\"line_y\",\"vizPropertyVariablename\":\"line\",\"propertyValue\":\"true\",\"propUnit\":\"\"},{\"name\":\"line_x\",\"vizPropertyVariablename\":\"line\",\"propertyValue\":\"true\",\"propUnit\":\"\"}],\"dataTransformation\":[]}"; |
||||
myChartModel=JSON.parse(myChartModelStr); |
||||
renderChart('chartDiv2',myChartModel); |
||||
} |
||||
]]></xsl:text> |
||||
</script> |
||||
|
||||
</xsl:template> |
||||
|
||||
<xsl:template name="viz_canvas"> |
||||
<xsl:if test="/ergebnisse/@isMakro='true'"> |
||||
<h1><xsl:value-of select="/ergebnisse/makro/name" /></h1> |
||||
</xsl:if> |
||||
<p></p> |
||||
<xsl:call-template name="buildVizMetadata" /> |
||||
|
||||
<!-- end Kopf--> |
||||
<!-- start Grafik--> |
||||
<xsl:for-each select="ergebnisse"> |
||||
<xsl:for-each select="ergebnis/ergebniselement"> |
||||
<p class="title is-5"><xsl:value-of select="../maskenname" /></p> |
||||
<xsl:call-template name="legende" /> |
||||
</xsl:for-each> |
||||
<span class="separator"> </span> |
||||
<!--Beginn Selektions-Card--> |
||||
<!--Beginn Berichtstitel, Pfad, Knopfleiste--> |
||||
<section class="hero-body has-background-light"> |
||||
<div class="columns is-mobile is-left"> |
||||
<div class="card has-background-light"> |
||||
<div class="card-content"> |
||||
|
||||
<div class="tab-content"> |
||||
|
||||
<div id="chartDiv2"> |
||||
<a onclick="createViewer();"><span>Diagramm anzeigen</span></a> |
||||
</div> |
||||
|
||||
</div><!--tab-content --> |
||||
</div> <!-- card-content --> |
||||
</div><!--card --> |
||||
</div> <!-- column --> |
||||
</section> |
||||
</xsl:for-each> |
||||
</xsl:template> |
||||
</xsl:stylesheet> |
@ -0,0 +1,124 @@
@@ -0,0 +1,124 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<xsl:stylesheet version="1.0" |
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util.HtmlUtils"> |
||||
<xsl:import href="xsl_functions.xsl" /> |
||||
<xsl:import href="resultset_html.xsl" /> |
||||
<xsl:import href="interLinks_html.xsl" /> |
||||
<xsl:import href="pageComponents_html.xsl" /> |
||||
<xsl:import href="pageComponents_html_final.xsl" /> |
||||
<xsl:import href="viz_html_chart.xsl" /> |
||||
<xsl:import href="menue_html_dojo.xsl" /> |
||||
<!--In diesem Stylesheet können Sie individuelle templates unterbringen, |
||||
die in ihrer Präzedenz das normale Stylesheet |
||||
pageComponents_html.xsl überragt. --> |
||||
<xsl:import href="pageComponents_html_final.xsl" /> |
||||
|
||||
<xsl:decimal-format name="German" grouping-separator="." NaN="" zero-digit ="0" decimal-separator="," /> |
||||
|
||||
<!-- wichtig für DOJO!--> |
||||
<xsl:output method="xml" media-type="text/html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" |
||||
doctype-system="DTD/xhtml1-strict.dtd" cdata-section-elements="script style" indent="yes" encoding="UTF-8"/> |
||||
<xsl:variable name="defaultRenderer" select="'d3jsv3'" /> |
||||
<xsl:variable name="availableRendererPlot" select="'false'" /> |
||||
<xsl:variable name="availableRendererD3" select="'false'" /> |
||||
<xsl:variable name="availableRendererD3V3" select="'true'" /> |
||||
|
||||
<xsl:template match="/"> |
||||
<xsl:call-template name="table"/> |
||||
</xsl:template> |
||||
<!-- start table main--> |
||||
<xsl:template name="table"> |
||||
<html> |
||||
<xsl:choose> |
||||
<xsl:when test="/ergebnisse/@hisinone_active='true'"> |
||||
<xsl:call-template name="head_hisinone" ><xsl:with-param name="title" select="concat('Ergebnis ',/ergebnisse/ergebnis[ position()=1]/maskenname)" /></xsl:call-template> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:call-template name="head_superx_viz" ><xsl:with-param name="title" select="concat('Ergebnis ',/ergebnisse/ergebnis[ position()=1]/maskenname)" /></xsl:call-template> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
|
||||
<xsl:call-template name="tableJavascript_viz"></xsl:call-template> |
||||
|
||||
<!-- start Body--> |
||||
<body onload="document.getElementById('progressbar').style.display='none';createViewer();"> <!-- tableonload definiert in pageComponents.pccustomize position table_post_javascript --> |
||||
<div id="progressbar" style="position:absolute; width:150px; height:150px; left:200px; top:200px; background:#AAAAAA"> |
||||
<p> <b>Laden...</b><br/><img src="../images/progress_bar.gif"></img><br/></p></div> |
||||
|
||||
<xsl:if test="/ergebnisse/@showNavigation='true'"> |
||||
<xsl:for-each select="/ergebnisse/menue"> |
||||
<xsl:call-template name="menuFrame" /> |
||||
</xsl:for-each> |
||||
</xsl:if> |
||||
<div> |
||||
<xsl:if test="/ergebnisse/@showNavigation='true'"> |
||||
<xsl:attribute name="class"><xsl:text>page-wrap</xsl:text></xsl:attribute> |
||||
<xsl:for-each select="/ergebnisse/menue"> |
||||
<xsl:call-template name="topbar_menue" /> |
||||
</xsl:for-each> |
||||
</xsl:if> |
||||
|
||||
<div> |
||||
<xsl:if test="/ergebnisse/@showNavigation='true'"> |
||||
<xsl:attribute name="id"><xsl:text>wrapper</xsl:text></xsl:attribute> |
||||
</xsl:if> |
||||
<xsl:call-template name="viz_canvas"/> |
||||
<xsl:call-template name="bottombar" /> |
||||
<xsl:comment>customfooter</xsl:comment> |
||||
</div> |
||||
</div> |
||||
<xsl:call-template name="footer" /> |
||||
</body> |
||||
<!-- end body --> |
||||
</html> |
||||
</xsl:template> |
||||
<!-- end main --> |
||||
<xsl:template name="importVizJavascriptLibs"> |
||||
<script language="Javascript" type="text/javascript" src="../xml/js/viz/d3.v3.min.js" /> |
||||
<script language="Javascript" type="text/javascript" src="../xml/js/viz/viz_functions.js" /> |
||||
<script language="Javascript" type="text/javascript" src="../xml/js/viz/sankey_v3.js" /> |
||||
<script language="Javascript" type="text/javascript"> |
||||
<xsl:text><![CDATA[ |
||||
function createViewer() |
||||
{ |
||||
var myChartModelStr="{\"id\":1,\"name\":\"\",\"renderer\":\"d3jsv3\",\"dataSources\":[{\"value\":\"0\",\"nr\":1,\"name\":\"Tab. 1\",\"isDefault\":true}],\"targetDiv\":\"chartDiv\",\"chartElements\":[{\"nr\":0,\"vizTypeUniquename\":\"sankey\",\"caption\":\"sankey\",\"datasource\":\"0\",\"elementTypeProperties\":[{\"nr\":0,\"vizTypePropertyUniquename\":\"viz_dimension1\",\"caption\":\"Kategorie-Dimension 1\",\"propertyValue\":\"erfolg_ba_ma_uebergang_abschluss_vorher_abschluss_str\"},{\"nr\":0,\"vizTypePropertyUniquename\":\"viz_dimension2\",\"caption\":\"Kategorie-Dimension 2\",\"propertyValue\":\"erfolg_ba_ma_uebergang_einschr_nachher_abschluss_str\"},{\"nr\":0,\"vizTypePropertyUniquename\":\"viz_measure1\",\"caption\":\"Maß 1\",\"propertyValue\":\"erfolg_ba_ma_uebergang_summe\"}]}],\"chartPropertiesUsed\":[{\"name\":\"caption\",\"vizPropertyVariablename\":\"caption\",\"propertyValue\":\"Übergang BA-MA Datenblatt (Neu)\"}]}"; |
||||
myChartModel=JSON.parse(myChartModelStr); |
||||
renderChart('chartDiv2',myChartModel); |
||||
} |
||||
]]></xsl:text> |
||||
</script> |
||||
</xsl:template> |
||||
|
||||
<xsl:template name="viz_canvas"> |
||||
<xsl:if test="/ergebnisse/@isMakro='true'"> |
||||
<h1><xsl:value-of select="/ergebnisse/makro/name" /></h1> |
||||
</xsl:if> |
||||
<p></p> |
||||
<xsl:call-template name="buildVizMetadata" /> |
||||
|
||||
<!-- end Kopf--> |
||||
<!-- start Grafik--> |
||||
<xsl:for-each select="ergebnisse"> |
||||
|
||||
<!--Beginn Selektions-Card--> |
||||
<!--Beginn Berichtstitel, Pfad, Knopfleiste--> |
||||
<section class="hero-body has-background-light"> |
||||
<div class="columns is-mobile is-left"> |
||||
<div class="card has-background-light"> |
||||
<div class="card-content"> |
||||
|
||||
<div class="tab-content"> |
||||
|
||||
<div id="chartDiv2"> |
||||
<a onclick="createViewer();"><span>Diagramm anzeigen</span></a> |
||||
</div> |
||||
|
||||
|
||||
</div><!--tab-content --> |
||||
</div> <!-- card-content --> |
||||
</div><!--card --> |
||||
</div> <!-- column --> |
||||
</section> |
||||
</xsl:for-each> |
||||
</xsl:template> |
||||
</xsl:stylesheet> |
@ -0,0 +1,27 @@
@@ -0,0 +1,27 @@
|
||||
Copyright 2015, Mike Bostock |
||||
All rights reserved. |
||||
|
||||
Redistribution and use in source and binary forms, with or without modification, |
||||
are permitted provided that the following conditions are met: |
||||
|
||||
* Redistributions of source code must retain the above copyright notice, this |
||||
list of conditions and the following disclaimer. |
||||
|
||||
* Redistributions in binary form must reproduce the above copyright notice, |
||||
this list of conditions and the following disclaimer in the documentation |
||||
and/or other materials provided with the distribution. |
||||
|
||||
* Neither the name of the author nor the names of contributors may be used to |
||||
endorse or promote products derived from this software without specific prior |
||||
written permission. |
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND |
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR |
||||
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON |
||||
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
@ -0,0 +1,425 @@
@@ -0,0 +1,425 @@
|
||||
// https://github.com/d3/d3-sankey v0.12.3 Copyright 2019 Mike Bostock
|
||||
(function (global, factory) { |
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('d3-array'), require('d3-shape')) : |
||||
typeof define === 'function' && define.amd ? define(['exports', 'd3-array', 'd3-shape'], factory) : |
||||
(global = global || self, factory(global.d3 = global.d3 || {}, global.d3, global.d3)); |
||||
}(this, function (exports, d3Array, d3Shape) { 'use strict'; |
||||
|
||||
function targetDepth(d) { |
||||
return d.target.depth; |
||||
} |
||||
|
||||
function left(node) { |
||||
return node.depth; |
||||
} |
||||
|
||||
function right(node, n) { |
||||
return n - 1 - node.height; |
||||
} |
||||
|
||||
function justify(node, n) { |
||||
return node.sourceLinks.length ? node.depth : n - 1; |
||||
} |
||||
|
||||
function center(node) { |
||||
return node.targetLinks.length ? node.depth |
||||
: node.sourceLinks.length ? d3Array.min(node.sourceLinks, targetDepth) - 1 |
||||
: 0; |
||||
} |
||||
|
||||
function constant(x) { |
||||
return function() { |
||||
return x; |
||||
}; |
||||
} |
||||
|
||||
function ascendingSourceBreadth(a, b) { |
||||
return ascendingBreadth(a.source, b.source) || a.index - b.index; |
||||
} |
||||
|
||||
function ascendingTargetBreadth(a, b) { |
||||
return ascendingBreadth(a.target, b.target) || a.index - b.index; |
||||
} |
||||
|
||||
function ascendingBreadth(a, b) { |
||||
return a.y0 - b.y0; |
||||
} |
||||
|
||||
function value(d) { |
||||
return d.value; |
||||
} |
||||
|
||||
function defaultId(d) { |
||||
return d.index; |
||||
} |
||||
|
||||
function defaultNodes(graph) { |
||||
return graph.nodes; |
||||
} |
||||
|
||||
function defaultLinks(graph) { |
||||
return graph.links; |
||||
} |
||||
|
||||
function find(nodeById, id) { |
||||
const node = nodeById.get(id); |
||||
if (!node) throw new Error("missing: " + id); |
||||
return node; |
||||
} |
||||
|
||||
function computeLinkBreadths({nodes}) { |
||||
for (const node of nodes) { |
||||
let y0 = node.y0; |
||||
let y1 = y0; |
||||
for (const link of node.sourceLinks) { |
||||
link.y0 = y0 + link.width / 2; |
||||
y0 += link.width; |
||||
} |
||||
for (const link of node.targetLinks) { |
||||
link.y1 = y1 + link.width / 2; |
||||
y1 += link.width; |
||||
} |
||||
} |
||||
} |
||||
|
||||
function Sankey() { |
||||
let x0 = 0, y0 = 0, x1 = 1, y1 = 1; // extent
|
||||
let dx = 24; // nodeWidth
|
||||
let dy = 8, py; // nodePadding
|
||||
let id = defaultId; |
||||
let align = justify; |
||||
let sort; |
||||
let linkSort; |
||||
let nodes = defaultNodes; |
||||
let links = defaultLinks; |
||||
let iterations = 6; |
||||
|
||||
function sankey() { |
||||
const graph = {nodes: nodes.apply(null, arguments), links: links.apply(null, arguments)}; |
||||
computeNodeLinks(graph); |
||||
computeNodeValues(graph); |
||||
computeNodeDepths(graph); |
||||
computeNodeHeights(graph); |
||||
computeNodeBreadths(graph); |
||||
computeLinkBreadths(graph); |
||||
return graph; |
||||
} |
||||
|
||||
sankey.update = function(graph) { |
||||
computeLinkBreadths(graph); |
||||
return graph; |
||||
}; |
||||
|
||||
sankey.nodeId = function(_) { |
||||
return arguments.length ? (id = typeof _ === "function" ? _ : constant(_), sankey) : id; |
||||
}; |
||||
|
||||
sankey.nodeAlign = function(_) { |
||||
return arguments.length ? (align = typeof _ === "function" ? _ : constant(_), sankey) : align; |
||||
}; |
||||
|
||||
sankey.nodeSort = function(_) { |
||||
return arguments.length ? (sort = _, sankey) : sort; |
||||
}; |
||||
|
||||
sankey.nodeWidth = function(_) { |
||||
return arguments.length ? (dx = +_, sankey) : dx; |
||||
}; |
||||
|
||||
sankey.nodePadding = function(_) { |
||||
return arguments.length ? (dy = py = +_, sankey) : dy; |
||||
}; |
||||
|
||||
sankey.nodes = function(_) { |
||||
return arguments.length ? (nodes = typeof _ === "function" ? _ : constant(_), sankey) : nodes; |
||||
}; |
||||
|
||||
sankey.links = function(_) { |
||||
return arguments.length ? (links = typeof _ === "function" ? _ : constant(_), sankey) : links; |
||||
}; |
||||
|
||||
sankey.linkSort = function(_) { |
||||
return arguments.length ? (linkSort = _, sankey) : linkSort; |
||||
}; |
||||
|
||||
sankey.size = function(_) { |
||||
return arguments.length ? (x0 = y0 = 0, x1 = +_[0], y1 = +_[1], sankey) : [x1 - x0, y1 - y0]; |
||||
}; |
||||
|
||||
sankey.extent = function(_) { |
||||
return arguments.length ? (x0 = +_[0][0], x1 = +_[1][0], y0 = +_[0][1], y1 = +_[1][1], sankey) : [[x0, y0], [x1, y1]]; |
||||
}; |
||||
|
||||
sankey.iterations = function(_) { |
||||
return arguments.length ? (iterations = +_, sankey) : iterations; |
||||
}; |
||||
|
||||
function computeNodeLinks({nodes, links}) { |
||||
for (const [i, node] of nodes.entries()) { |
||||
node.index = i; |
||||
node.sourceLinks = []; |
||||
node.targetLinks = []; |
||||
} |
||||
const nodeById = new Map(nodes.map((d, i) => [id(d, i, nodes), d])); |
||||
for (const [i, link] of links.entries()) { |
||||
link.index = i; |
||||
let {source, target} = link; |
||||
if (typeof source !== "object") source = link.source = find(nodeById, source); |
||||
if (typeof target !== "object") target = link.target = find(nodeById, target); |
||||
source.sourceLinks.push(link); |
||||
target.targetLinks.push(link); |
||||
} |
||||
if (linkSort != null) { |
||||
for (const {sourceLinks, targetLinks} of nodes) { |
||||
sourceLinks.sort(linkSort); |
||||
targetLinks.sort(linkSort); |
||||
} |
||||
} |
||||
} |
||||
|
||||
function computeNodeValues({nodes}) { |
||||
for (const node of nodes) { |
||||
node.value = node.fixedValue === undefined |
||||
? Math.max(d3Array.sum(node.sourceLinks, value), d3Array.sum(node.targetLinks, value)) |
||||
: node.fixedValue; |
||||
} |
||||
} |
||||
|
||||
function computeNodeDepths({nodes}) { |
||||
const n = nodes.length; |
||||
let current = new Set(nodes); |
||||
let next = new Set; |
||||
let x = 0; |
||||
while (current.size) { |
||||
for (const node of current) { |
||||
node.depth = x; |
||||
for (const {target} of node.sourceLinks) { |
||||
next.add(target); |
||||
} |
||||
} |
||||
if (++x > n) throw new Error("circular link"); |
||||
current = next; |
||||
next = new Set; |
||||
} |
||||
} |
||||
|
||||
function computeNodeHeights({nodes}) { |
||||
const n = nodes.length; |
||||
let current = new Set(nodes); |
||||
let next = new Set; |
||||
let x = 0; |
||||
while (current.size) { |
||||
for (const node of current) { |
||||
node.height = x; |
||||
for (const {source} of node.targetLinks) { |
||||
next.add(source); |
||||
} |
||||
} |
||||
if (++x > n) throw new Error("circular link"); |
||||
current = next; |
||||
next = new Set; |
||||
} |
||||
} |
||||
|
||||
function computeNodeLayers({nodes}) { |
||||
const x = d3Array.max(nodes, d => d.depth) + 1; |
||||
const kx = (x1 - x0 - dx) / (x - 1); |
||||
const columns = new Array(x); |
||||
for (const node of nodes) { |
||||
const i = Math.max(0, Math.min(x - 1, Math.floor(align.call(null, node, x)))); |
||||
node.layer = i; |
||||
node.x0 = x0 + i * kx; |
||||
node.x1 = node.x0 + dx; |
||||
if (columns[i]) columns[i].push(node); |
||||
else columns[i] = [node]; |
||||
} |
||||
if (sort) for (const column of columns) { |
||||
column.sort(sort); |
||||
} |
||||
return columns; |
||||
} |
||||
|
||||
function initializeNodeBreadths(columns) { |
||||
const ky = d3Array.min(columns, c => (y1 - y0 - (c.length - 1) * py) / d3Array.sum(c, value)); |
||||
for (const nodes of columns) { |
||||
let y = y0; |
||||
for (const node of nodes) { |
||||
node.y0 = y; |
||||
node.y1 = y + node.value * ky; |
||||
y = node.y1 + py; |
||||
for (const link of node.sourceLinks) { |
||||
link.width = link.value * ky; |
||||
} |
||||
} |
||||
y = (y1 - y + py) / (nodes.length + 1); |
||||
for (let i = 0; i < nodes.length; ++i) { |
||||
const node = nodes[i]; |
||||
node.y0 += y * (i + 1); |
||||
node.y1 += y * (i + 1); |
||||
} |
||||
reorderLinks(nodes); |
||||
} |
||||
} |
||||
|
||||
function computeNodeBreadths(graph) { |
||||
const columns = computeNodeLayers(graph); |
||||
py = Math.min(dy, (y1 - y0) / (d3Array.max(columns, c => c.length) - 1)); |
||||
initializeNodeBreadths(columns); |
||||
for (let i = 0; i < iterations; ++i) { |
||||
const alpha = Math.pow(0.99, i); |
||||
const beta = Math.max(1 - alpha, (i + 1) / iterations); |
||||
relaxRightToLeft(columns, alpha, beta); |
||||
relaxLeftToRight(columns, alpha, beta); |
||||
} |
||||
} |
||||
|
||||
// Reposition each node based on its incoming (target) links.
|
||||
function relaxLeftToRight(columns, alpha, beta) { |
||||
for (let i = 1, n = columns.length; i < n; ++i) { |
||||
const column = columns[i]; |
||||
for (const target of column) { |
||||
let y = 0; |
||||
let w = 0; |
||||
for (const {source, value} of target.targetLinks) { |
||||
let v = value * (target.layer - source.layer); |
||||
y += targetTop(source, target) * v; |
||||
w += v; |
||||
} |
||||
if (!(w > 0)) continue; |
||||
let dy = (y / w - target.y0) * alpha; |
||||
target.y0 += dy; |
||||
target.y1 += dy; |
||||
reorderNodeLinks(target); |
||||
} |
||||
if (sort === undefined) column.sort(ascendingBreadth); |
||||
resolveCollisions(column, beta); |
||||
} |
||||
} |
||||
|
||||
// Reposition each node based on its outgoing (source) links.
|
||||
function relaxRightToLeft(columns, alpha, beta) { |
||||
for (let n = columns.length, i = n - 2; i >= 0; --i) { |
||||
const column = columns[i]; |
||||
for (const source of column) { |
||||
let y = 0; |
||||
let w = 0; |
||||
for (const {target, value} of source.sourceLinks) { |
||||
let v = value * (target.layer - source.layer); |
||||
y += sourceTop(source, target) * v; |
||||
w += v; |
||||
} |
||||
if (!(w > 0)) continue; |
||||
let dy = (y / w - source.y0) * alpha; |
||||
source.y0 += dy; |
||||
source.y1 += dy; |
||||
reorderNodeLinks(source); |
||||
} |
||||
if (sort === undefined) column.sort(ascendingBreadth); |
||||
resolveCollisions(column, beta); |
||||
} |
||||
} |
||||
|
||||
function resolveCollisions(nodes, alpha) { |
||||
const i = nodes.length >> 1; |
||||
const subject = nodes[i]; |
||||
resolveCollisionsBottomToTop(nodes, subject.y0 - py, i - 1, alpha); |
||||
resolveCollisionsTopToBottom(nodes, subject.y1 + py, i + 1, alpha); |
||||
resolveCollisionsBottomToTop(nodes, y1, nodes.length - 1, alpha); |
||||
resolveCollisionsTopToBottom(nodes, y0, 0, alpha); |
||||
} |
||||
|
||||
// Push any overlapping nodes down.
|
||||
function resolveCollisionsTopToBottom(nodes, y, i, alpha) { |
||||
for (; i < nodes.length; ++i) { |
||||
const node = nodes[i]; |
||||
const dy = (y - node.y0) * alpha; |
||||
if (dy > 1e-6) node.y0 += dy, node.y1 += dy; |
||||
y = node.y1 + py; |
||||
} |
||||
} |
||||
|
||||
// Push any overlapping nodes up.
|
||||
function resolveCollisionsBottomToTop(nodes, y, i, alpha) { |
||||
for (; i >= 0; --i) { |
||||
const node = nodes[i]; |
||||
const dy = (node.y1 - y) * alpha; |
||||
if (dy > 1e-6) node.y0 -= dy, node.y1 -= dy; |
||||
y = node.y0 - py; |
||||
} |
||||
} |
||||
|
||||
function reorderNodeLinks({sourceLinks, targetLinks}) { |
||||
if (linkSort === undefined) { |
||||
for (const {source: {sourceLinks}} of targetLinks) { |
||||
sourceLinks.sort(ascendingTargetBreadth); |
||||
} |
||||
for (const {target: {targetLinks}} of sourceLinks) { |
||||
targetLinks.sort(ascendingSourceBreadth); |
||||
} |
||||
} |
||||
} |
||||
|
||||
function reorderLinks(nodes) { |
||||
if (linkSort === undefined) { |
||||
for (const {sourceLinks, targetLinks} of nodes) { |
||||
sourceLinks.sort(ascendingTargetBreadth); |
||||
targetLinks.sort(ascendingSourceBreadth); |
||||
} |
||||
} |
||||
} |
||||
|
||||
// Returns the target.y0 that would produce an ideal link from source to target.
|
||||
function targetTop(source, target) { |
||||
let y = source.y0 - (source.sourceLinks.length - 1) * py / 2; |
||||
for (const {target: node, width} of source.sourceLinks) { |
||||
if (node === target) break; |
||||
y += width + py; |
||||
} |
||||
for (const {source: node, width} of target.targetLinks) { |
||||
if (node === source) break; |
||||
y -= width; |
||||
} |
||||
return y; |
||||
} |
||||
|
||||
// Returns the source.y0 that would produce an ideal link from source to target.
|
||||
function sourceTop(source, target) { |
||||
let y = target.y0 - (target.targetLinks.length - 1) * py / 2; |
||||
for (const {source: node, width} of target.targetLinks) { |
||||
if (node === source) break; |
||||
y += width + py; |
||||
} |
||||
for (const {target: node, width} of source.sourceLinks) { |
||||
if (node === target) break; |
||||
y -= width; |
||||
} |
||||
return y; |
||||
} |
||||
|
||||
return sankey; |
||||
} |
||||
|
||||
function horizontalSource(d) { |
||||
return [d.source.x1, d.y0]; |
||||
} |
||||
|
||||
function horizontalTarget(d) { |
||||
return [d.target.x0, d.y1]; |
||||
} |
||||
|
||||
function sankeyLinkHorizontal() { |
||||
return d3Shape.linkHorizontal() |
||||
.source(horizontalSource) |
||||
.target(horizontalTarget); |
||||
} |
||||
|
||||
exports.sankey = Sankey; |
||||
exports.sankeyCenter = center; |
||||
exports.sankeyJustify = justify; |
||||
exports.sankeyLeft = left; |
||||
exports.sankeyLinkHorizontal = sankeyLinkHorizontal; |
||||
exports.sankeyRight = right; |
||||
|
||||
Object.defineProperty(exports, '__esModule', { value: true }); |
||||
|
||||
})); |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,536 @@
@@ -0,0 +1,536 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<xsl:stylesheet version="1.0" |
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sx="http://memtext.de"> |
||||
<xsl:template name="head_superx_viz"> |
||||
<xsl:param name="css" /> |
||||
<xsl:param name="title" /> |
||||
<head> |
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
||||
</meta><!-- <link rel="stylesheet" type="text/css" href="../xml/his1/css.._menue_html.css" /> --> |
||||
<link rel="stylesheet" type="text/css" href="../style/superx.css"/> |
||||
<link rel="stylesheet" type="text/css" href="../xml/menue_html.css"/> |
||||
<link rel="stylesheet" type="text/css" href="../xml/superxml_html.css"/> |
||||
<link rel="stylesheet" type="text/css" href="../xml/maske_html.css" /> |
||||
<link rel="stylesheet" type="text/css" href="../xml/tabelle_html.css" /> |
||||
<link rel="stylesheet" type="text/css" href="../xml/superx_standalone.css"/> |
||||
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="../xml/css/fontello-codes.css" /> |
||||
<link rel="stylesheet" type="text/css" href="../xml/css/start_portlet.css" /> |
||||
|
||||
<link rel="stylesheet" type="text/css" href="../style/bulma.css" /> |
||||
<link rel="stylesheet" type="text/css" href="../style/bulma-tooltip.min.css" /> |
||||
|
||||
<link rel="stylesheet" type="text/css" href="../style/sx_viz_muster.css" /> |
||||
|
||||
</head> |
||||
|
||||
</xsl:template> |
||||
<xsl:template name="head_hisinone_viz"> |
||||
<xsl:param name="css" /> |
||||
<xsl:param name="title" /> |
||||
<head> |
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
||||
</meta> |
||||
<link rel="stylesheet" type="text/css" |
||||
href="../xml/his1/css/superx_menue_html.css" /> |
||||
<link rel="stylesheet" type="text/css" href="../xml/maske_html.css" /> |
||||
<!--<LINK REL="stylesheet" type="text/css" href="../style/superx.css" |
||||
></LINK> <LINK REL="stylesheet" type="text/css" href="../xml/superxml_html.css" |
||||
></LINK> --> |
||||
<xsl:choose> |
||||
<xsl:when test="$title != ''"> |
||||
<xsl:choose> |
||||
<xsl:when test="starts-with($title,'Mask') "> |
||||
<link rel="stylesheet" type="text/css" href="../xml/maske_html.css" /> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<!-- Styles für HIS1 sind in xml/his1/css/superx_menue_html.css definiert |
||||
<LINK REL="stylesheet" type="text/css" href="../xml/tabelle_html.css" ></LINK> --> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
<title> |
||||
<xsl:value-of select="$title" /> |
||||
</title> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<title> |
||||
<xsl:text>HISinOne-BI</xsl:text> |
||||
</title> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
<link rel="stylesheet" type="text/css" href="../xml/his1/css/HISinOne.css" /> |
||||
|
||||
<!--<script src="../xml/js/jquery/jquery.mobile-1.4.2.min.js"></script> |
||||
<link rel="stylesheet" href="../xml/js/jquery/jquery.mobile.structure-1.4.2.dw.css" /> |
||||
<link rel="stylesheet" href="../xml/js/jquery/jqm-demos.dw.css" /> --> |
||||
<link rel="stylesheet" type="text/css" href="../xml/css/fontello-codes.css" /> |
||||
<link rel="stylesheet" type="text/css" href="../xml/css/start_portlet.css" /> |
||||
|
||||
<link rel="stylesheet" type="text/css" href="../style/bulma.css" /> |
||||
<link rel="stylesheet" type="text/css" href="../style/bulma-tooltip.min.css" /> |
||||
|
||||
<link rel="stylesheet" type="text/css" href="../style/sx_viz_muster.css" /> |
||||
|
||||
<xsl:if test="$css != ''"> |
||||
<link rel="stylesheet" type="text/css" href="$css" /> |
||||
</xsl:if> |
||||
|
||||
</head> |
||||
|
||||
</xsl:template> |
||||
<xsl:template name="tableJavascript_viz"> |
||||
<script language="Javascript" type="text/javascript" src="../xml/js/jquery-2.1.1.min.js" /> |
||||
<script language="JavaScript" type="text/javascript" src="../xml/js/memtext/sx_functions.js"></script> |
||||
|
||||
<xsl:call-template name="importVizJavascriptLibs" /> |
||||
|
||||
<script><xsl:text><![CDATA[ |
||||
|
||||
//document.body.append(Plot.plot(options)); |
||||
|
||||
function commonChartProperty(name, |
||||
caption, |
||||
isMandatory, |
||||
inputType, |
||||
staticValues, |
||||
range_from, |
||||
range_to, |
||||
defaultValue, |
||||
propUnit, |
||||
explanation, |
||||
groupCaption, |
||||
groupUniquename, |
||||
rendererUniquename, |
||||
groupVariableName, |
||||
variableName, |
||||
propValueType, |
||||
isGeneric |
||||
) |
||||
{ |
||||
this.name=name; |
||||
this.caption=caption; |
||||
this.staticValues=staticValues; |
||||
this.range_from=range_from; |
||||
this.range_to=range_from; |
||||
this.isMandatory=isMandatory; |
||||
this.inputType=inputType; |
||||
this.defaultValue=defaultValue; |
||||
this.propUnit=propUnit; |
||||
this.explanation=explanation; |
||||
this.groupCaption=groupCaption; |
||||
this.groupUniquename=groupUniquename; |
||||
this.rendererUniquename=rendererUniquename; |
||||
this.groupVariableName=groupVariableName; |
||||
this.variableName=variableName; |
||||
this.propValueType=propValueType; |
||||
this.isGeneric=isGeneric; |
||||
this.getValueResultset = function () { |
||||
var valueOptions=[]; |
||||
var optionCounter=0; |
||||
var staticValueArray = staticValues.split(/\|/); |
||||
for(var j=0;j < staticValueArray.length;j++) |
||||
{ |
||||
var isDefault=false; |
||||
if(staticValueArray[j]) |
||||
{ |
||||
if(staticValueArray[j]==this.defaultValue) |
||||
isDefault=true; |
||||
var o=new selectionPropertyValue(optionCounter,staticValueArray[j],staticValueArray[j],isDefault); |
||||
valueOptions[optionCounter]=o; |
||||
optionCounter++; |
||||
} |
||||
} |
||||
return valueOptions; |
||||
} |
||||
} |
||||
function commonChartPropertyGroup(caption,groupUniquename,groupVariableName) |
||||
{ |
||||
this.caption=caption; |
||||
this.groupUniquename=groupUniquename; |
||||
this.groupVariableName=groupVariableName; |
||||
} |
||||
|
||||
var commonChartProperties=[]; |
||||
]]></xsl:text> |
||||
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/chartProperties/commonChartProperty"> |
||||
<xsl:text> |
||||
var newCommonChartProperty = new commonChartProperty("</xsl:text> |
||||
<xsl:value-of select="@prop_uniquename" /> |
||||
<xsl:text>","</xsl:text> |
||||
<xsl:value-of select="@caption" /> |
||||
<xsl:text>",</xsl:text><xsl:choose> |
||||
<xsl:when test="@is_mandatory=1"><xsl:text>true</xsl:text> |
||||
</xsl:when> |
||||
<xsl:otherwise>false</xsl:otherwise> |
||||
</xsl:choose> |
||||
<xsl:text>,"</xsl:text> |
||||
<xsl:value-of select="@input_type_uniquename" /> |
||||
<xsl:text>" |
||||
,"</xsl:text> |
||||
<xsl:value-of select="@static_values" /> |
||||
<xsl:text>","</xsl:text> |
||||
<xsl:value-of select="@prop_range_from" /> |
||||
<xsl:text>","</xsl:text> |
||||
<xsl:value-of select="@prop_range_to" /> |
||||
<xsl:text>","</xsl:text> |
||||
<xsl:value-of select="@prop_default" /> |
||||
<xsl:text>","</xsl:text> |
||||
<xsl:value-of select="@prop_unit" /> |
||||
<xsl:text>","</xsl:text> |
||||
<xsl:value-of select="@explanation" /> |
||||
<xsl:text>","</xsl:text> |
||||
<xsl:value-of select="@group_caption" /> |
||||
<xsl:text>","</xsl:text> |
||||
<xsl:value-of select="@group_uniquename" /> |
||||
<xsl:text>","</xsl:text> |
||||
<xsl:value-of select="@renderer_uniquename" /> |
||||
<xsl:text>","</xsl:text> |
||||
<xsl:value-of select="@group_variable_name" /> |
||||
<xsl:text>","</xsl:text> |
||||
<xsl:value-of select="@variable_name" /> |
||||
<xsl:text>","</xsl:text> |
||||
<xsl:value-of select="@propValueType" /> |
||||
<xsl:text>",</xsl:text> |
||||
<xsl:value-of select="@isGeneric" /> |
||||
<xsl:text>); |
||||
commonChartProperties.push(newCommonChartProperty); |
||||
</xsl:text> |
||||
</xsl:for-each> |
||||
<!--<xsl:text> |
||||
var newCommonChartProperty = new commonChartProperty("caption", |
||||
"Titel des Diagramms", |
||||
false, |
||||
"TEXTAREA", |
||||
"", |
||||
"", |
||||
"", |
||||
"</xsl:text> |
||||
<xsl:value-of select="/ergebnisse/ergebnis[@ordnr='0']/maskenname" /><xsl:text>", |
||||
"wird unter dem Diagramm angezeigt", |
||||
"Diagrammkopf", |
||||
"", |
||||
"plot", |
||||
"layout", |
||||
"caption", |
||||
"string"); |
||||
commonChartProperties.push(newCommonChartProperty); |
||||
|
||||
</xsl:text>--> |
||||
<xsl:text> |
||||
function vizRenderer(uniquename,caption) |
||||
{ |
||||
this.caption=caption; |
||||
this.uniquename=uniquename; |
||||
} |
||||
|
||||
var vizRenderers=[]; |
||||
</xsl:text> |
||||
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/vizRenderers/vizRenderer"> |
||||
<xsl:text> |
||||
var newVizRenderer = new vizRenderer("</xsl:text> |
||||
<xsl:value-of select="@uniquename" /> |
||||
<xsl:text>","</xsl:text> |
||||
<xsl:value-of select="@caption" /> |
||||
<xsl:text>"); |
||||
vizRenderers.push(newVizRenderer); |
||||
</xsl:text> |
||||
</xsl:for-each> |
||||
<xsl:text> |
||||
function vizType(uniquename,caption,rendererUniquename,orientation) |
||||
{ |
||||
this.caption=caption; |
||||
this.uniquename=uniquename; |
||||
this.rendererUniquename=rendererUniquename, |
||||
this.orientation=orientation; |
||||
} |
||||
|
||||
var vizTypes=[]; |
||||
</xsl:text> |
||||
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/vizTypes/vizType"> |
||||
<xsl:text> |
||||
var newVizType = new vizType("</xsl:text> |
||||
<xsl:value-of select="@uniquename" /> |
||||
<xsl:text>","</xsl:text> |
||||
<xsl:value-of select="@caption" /> |
||||
<xsl:text>","</xsl:text> |
||||
<xsl:value-of select="@renderer_uniquename" /> |
||||
<xsl:text>","</xsl:text> |
||||
<xsl:value-of select="@orientation" /> |
||||
<xsl:text>"); |
||||
vizTypes.push(newVizType); |
||||
</xsl:text> |
||||
</xsl:for-each> |
||||
<xsl:text> |
||||
|
||||
function vizTypeProperty(propUniquename,caption,typeUniquename,groupUniquename,isMandatory,explanation) |
||||
{ |
||||
this.propUniquename=propUniquename; |
||||
this.caption=caption; |
||||
this.groupUniquename=groupUniquename; |
||||
this.typeUniquename=typeUniquename; |
||||
this.isMandatory=isMandatory; |
||||
this.explanation=explanation; |
||||
} |
||||
|
||||
var vizTypeProperties=[]; |
||||
</xsl:text> |
||||
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/viz_type_properties/viz_type_property"> |
||||
<xsl:text> |
||||
var newVizTypeProperty = new vizTypeProperty("</xsl:text> |
||||
<xsl:value-of select="@uniquename" /> |
||||
<xsl:text>","</xsl:text> |
||||
<xsl:value-of select="@caption" /> |
||||
<xsl:text>","</xsl:text> |
||||
<xsl:value-of select="@viz_type_uniquename" /> |
||||
<xsl:text>","</xsl:text> |
||||
<xsl:value-of select="@viz_property_group_uniquename" /> |
||||
<xsl:text>",</xsl:text> |
||||
<xsl:choose> |
||||
<xsl:when test="@is_mandatory='1'"> |
||||
<xsl:text>true</xsl:text> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:text>false</xsl:text> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
<xsl:text>,"" |
||||
); |
||||
vizTypeProperties.push(newVizTypeProperty); |
||||
</xsl:text> |
||||
</xsl:for-each> |
||||
|
||||
</script> |
||||
<script language="Javascript" type="text/javascript" src="../xml/js/viz/viz_functions.js" /> |
||||
<style type="text/css"> |
||||
|
||||
.node rect { |
||||
cursor: move; |
||||
fill-opacity: .9; |
||||
shape-rendering: crispEdges; |
||||
} |
||||
|
||||
.node text { |
||||
pointer-events: none; |
||||
text-shadow: 0 1px 0 #fff; |
||||
} |
||||
|
||||
.link { |
||||
fill: none; |
||||
stroke: #000; |
||||
stroke-opacity: .2; |
||||
} |
||||
|
||||
.link:hover { |
||||
stroke-opacity: .5; |
||||
} |
||||
</style> |
||||
</xsl:template> |
||||
<xsl:template name="buildVizMetadata"> |
||||
<xsl:variable name="vizInitialName"> |
||||
<xsl:choose> |
||||
<xsl:when test="/ergebnisse/@isMakro='true'"> |
||||
<xsl:value-of select="/ergebnisse/makro/name"/> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="/ergebnisse/ergebnis/maskenname" /> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:variable> |
||||
<!--<xsl:call-template name="navigationsmenue" />--> |
||||
<script language="Javascript"> |
||||
|
||||
<xsl:text> |
||||
|
||||
var vizInitialName='</xsl:text><xsl:value-of select="$vizInitialName"/><xsl:text>'; |
||||
|
||||
|
||||
function dataRowMetaData(tableId,nr,colname,colcaption,coltype,colfunction) |
||||
{ |
||||
this.tableId=tableId; |
||||
this.nr=nr; |
||||
this.colname=colname; |
||||
this.colcaption=colcaption; |
||||
this.coltype=coltype; |
||||
this.colfunction=colfunction; |
||||
} |
||||
|
||||
|
||||
function tableMetaData(nr,value,name,isDefault) |
||||
{ |
||||
this.value=value; |
||||
this.nr=nr; |
||||
this.name=name |
||||
this.isDefault=isDefault; |
||||
|
||||
} |
||||
|
||||
var rsTableMetaData=new Array(); |
||||
var rsColumnMetaData=new Array(); |
||||
var rs=new Array(); |
||||
|
||||
</xsl:text> |
||||
|
||||
|
||||
|
||||
</script> |
||||
|
||||
|
||||
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement"> |
||||
<xsl:call-template name="buildVizData" > |
||||
<xsl:with-param name="tableId" select="@ordnr" /> |
||||
</xsl:call-template> |
||||
</xsl:for-each> |
||||
|
||||
</xsl:template> |
||||
<xsl:template name="buildVizData"> |
||||
<xsl:param name="tableId" /> |
||||
|
||||
<script language="Javascript"> |
||||
|
||||
<xsl:text> |
||||
|
||||
rsTableMetaData.push(new tableMetaData( |
||||
</xsl:text> |
||||
<xsl:value-of select="position()"/> |
||||
<xsl:text>,'</xsl:text> |
||||
<xsl:value-of select="$tableId"/> |
||||
<xsl:text>','</xsl:text> |
||||
<xsl:value-of select="concat('Tab. ',$tableId+1)"/> |
||||
<xsl:text>', |
||||
</xsl:text> |
||||
<xsl:choose> |
||||
<xsl:when test="position()=1"> |
||||
<xsl:text>true</xsl:text> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:text>false</xsl:text> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
<xsl:text> |
||||
)); |
||||
rs[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>]=new Array(); |
||||
|
||||
var myChartModel=new chartModel(1,"","",rsTableMetaData); |
||||
|
||||
function dataRow_</xsl:text><xsl:value-of select="$tableId"/><xsl:text>(rownr</xsl:text> |
||||
<xsl:for-each select="sqlerg/complete_headers/header"> |
||||
<xsl:text>,</xsl:text> |
||||
<xsl:call-template name="getColumnNameJS"> |
||||
<xsl:with-param name="columnNameFromDB" select="f_name"/> |
||||
</xsl:call-template> |
||||
</xsl:for-each> |
||||
<xsl:text> |
||||
) |
||||
{ |
||||
this.rownr=rownr; |
||||
</xsl:text> |
||||
<xsl:for-each select="sqlerg/complete_headers/header"> |
||||
<xsl:text>this.</xsl:text><xsl:call-template name="getColumnNameJS"> |
||||
<xsl:with-param name="columnNameFromDB" select="f_name"/> |
||||
</xsl:call-template><xsl:text>=</xsl:text> |
||||
<xsl:call-template name="getColumnNameJS"> |
||||
<xsl:with-param name="columnNameFromDB" select="f_name"/> |
||||
</xsl:call-template><xsl:text>; |
||||
</xsl:text> |
||||
</xsl:for-each><xsl:text> |
||||
} |
||||
|
||||
rsColumnMetaData[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>]=new Array(); |
||||
|
||||
rsColumnMetaData[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>].push(new dataRowMetaData('</xsl:text> |
||||
<xsl:value-of select="$tableId"/><xsl:text>',</xsl:text> |
||||
<xsl:value-of select="0"/> |
||||
<xsl:text>,'rownr','Zeilennr.',0,4)); |
||||
</xsl:text> |
||||
|
||||
|
||||
<xsl:for-each select="sqlerg/complete_headers/header"> |
||||
<xsl:variable name="rownr"> |
||||
<xsl:value-of select="position()"/> |
||||
</xsl:variable> |
||||
<xsl:text> |
||||
rsColumnMetaData[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>].push(new dataRowMetaData('</xsl:text> |
||||
<xsl:value-of select="$tableId"/><xsl:text>',</xsl:text> |
||||
<xsl:value-of select="$rownr"/> |
||||
<xsl:text>,'</xsl:text> |
||||
<xsl:call-template name="getColumnNameJS"> |
||||
<xsl:with-param name="columnNameFromDB" select="f_name"/> |
||||
</xsl:call-template> |
||||
<xsl:text>','</xsl:text> |
||||
<xsl:call-template name="remove_linebreaksAndQuot"> |
||||
<xsl:with-param name="volltext" select="wert" /> |
||||
</xsl:call-template> |
||||
<xsl:text>',0,null));</xsl:text> <!--coltype noch unbekannt, colfunction unnötig--> |
||||
</xsl:for-each> |
||||
|
||||
|
||||
<xsl:for-each select="sqlerg/row"> |
||||
<xsl:variable name="rownr"> |
||||
<xsl:value-of select="position()"/> |
||||
</xsl:variable> |
||||
<xsl:if test="$rownr=1"> |
||||
<!-- first metadata --> |
||||
<xsl:for-each select="col"> |
||||
<xsl:variable name="colnr"> |
||||
<xsl:value-of select="position()"/> |
||||
</xsl:variable> |
||||
<xsl:text> |
||||
rsColumnMetaData[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>][</xsl:text><xsl:value-of select="number($colnr)"/><xsl:text>].coltype=</xsl:text><xsl:value-of select="@typ"/> |
||||
<xsl:text>; |
||||
</xsl:text> |
||||
</xsl:for-each> |
||||
|
||||
</xsl:if> |
||||
<!--now resultset--> |
||||
<xsl:text> |
||||
//rs[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>]= new Array(); |
||||
rs[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>].push(new dataRow_</xsl:text><xsl:value-of select="$tableId"/><xsl:text>(</xsl:text><xsl:value-of select="$rownr"/> |
||||
<xsl:for-each select="col"> |
||||
<xsl:text>,</xsl:text> |
||||
<xsl:choose> |
||||
<xsl:when test="@typ='1'"><xsl:text>'</xsl:text> |
||||
<xsl:call-template name="remove_linebreaksAndQuot"> |
||||
<xsl:with-param name="volltext" select="wert" /> |
||||
</xsl:call-template> |
||||
<xsl:text>'</xsl:text></xsl:when> |
||||
<!--todo:Typ Datum --> |
||||
<xsl:when test="string-length(wert)=0"><xsl:text>null</xsl:text> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="wert"/> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:for-each> |
||||
<xsl:text>)); |
||||
</xsl:text> |
||||
</xsl:for-each> |
||||
|
||||
|
||||
</script> |
||||
</xsl:template> |
||||
<xsl:template name="getColumnNameJS"> |
||||
<xsl:param name="columnNameFromDB" /> |
||||
<xsl:choose> |
||||
<xsl:when test="contains($columnNameFromDB,'?')"> |
||||
<xsl:value-of select="concat('column_',@id+1)"/> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$columnNameFromDB"/> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:template> |
||||
<!-- start Javascript--> |
||||
<xsl:template name="importVizJavascriptLibs"> |
||||
<script language="Javascript" type="text/javascript" src="../xml/js/viz/d3.min.js" /> |
||||
<script language="Javascript" type="text/javascript" src="../xml/js/viz/plot.js" /> |
||||
<script language="Javascript" type="module" src="../xml/js/viz/d3-sankey.js" /> |
||||
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement/vizTypes/vizType[@srcpath !='/superx/xml/js/viz/d3.min.js' |
||||
and @srcpath != '/superx/xml/js/viz/plot.js' |
||||
and @srcpath != '/superx/xml/js/viz/d3-sankey.js' |
||||
and @srcpath != '' |
||||
and (@renderer_uniquename='plot' or @renderer_uniquename='d3js') ]"> |
||||
<script language="Javascript" type="text/javascript" src="{@srcpath}" /> |
||||
</xsl:for-each> |
||||
</xsl:template> |
||||
</xsl:stylesheet> |
File diff suppressed because one or more lines are too long
@ -0,0 +1,34 @@
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<xsl:stylesheet version="1.0" |
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util.HtmlUtils"> |
||||
<xsl:import href="xsl_functions.xsl" /> |
||||
<xsl:import href="resultset_html.xsl" /> |
||||
<xsl:import href="interLinks_html.xsl" /> |
||||
<xsl:import href="pageComponents_html.xsl" /> |
||||
<xsl:import href="viz_html_chart.xsl" /> |
||||
<xsl:import href="viz_components.xsl" /> |
||||
<xsl:import href="menue_html_dojo.xsl" /> |
||||
<!--In diesem Stylesheet können Sie individuelle templates unterbringen, |
||||
die in ihrer Präzedenz das normale Stylesheet |
||||
pageComponents_html.xsl überragt. --> |
||||
<xsl:import href="pageComponents_html_final.xsl" /> |
||||
|
||||
<xsl:decimal-format name="German" grouping-separator="." NaN="" zero-digit ="0" decimal-separator="," /> |
||||
|
||||
<!-- wichtig für DOJO!--> |
||||
<xsl:output method="xml" media-type="text/html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" |
||||
doctype-system="DTD/xhtml1-strict.dtd" cdata-section-elements="script style" indent="yes" encoding="UTF-8"/> |
||||
<xsl:variable name="defaultRenderer" select="'d3jsv3'" /> |
||||
<xsl:variable name="availableRendererPlot" select="'false'" /> |
||||
<xsl:variable name="availableRendererD3" select="'false'" /> |
||||
<xsl:variable name="availableRendererD3V3" select="'true'" /> |
||||
|
||||
<xsl:template match="/"> |
||||
<xsl:call-template name="table"/> |
||||
</xsl:template> |
||||
<xsl:template name="importVizJavascriptLibs"> |
||||
<script language="Javascript" type="text/javascript" src="../xml/js/viz/d3.v3.min.js" /> |
||||
<script language="Javascript" type="text/javascript" src="../xml/js/viz/viz_functions.js" /> |
||||
<script language="Javascript" type="text/javascript" src="../xml/js/viz/sankey_v3.js" /> |
||||
</xsl:template> |
||||
</xsl:stylesheet> |
@ -0,0 +1,304 @@
@@ -0,0 +1,304 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<xsl:stylesheet version="1.0" |
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util.HtmlUtils"> |
||||
<xsl:import href="xsl_functions.xsl" /> |
||||
<xsl:import href="resultset_html.xsl" /> |
||||
<xsl:import href="interLinks_html.xsl" /> |
||||
<xsl:import href="pageComponents_html.xsl" /> |
||||
<xsl:import href="viz_html_chart.xsl" /> |
||||
<xsl:import href="viz_components.xsl" /> |
||||
<xsl:import href="menue_html_dojo.xsl" /> |
||||
<!--In diesem Stylesheet können Sie individuelle templates unterbringen, |
||||
die in ihrer Präzedenz das normale Stylesheet |
||||
pageComponents_html.xsl überragt. --> |
||||
<xsl:import href="pageComponents_html_final.xsl" /> |
||||
|
||||
<xsl:decimal-format name="German" grouping-separator="." NaN="" zero-digit ="0" decimal-separator="," /> |
||||
|
||||
<!-- wichtig für DOJO!--> |
||||
<xsl:output method="xml" media-type="text/html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" |
||||
doctype-system="DTD/xhtml1-strict.dtd" cdata-section-elements="script style" indent="yes" encoding="UTF-8"/> |
||||
<xsl:variable name="defaultRenderer" select="'d3js'" /> |
||||
<xsl:variable name="availableRendererPlot" select="'false'" /> |
||||
<xsl:variable name="availableRendererD3" select="'true'" /> |
||||
|
||||
<xsl:template match="/"> |
||||
<xsl:call-template name="table"/> |
||||
</xsl:template> |
||||
<!-- start table main--> |
||||
<xsl:template name="table"> |
||||
<html> |
||||
<xsl:choose> |
||||
<xsl:when test="/ergebnisse/@hisinone_active='true'"> |
||||
<xsl:call-template name="head_hisinone" ><xsl:with-param name="title" select="concat('Ergebnis ',/ergebnisse/ergebnis[ position()=1]/maskenname)" /></xsl:call-template> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:call-template name="head_superx_viz" ><xsl:with-param name="title" select="concat('Ergebnis ',/ergebnisse/ergebnis[ position()=1]/maskenname)" /></xsl:call-template> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
|
||||
<xsl:call-template name="tableJavascript_viz"></xsl:call-template> |
||||
|
||||
<!-- start Body--> |
||||
<body onload="document.getElementById('progressbar').style.display='none';initPage();"> <!-- tableonload definiert in pageComponents.pccustomize position table_post_javascript --> |
||||
<div id="progressbar" style="position:absolute; width:150px; height:150px; left:200px; top:200px; background:#AAAAAA"> |
||||
<p> <b>Laden...</b><br/><img src="../images/progress_bar.gif"></img><br/></p></div> |
||||
|
||||
<xsl:if test="/ergebnisse/@showNavigation='true'"> |
||||
<xsl:for-each select="/ergebnisse/menue"> |
||||
<xsl:call-template name="menuFrame" /> |
||||
</xsl:for-each> |
||||
</xsl:if> |
||||
<div> |
||||
<xsl:if test="/ergebnisse/@showNavigation='true'"> |
||||
<xsl:attribute name="class"><xsl:text>page-wrap</xsl:text></xsl:attribute> |
||||
<xsl:for-each select="/ergebnisse/menue"> |
||||
<xsl:call-template name="topbar_menue" /> |
||||
</xsl:for-each> |
||||
</xsl:if> |
||||
|
||||
<div> |
||||
<xsl:if test="/ergebnisse/@showNavigation='true'"> |
||||
<xsl:attribute name="id"><xsl:text>wrapper</xsl:text></xsl:attribute> |
||||
</xsl:if> |
||||
<xsl:call-template name="viz_canvas"/> |
||||
<xsl:call-template name="bottombar" /> |
||||
<xsl:comment>customfooter</xsl:comment> |
||||
</div> |
||||
</div> |
||||
<xsl:call-template name="footer" /> |
||||
<xsl:call-template name="modalCards" /> |
||||
</body> |
||||
<!-- end body --> |
||||
</html> |
||||
</xsl:template> |
||||
<!-- end main --> |
||||
<xsl:template name="importVizJavascriptLibs"> |
||||
<script language="Javascript" type="text/javascript" src="../xml/js/viz/d3.min.js" /> |
||||
<script language="Javascript" type="text/javascript" src="../xml/js/viz/plot.js" /> |
||||
<script language="Javascript" type="text/javascript" src="../xml/js/viz/viz_functions.js" /> |
||||
<script language="Javascript" type="module" src="../xml/js/viz/d3-sankey.js" /> |
||||
<script language="Javascript" type="text/javascript"> |
||||
<xsl:variable name="quote"><xsl:text>"</xsl:text></xsl:variable> |
||||
<xsl:text><![CDATA[ |
||||
|
||||
function initPage() |
||||
{ |
||||
var myChartModelStr=""; |
||||
var myDiv=""; |
||||
]]></xsl:text> |
||||
<xsl:for-each select="ergebnisse"> |
||||
<xsl:for-each select="ergebnis/ergebniselement"> |
||||
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable> |
||||
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable> |
||||
<xsl:if test="$chart_id != ''"> |
||||
<xsl:text><![CDATA[ |
||||
myChartModelStr=']]></xsl:text> |
||||
<xsl:value-of select="translate(viz_charts/viz_chart[@tid=$chart_id]/@chartmodel,'§',$quote)" /> |
||||
<xsl:text><![CDATA['; |
||||
myDiv="]]></xsl:text> |
||||
<xsl:value-of select="concat('chartDiv',$ergebniselement_ordnr)" /> |
||||
<xsl:text><![CDATA["; |
||||
createViewer(myChartModelStr,myDiv); |
||||
myDiv="]]></xsl:text> |
||||
<xsl:value-of select="concat('modalCardImage',$ergebniselement_ordnr)" /> |
||||
<xsl:text><![CDATA["; |
||||
createViewer(myChartModelStr,myDiv); |
||||
myDiv="]]></xsl:text> |
||||
<xsl:value-of select="concat('modalCardDetailImage',$ergebniselement_ordnr)" /> |
||||
<xsl:text><![CDATA["; |
||||
createViewer(myChartModelStr,myDiv); |
||||
|
||||
]]></xsl:text> |
||||
</xsl:if> |
||||
</xsl:for-each> |
||||
</xsl:for-each> |
||||
<xsl:text><![CDATA[ |
||||
} |
||||
|
||||
function createViewer(myChartModelStr,chartDiv) |
||||
{ |
||||
myChartModel=JSON.parse(myChartModelStr); |
||||
renderChart(chartDiv,myChartModel); |
||||
} |
||||
|
||||
function toggleLegendeDisplay(legendeDiv) |
||||
{ |
||||
var myDiv=document.getElementById(legendeDiv); |
||||
if(myDiv.style.display=="block") |
||||
myDiv.style.display="none"; |
||||
else |
||||
myDiv.style.display="block"; |
||||
|
||||
} |
||||
|
||||
]]></xsl:text> |
||||
</script> |
||||
|
||||
</xsl:template> |
||||
|
||||
<xsl:template name="viz_canvas"> |
||||
<xsl:if test="/ergebnisse/@isMakro='true'"> |
||||
<h1><xsl:value-of select="/ergebnisse/makro/name" /></h1> |
||||
</xsl:if> |
||||
<p></p> |
||||
<xsl:call-template name="buildVizMetadata" /> |
||||
|
||||
<!-- end Kopf--> |
||||
<!-- start Grafiken--> |
||||
<!-- Berechne den Umbruch der Spalten für die Kacheln |
||||
z.B. 6 Grafiken ergibt einen Umbruch nach der 3. Teiltabelle |
||||
Formel: ANZ / 2 kaufm. gerundet |
||||
--> |
||||
<xsl:variable name="spalten_anz"> |
||||
<xsl:value-of select="max(number(/ergebnisse/ergebnis/felder/feld[@varname='Spaltenanzahl']/value))"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="colwidth"> |
||||
<xsl:value-of select="12 div $spalten_anz"/> |
||||
</xsl:variable> |
||||
|
||||
<xsl:variable name="ergebniselemente_anz"> |
||||
<xsl:value-of select="count(/ergebnisse/ergebnis[felder/feld[@varname='Grafik']])"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="ergebniselemente_umbruch"> |
||||
<xsl:value-of select="round($ergebniselemente_anz div max(number(/ergebnisse/ergebnis/felder/feld[@varname='Spaltenanzahl']/value)))"/> |
||||
</xsl:variable> |
||||
<!--<p>plan: <xsl:value-of select="/ergebnisse/ergebnis/felder/feld[@varname='Spaltenanzahl']/value"/> |
||||
</p>--> |
||||
<span class="separator"> </span> |
||||
<!--Beginn Selektions-Card--> |
||||
<!--Beginn Berichtstitel, Pfad, Knopfleiste--> |
||||
<section class="hero-body has-background-light"> |
||||
<section class="container"> <!--Beginn Kartenreihe --> |
||||
<div class="columns features is-mobile is-left"> <!--Beginn columns Kartenreihe --> |
||||
|
||||
<xsl:for-each select="ergebnisse/ergebnis[felder/feld[@varname='Grafik']/value!='']/ergebniselement"> |
||||
<xsl:variable name="ergebniselement_counter" select="position()" /> |
||||
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable> |
||||
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable> |
||||
|
||||
|
||||
<!--<p><xsl:value-of select="concat('Zähler: ',$ergebniselement_counter)"/></p>--> |
||||
<div> |
||||
<xsl:attribute name="class"><xsl:text>column is-</xsl:text><xsl:value-of select="$colwidth"/></xsl:attribute> |
||||
<xsl:call-template name="viewer_kachel"> |
||||
<xsl:with-param name="caption" select="viz_charts/viz_chart[@tid=$chart_id]/@caption"/> |
||||
<xsl:with-param name="ergebniselement_ordnr" select="$ergebniselement_ordnr" /> |
||||
</xsl:call-template> |
||||
<!--<p><xsl:value-of select="concat($spalten_anz,'-',$ergebniselement_counter,':',$ergebniselement_counter mod $spalten_anz)"/></p>--> |
||||
</div> |
||||
<!-- neue Zeile wenn counter mod Spaltenanz. =0 --> |
||||
|
||||
<xsl:if test="$ergebniselement_counter >= $spalten_anz and ($ergebniselement_counter mod $spalten_anz) =0"> |
||||
<xsl:text disable-output-escaping="yes"><![CDATA[ |
||||
</div> |
||||
</section> |
||||
<section class="container"> |
||||
<div class="columns features is-mobile is-left"> |
||||
]]></xsl:text> |
||||
</xsl:if> |
||||
</xsl:for-each> |
||||
</div><!-- der columns --> |
||||
</section><!-- der letzten Kartenreihe --> |
||||
</section><!-- des Portals --> |
||||
</xsl:template> |
||||
<xsl:template name="modalCards" > |
||||
<xsl:for-each select="/ergebnisse"> |
||||
<xsl:for-each select="ergebnis/ergebniselement"> |
||||
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable> |
||||
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable> |
||||
<xsl:if test="$chart_id != ''"> |
||||
<div class="modal modal-fx-3dSlit" id="{concat('modalCard',$ergebniselement_ordnr)}"> |
||||
<div class="modal-background"></div> |
||||
<div class="modal-content is-huge is-image"> |
||||
<!-- content --> |
||||
|
||||
<div class="modal-content"> |
||||
<div class="box" style="text-align:right"> |
||||
<a href="{concat('javascript:closeModalImage(',$ergebniselement_ordnr,');')}"> |
||||
<span class="button is-black is-outlined"> X </span> |
||||
</a> |
||||
</div> |
||||
<div class="box"> |
||||
<div id="{concat('modalCardImage',$ergebniselement_ordnr)}"> |
||||
Picture placeholder |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
</div> |
||||
|
||||
<div class="modal modal-fx-3dSlit" id="{concat('modalCardDetail',$ergebniselement_ordnr)}"> |
||||
<div class="modal-background"></div> |
||||
<div class="modal-content is-tiny"> |
||||
<div class="box" style="text-align:right"> |
||||
<h4><xsl:value-of select="viz_charts/viz_chart[@tid=$chart_id]/@caption"/></h4> |
||||
<a href="{concat('javascript:closeModalCardDetail(',$ergebniselement_ordnr,');')}"> |
||||
<span class="button is-black is-outlined"> X </span> |
||||
</a> |
||||
</div> |
||||
<!-- content --> |
||||
<div class="card"> |
||||
<div class="card-image"> |
||||
<div id="{concat('modalCardDetailImage',$ergebniselement_ordnr)}"> |
||||
Picture placeholder |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="card-content"> |
||||
<div class="media"> |
||||
<div class="media-content"> |
||||
<p><xsl:value-of select="viz_charts/viz_chart[@tid=$chart_id]/@description"/></p> |
||||
<p class="legende"> |
||||
<xsl:for-each select="../felder/feld"> |
||||
<xsl:if test="(value !='' or sicht/@isFirstInGroup='false' or @isstandtoday='false') and @varname != 'sort' and @varname != 'maxoffset' and value_caption != ''"> |
||||
|
||||
<span class="feldname"> |
||||
<xsl:choose> |
||||
<xsl:when test="string-length(caption_short) > 0 and caption_short != 'null'" > |
||||
<![CDATA[]]><xsl:value-of select="caption_short" /><![CDATA[]]> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="@varname" /> |
||||
</xsl:otherwise> |
||||
</xsl:choose></span>:  |
||||
<xsl:if test="string-length(value_caption) < 50"> |
||||
<span class="feldwert"><xsl:value-of select="value_caption" /><![CDATA[]]></span> |
||||
</xsl:if> |
||||
<xsl:if test="string-length(value_caption) > 49"> |
||||
<span class="feldwert"><![CDATA[]]><xsl:value-of select="substring(value_caption,0,50)" /><![CDATA[]]>...</span> |
||||
</xsl:if> |
||||
<xsl:if test="sicht!=''"> |
||||
<span><![CDATA[ (]]><xsl:value-of select="sicht" /> |
||||
<xsl:if test="@stand!=''"><xsl:text> - Stand:</xsl:text><xsl:value-of select="@stand"/></xsl:if> |
||||
<xsl:text><![CDATA[)]]> </xsl:text></span> |
||||
|
||||
</xsl:if> |
||||
; |
||||
</xsl:if> |
||||
|
||||
</xsl:for-each> |
||||
User: <xsl:value-of select="/ergebnisse/user"/>  |
||||
Stand: <xsl:value-of select="../stand" /></p> |
||||
<xsl:if test="../hinweis != ''"> |
||||
<xsl:call-template name="newline_to_br"> |
||||
<xsl:with-param name="string" select="../hinweis" /> |
||||
</xsl:call-template> |
||||
</xsl:if> |
||||
</div> |
||||
<p align="right"><a href="{concat('javascript:closeModalCardDetail(',$ergebniselement_ordnr,');')}"> |
||||
<span class="button is-black is-outlined"> X </span> |
||||
</a></p> |
||||
</div> |
||||
|
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
</div> |
||||
</xsl:if> |
||||
</xsl:for-each> |
||||
</xsl:for-each> |
||||
</xsl:template> |
||||
</xsl:stylesheet> |
Loading…
Reference in new issue