diff --git a/src-modules/module/rpta/schluesseltabellen/rpta_column_layout_sos_stud_stat_staat_geschl.sql b/src-modules/module/rpta/schluesseltabellen/rpta_column_layout_sos_stud_stat_staat_geschl.sql new file mode 100644 index 0000000..e49f3c8 --- /dev/null +++ b/src-modules/module/rpta/schluesseltabellen/rpta_column_layout_sos_stud_stat_staat_geschl.sql @@ -0,0 +1,662 @@ +--freemarker template +<#include "RPTA-Makros"/> + + +select count(*) from rpta_resultset where uniquename='sos_stud_astat'; + + +<#assign rpta_column_layout = {"uniquename":"sos_stud_stat_geschl_staat", +"caption":"Studierendenstatistik nach Staatsang., Geschl. etc.", +"rpta_resultset":"sos_stud_astat", +"whereclause":"", +"description":"Studierendenstatistik (Staat, Geschl., Fachsem.)" +} + /> + +<#assign rpta_columns = [ + +{"uniquename":"dim_studiengang_fb", +"caption":"FB", +"srcfieldname":"dim_studiengang_fb", +"column_type":"physicalColumn", +"col_function":"", +"is_visible":"1", +"format_code":"INT_NO_SEP", +"visible_size":"5", +"is_aggregate":"0", +"description":"Fachbereich" +}, +{"uniquename":"dim_studiengang_fb_str", +"caption":"FB-Name", +"srcfieldname":"dim_studiengang_fb_str", +"column_type":"physicalColumn", +"col_function":"", +"is_visible":"1", +"format_code":"", +"visible_size":"5", +"is_aggregate":"0", +"description":"Fachbereichname" +}, +{"uniquename":"dim_studiengang_stg_str", +"caption":"Studienfach", +"srcfieldname":"dim_studiengang_stg_str", +"targetfieldname":"", +"column_type":"logicalColumn", +"col_function":"case +when (select lower(druck) from cifx where key=40 and apnr=stufrm) like ''%dual%'' and dim_studiengang_stg=''IBS'' and dim_studiengang_vertfg=''ENG'' then trim(dim_studiengang_stg_str)|| '' (dual, englischsprachig)'' +when (select lower(druck) from cifx where key=40 and apnr=stufrm) like ''%dual%'' and (select sprache from cifx where key=30 and apnr=dim_studiengang_stg) =''5'' then trim(dim_studiengang_stg_str)|| '' (dual, englischsprachig)'' +when (select sprache from cifx where key=30 and apnr=dim_studiengang_stg) =''5'' then trim(dim_studiengang_stg_str)|| '' (englischsprachig)'' +when (select lower(druck) from cifx where key=40 and apnr=stufrm) like ''%dual%'' then trim(dim_studiengang_stg_str)|| '' (dual)'' +when dim_studiengang_stg=''IBS'' and dim_studiengang_vertfg=''ENG'' then trim(dim_studiengang_stg_str)|| '' (englischsprachig)'' +else dim_studiengang_stg_str end", +"is_visible":"1", +"format_code":"", +"visible_size":"5", +"is_aggregate":"0", +"description":"Name des Studienfachs" +}, +{"uniquename":"dim_studiengang_abschluss", +"caption":"abschl", +"srcfieldname":"dim_studiengang_abschluss", +"targetfieldname":"", +"column_type":"physicalColumn", +"col_function":"", +"is_visible":"1", +"format_code":"", +"visible_size":"5", +"is_aggregate":"0", +"description":"Abschluss" +}, +{"uniquename":"dim_studiengang_abschlussart", +"caption":"abschlussart", +"srcfieldname":"dim_studiengang_abschlussart", +"targetfieldname":"", +"column_type":"physicalColumn", +"col_function":"", +"is_visible":"1", +"format_code":"", +"visible_size":"5", +"is_aggregate":"0", +"description":"Abschlussart" +}, +{"uniquename":"dim_studiengang_stg", +"caption":"stg", +"srcfieldname":"dim_studiengang_stg", +"targetfieldname":"", +"column_type":"physicalColumn", +"col_function":"", +"is_visible":"1", +"format_code":"", +"visible_size":"5", +"is_aggregate":"0", +"description":"Fach" +}, +{"uniquename":"stuart", +"caption":"St.-Art", +"srcfieldname":"stuart", +"targetfieldname":"", +"column_type":"logicalColumn", +"col_function":"(select druck from cifx where key=616 and apnr=stuart)", +"is_visible":"1", +"format_code":"", +"visible_size":"5", +"is_aggregate":"0", +"description":"Studienart" +}, +{"uniquename":"dim_studiengang_regel", +"caption":"RSZ", +"srcfieldname":"dim_studiengang_regel", +"targetfieldname":"", +"column_type":"physicalColumn", +"col_function":"", +"is_visible":"1", +"format_code":"", +"visible_size":"5", +"is_aggregate":"0", +"description":"Regelstudienzeit" +}, +{"uniquename":"gesamt", +"caption":"gesamt", +"srcfieldname":"summe", +"column_type":"physicalColumn", +"col_function":"sum", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"Studierende gesamt" +}, +{"uniquename":"gesamt_nw", +"caption":"g_nw", +"srcfieldname":"summe_nw", +"targetfieldname":"summe_nw", +"column_type":"logicalColumn", +"col_function":"case when geschlecht<>2 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"Studierende gesamt nicht weiblich" +}, +{"uniquename":"gesamt_w", +"caption":"g_w", +"srcfieldname":"summe_w", +"targetfieldname":"summe_w", +"column_type":"logicalColumn", +"col_function":"case when geschlecht=2 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"Studierende gesamt weiblich" +}, +{"uniquename":"gesamt_neue", +"caption":"neue", +"srcfieldname":"summe_neue", +"targetfieldname":"summe_neue", +"column_type":"logicalColumn", +"col_function":"case when kz_rueck_beur_ein in (1,2) then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"Neu- und Ersteinschreiber im Studiengang" +}, +{"uniquename":"gesamt_neue_nw", +"caption":"neue_nw", +"srcfieldname":"summe_neue_nw", +"targetfieldname":"summe_neue_nw", +"column_type":"logicalColumn", +"col_function":"case when geschlecht<>2 and kz_rueck_beur_ein in (1,2) then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"nicht weibliche Neu- und Ersteinschreiber im Studiengang" +}, +{"uniquename":"gesamt_neue_w", +"caption":"neue_w", +"srcfieldname":"summe_neue_w", +"targetfieldname":"summe_neue_w", +"column_type":"logicalColumn", +"col_function":"case when geschlecht=2 and kz_rueck_beur_ein in (1,2) then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"weibliche Neu- und Ersteinschreiber im Studiengang" +}, +{"uniquename":"deutsche", +"caption":"deutsche", +"srcfieldname":"summe_deutsche", +"targetfieldname":"summe_deutsche", +"column_type":"logicalColumn", +"col_function":"case when ca12_staat=0 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"deutsche Studierende" +}, +{"uniquename":"d_nw", +"caption":"d_nw", +"srcfieldname":"summe_d_nw", +"targetfieldname":"summe_d_nw", +"column_type":"logicalColumn", +"col_function":"case when ca12_staat=0 and geschlecht<>2 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"deutsche nicht weibliche Studierende" +}, +{"uniquename":"d_w", +"caption":"d_w", +"srcfieldname":"summe_d_w", +"targetfieldname":"summe_d_w", +"column_type":"logicalColumn", +"col_function":"case when ca12_staat=0 and geschlecht=2 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"deutsche weibliche Studierende" +}, +{"uniquename":"d_nw1h", +"caption":"d_nw1h", +"srcfieldname":"summe_d_nw1h", +"targetfieldname":"summe_d_nw1h", +"column_type":"logicalColumn", +"col_function":"case when ca12_staat=0 and geschlecht<>2 and hssem=1 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"deutsche nicht weibliche Studierende im 1. Hochschulsemester" +}, +{"uniquename":"d_w1h", +"caption":"d_w1h", +"srcfieldname":"summe_d_w1h", +"targetfieldname":"summe_d_w1h", +"column_type":"logicalColumn", +"col_function":"case when ca12_staat=0 and geschlecht=2 and hssem=1 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"deutsche weibliche Studierende im 1. Hochschulsemester" +}, +{"uniquename":"d_nw1f", +"caption":"d_nw1f", +"srcfieldname":"summe_d_nw1f", +"targetfieldname":"summe_d_nw1f", +"column_type":"logicalColumn", +"col_function":"case when ca12_staat=0 and geschlecht<>2 and fach_sem_zahl=1 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"deutsche nicht weibliche Studierende im 1. Fachsemester" +}, +{"uniquename":"d_w1f", +"caption":"d_w1f", +"srcfieldname":"summe_d_w1f", +"targetfieldname":"summe_d_w1f", +"column_type":"logicalColumn", +"col_function":"case when ca12_staat=0 and geschlecht=2 and fach_sem_zahl=1 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"deutsche weibliche Studierende im 1. Fachsemester" +}, +{"uniquename":"ausl", +"caption":"ausl", +"srcfieldname":"summe_ausl", +"targetfieldname":"summe_ausl", +"column_type":"logicalColumn", +"col_function":"case when ca12_staat<>0 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"ausländische Studierende" +}, +{"uniquename":"a_nw", +"caption":"a_nw", +"srcfieldname":"summe_a_nw", +"targetfieldname":"summe_a_nw", +"column_type":"logicalColumn", +"col_function":"case when ca12_staat<>0 and geschlecht<>2 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"ausländische nicht weibliche Studierende" +}, +{"uniquename":"a_w", +"caption_der_spalte":"Ausländische weibliche Studierende", +"caption_der_ergebnistabelle":"Ausländische weibliche Studierende", +"srcfieldname":"summe_a_w", +"targetfieldname":"summe_a_w", +"column_type":"logicalColumn", +"col_function":"case when ca12_staat<>0 and geschlecht=2 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"ausländische weibliche Studierende" +}, +{"uniquename":"a_nw1h", +"caption":"a_nw1h", +"srcfieldname":"summe_a_nw1h", +"targetfieldname":"summe_a_nw1h", +"column_type":"logicalColumn", +"col_function":"case when ca12_staat<>0 and geschlecht<>2 and hssem=1 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"ausländische nicht weibliche Studierende im 1. Hochschulsemester" +}, +{"uniquename":"a_w1h", +"caption":"a_w1h", +"srcfieldname":"summe_a_w1h", +"targetfieldname":"summe_a_w1h", +"column_type":"logicalColumn", +"col_function":"case when ca12_staat<>0 and geschlecht=2 and hssem=1 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"ausländische weibliche Studierende im 1. Hochschulsemester" +}, +{"uniquename":"a_nw1f", +"caption":"a_nw1f", +"srcfieldname":"summe_a_nw1f", +"targetfieldname":"summe_a_nw1f", +"column_type":"logicalColumn", +"col_function":"case when ca12_staat<>0 and geschlecht<>2 and fach_sem_zahl=1 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"ausländische nicht weibliche Studierende im 1. Fachsemester" +}, +{"uniquename":"a_w1f", +"caption":"a_w1f", +"srcfieldname":"summe_a_w1f", +"targetfieldname":"summe_a_w1f", +"column_type":"logicalColumn", +"col_function":"case when ca12_staat<>0 and geschlecht=2 and fach_sem_zahl=1 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"ausländische weibliche Studierende im 1. Fachsemester" +}, +{"uniquename":"HS1", +"caption":"HS1", +"srcfieldname":"summe_HS1", +"targetfieldname":"summe_HS1", +"column_type":"logicalColumn", +"col_function":"case when hssem=1 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"Studierende im 1. Hochschulsemester" +}, +{"uniquename":"FS1_d", +"caption":"FS1_d", +"srcfieldname":"summe_FS1_d", +"targetfieldname":"summe_FS1_d", +"column_type":"logicalColumn", +"col_function":"case when fach_sem_zahl=1 and ca12_staat=0 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"deutsche Studierende im 1. Fachsemester" +}, +{"uniquename":"FS1_a", +"caption":"FS1_a", +"srcfieldname":"summe_FS1_a", +"targetfieldname":"summe_FS1_a", +"column_type":"logicalColumn", +"col_function":"case when fach_sem_zahl=1 and ca12_staat<>0 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"ausl. Studierende im 1. Fachsemester" +}, +{"uniquename":"FS2_d", +"caption":"FS2_d", +"srcfieldname":"summe_FS2_d", +"targetfieldname":"summe_FS2_d", +"column_type":"logicalColumn", +"col_function":"case when fach_sem_zahl=2 and ca12_staat=0 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"deutsche Studierende im 2. Fachsemester" +}, +{"uniquename":"FS2_a", +"caption":"FS2_a", +"srcfieldname":"summe_FS2_a", +"targetfieldname":"summe_FS2_a", +"column_type":"logicalColumn", +"col_function":"case when fach_sem_zahl=2 and ca12_staat<>0 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"ausl. Studierende im 2. Fachsemester" +}, +{"uniquename":"FS3_d", +"caption":"FS3_d", +"srcfieldname":"summe_FS3_d", +"targetfieldname":"summe_FS3_d", +"column_type":"logicalColumn", +"col_function":"case when fach_sem_zahl=3 and ca12_staat=0 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"deutsche Studierende im 3. Fachsemester" +}, +{"uniquename":"FS3_a", +"caption":"FS3_a", +"srcfieldname":"summe_FS3_a", +"targetfieldname":"summe_FS3_a", +"column_type":"logicalColumn", +"col_function":"case when fach_sem_zahl=3 and ca12_staat<>0 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"ausl. Studierende im 3. Fachsemester" +}, +{"uniquename":"FS4_d", +"caption":"FS4_d", +"srcfieldname":"summe_FS4_d", +"targetfieldname":"summe_FS4_d", +"column_type":"logicalColumn", +"col_function":"case when fach_sem_zahl=4 and ca12_staat=0 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"deutsche Studierende im 4. Fachsemester" +}, +{"uniquename":"FS4_a", +"caption":"FS4_a", +"srcfieldname":"summe_FS4_a", +"targetfieldname":"summe_FS4_a", +"column_type":"logicalColumn", +"col_function":"case when fach_sem_zahl=4 and ca12_staat<>0 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"ausl. Studierende im 4. Fachsemester" +}, +{"uniquename":"FS5_d", +"caption":"FS5_d", +"srcfieldname":"summe_FS5_d", +"targetfieldname":"summe_FS5_d", +"column_type":"logicalColumn", +"col_function":"case when fach_sem_zahl=5 and ca12_staat=0 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"deutsche Studierende im 5. Fachsemester" +}, +{"uniquename":"FS5_a", +"caption":"FS5_a", +"srcfieldname":"summe_FS5_a", +"targetfieldname":"summe_FS5_a", +"column_type":"logicalColumn", +"col_function":"case when fach_sem_zahl=5 and ca12_staat<>0 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"ausl. Studierende im 5. Fachsemester" +}, +{"uniquename":"FS6_d", +"caption":"FS6_d", +"srcfieldname":"summe_FS6_d", +"targetfieldname":"summe_FS6_d", +"column_type":"logicalColumn", +"col_function":"case when fach_sem_zahl=6 and ca12_staat=0 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"deutsche Studierende im 6. Fachsemester" +}, +{"uniquename":"FS6_a", +"caption":"FS6_a", +"srcfieldname":"summe_FS6_a", +"targetfieldname":"summe_FS6_a", +"column_type":"logicalColumn", +"col_function":"case when fach_sem_zahl=6 and ca12_staat<>0 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"ausl. Studierende im 6. Fachsemester" +}, +{"uniquename":"FS7_d", +"caption":"FS7_d", +"srcfieldname":"summe_FS7_d", +"targetfieldname":"summe_FS7_d", +"column_type":"logicalColumn", +"col_function":"case when fach_sem_zahl=7 and ca12_staat=0 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"deutsche Studierende im 7. Fachsemester" +}, +{"uniquename":"FS7_a", +"caption":"FS7_a", +"srcfieldname":"summe_FS7_a", +"targetfieldname":"summe_FS7_a", +"column_type":"logicalColumn", +"col_function":"case when fach_sem_zahl=7 and ca12_staat<>0 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"ausl. Studierende im 7. Fachsemester" +}, +{"uniquename":"FS8_d", +"caption":"FS8_d", +"srcfieldname":"summe_FS8_d", +"targetfieldname":"summe_FS8_d", +"column_type":"logicalColumn", +"col_function":"case when fach_sem_zahl=8 and ca12_staat=0 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"deutsche Studierende im 8. Fachsemester" +}, +{"uniquename":"FS8_a", +"caption":"FS8_a", +"srcfieldname":"summe_FS8_a", +"targetfieldname":"summe_FS8_a", +"column_type":"logicalColumn", +"col_function":"case when fach_sem_zahl=8 and ca12_staat<>0 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"ausl. Studierende im 8. Fachsemester" +}, +{"uniquename":"FS9_d", +"caption":"FS9_d", +"srcfieldname":"summe_FS9_d", +"targetfieldname":"summe_FS9_d", +"column_type":"logicalColumn", +"col_function":"case when fach_sem_zahl=9 and ca12_staat=0 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"deutsche Studierende im 9. Fachsemester" +}, +{"uniquename":"FS9_a", +"caption":"FS9_a", +"srcfieldname":"summe_FS9_a", +"targetfieldname":"summe_FS9_a", +"column_type":"logicalColumn", +"col_function":"case when fach_sem_zahl=9 and ca12_staat<>0 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"ausl. Studierende im 9. Fachsemester" +}, +{"uniquename":"FS10_d", +"caption":"FS10_d", +"srcfieldname":"summe_FS10_d", +"targetfieldname":"summe_FS10_d", +"column_type":"logicalColumn", +"col_function":"case when fach_sem_zahl=10 and ca12_staat=0 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"deutsche Studierende im 10. Fachsemester" +}, +{"uniquename":"FS10_a", +"caption":"FS10_a", +"srcfieldname":"summe_FS10_a", +"targetfieldname":"summe_FS10_a", +"column_type":"logicalColumn", +"col_function":"case when fach_sem_zahl=10 and ca12_staat<>0 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"ausl. Studierende im 10. Fachsemester" +}, +{"uniquename":"FS11_d", +"caption":"FS11_d", +"srcfieldname":"summe_FS11_d", +"targetfieldname":"summe_FS11_d", +"column_type":"logicalColumn", +"col_function":"case when fach_sem_zahl=11 and ca12_staat=0 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"deutsche Studierende im 11. Fachsemester" +}, +{"uniquename":"FS11_a", +"caption":"FS11_a", +"srcfieldname":"summe_FS11_a", +"targetfieldname":"summe_FS11_a", +"column_type":"logicalColumn", +"col_function":"case when fach_sem_zahl=11 and ca12_staat<>0 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"ausl. Studierende im 11. Fachsemester" +}, +{"uniquename":"FSg11_d", +"caption":"FS>11_d", +"srcfieldname":"summe_FSg11_d", +"targetfieldname":"summe_FSg11_d", +"column_type":"logicalColumn", +"col_function":"case when fach_sem_zahl>11 and ca12_staat=0 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"deutsche Studierende mit mehr als 11 Fachsemestern" +}, +{"uniquename":"FSg11_a", +"caption":"FS>11_a", +"srcfieldname":"summe_FSg11_a", +"targetfieldname":"summe_FSg11_a", +"column_type":"logicalColumn", +"col_function":"case when fach_sem_zahl>11 and ca12_staat<>0 then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"ausl. Studierende mit mehr als 11 Fachsemestern" +}, +{"uniquename":"SRSZw", +"caption":"SRSZw", +"srcfieldname":"summe_SRSZw", +"targetfieldname":"summe_SRSZw", +"column_type":"logicalColumn", +"col_function":"case when geschlecht=2 and fach_sem_zahl<=dim_studiengang_regel then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"Studierende in der Regelstudienzeit weiblich" +}, +{"uniquename":"SRSZD", +"caption":"SRSZD", +"srcfieldname":"summe_SRSZD", +"targetfieldname":"summe_SRSZD", +"column_type":"logicalColumn", +"col_function":"case when ca12_staat=0 and fach_sem_zahl<=dim_studiengang_regel then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"Studierende in der Regelstudienzeit deutsch" +}, +{"uniquename":"SRSZgesamt", +"caption":"SRSZgesamt", +"srcfieldname":"summe_SRSZgesamt", +"targetfieldname":"summe_SRSZgesamt", +"column_type":"logicalColumn", +"col_function":"case when fach_sem_zahl<=dim_studiengang_regel then summe else 0 end", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"Studierende in der Regelstudienzeit gesamt" +}, +{"uniquename":"SRSZquote", +"caption":"SRSZ in %", +"srcfieldname":"summe_SRSZquote", +"targetfieldname":"summe_SRSZquote", +"column_type":"computedColumn", +"col_function":"((100.00 * summe_SRSZgesamt) / summe)", +"is_visible":"1", +"format_code":"INT_PERCENT", +"visible_size":"5", +"is_aggregate":"0", +"description":"Anteil Studierender in der Regelstudienzeit" +} + +] + /> + + <@rpta_column_layout_fuellen /> diff --git a/src-modules/module/rpta/schluesseltabellen/studierende_datenblatt_virtuell_dashboard.sql b/src-modules/module/rpta/schluesseltabellen/studierende_datenblatt_virtuell_dashboard.sql new file mode 100644 index 0000000..4d0620a --- /dev/null +++ b/src-modules/module/rpta/schluesseltabellen/studierende_datenblatt_virtuell_dashboard.sql @@ -0,0 +1,450 @@ +--freemarker template + + +select sp_table_exists('sos_stg_aggr') from xdummy; + + +select name + from sx_tables where name ='sos_stg_aggr' + + + +select 1::smallint as sortnr, +name, trim(name) ||'_' as prefix, +caption, +'dim_studiengang.tid=sos_stg_aggr.tid_stg' as joinclause + from sx_tables where name in ('dim_studiengang') +union +select 10::smallint as sortnr, +name, trim(name) ||'_' as prefix, +caption, +'dim_studiengang.stort=sos_k_stort.apnr' as joinclause + from sx_tables where name in ('sos_k_stort') +union +select 20::smallint as sortnr, +name, trim(name) ||'_' as prefix, +caption, +'sos_stg_aggr.stutyp=sos_k_stutyp.apnr' as joinclause + from sx_tables where name in ('sos_k_stutyp') +union +select 30::smallint as sortnr, +name, trim(name) ||'_' as prefix, +caption, +'sos_stg_aggr.stuart=sos_k_stuart.apnr' as joinclause + from sx_tables where name in ('sos_k_stuart') +union +select 40::smallint as sortnr, +name, trim(name) ||'_' as prefix, +caption, +'sos_stg_aggr.stufrm=sos_k_stufrm.apnr' as joinclause + from sx_tables where name in ('sos_k_stufrm') +union +select 50::smallint as sortnr, +name, trim(name) ||'_' as prefix, +caption, +'sos_stg_aggr.hrst=sos_k_hrst.apnr' as joinclause + from sx_tables where name in ('sos_k_hrst') +order by 1 + + +select tid, table_name, + name, + name as targetname + from sx_fields where table_name ='${fact_table_source}' + and currentlyused=1 + <#foreach added_table in added_tables> + union + select tid,table_name, + name, + '${added_table.prefix}' || name as targetname + from sx_fields where table_name ='${added_table.name}' + and currentlyused=1 + and name in ('fach_sem_zahl','hs','summe') + + order by 1 + +]]> + + + +<#if sos_stg_aggr_exists==1 && fact_table_source?exists > + +<#assign fact_table_target = {"name":"sos_stud_astat_dashboard", "caption":"Studierende (Fachsem., HS-Sem., Studiengang) Dashboard"} + /> + + +CREATE temp table tmp_tables( +name CHAR(255) , +caption CHAR(255) , +description CHAR(255) , +table_type CHAR(255) , +systeminfo_id INTEGER , +systeminfo_orig INTEGER , +thema CHAR(255) , +sachgebiete_id CHAR(255) +); +CREATE temp TABLE tmp_fields( +tid serial NOT NULL, +table_name VARCHAR(255) not null, +name VARCHAR(255) not null, +caption VARCHAR(255) , +description VARCHAR(255) , +field_type VARCHAR(255) not null, +field_size VARCHAR(255) , +field_not_null smallint, +currentlyused SMALLINT , +is_primarykey SMALLINT default 0 , +foreignkey_tab VARCHAR(255) , +foreignkey_col VARCHAR(255) , +foreignkey_int VARCHAR(255) , +foreignkey_cap VARCHAR(255) , +foreignkey_cond VARCHAR(255) , +foreignkey_func VARCHAR(255) , +check_integrity SMALLINT, +is_sum SMALLINT default 1, +foreignkey_uniquename VARCHAR(255) + +); + + +--Vorbereitung: +UPDATE sx_tables + SET caption = 'Standorte' +WHERE name='sos_k_stort'; +UPDATE sx_tables + SET caption = 'Studienart' +WHERE name = 'sos_k_stuart'; +UPDATE sx_tables + SET caption = 'Studiumstyp' +WHERE name = 'sos_k_stutyp'; +UPDATE sx_tables + SET caption = 'Studienform' +WHERE name = 'sos_k_stufrm'; +UPDATE sx_tables + SET caption = 'Hörerstatus' +WHERE name = 'sos_k_hrst'; + + + +--drop view if exists sos_stud_astat; + + +drop VIEW sos_k_stutyp; + +CREATE VIEW sos_k_stutyp +( + apnr, + druck, + astat +) +AS + SELECT cifx.apnr, + cifx.druck, + astat + FROM cifx + WHERE cifx.key = 40; + + +update sx_fields set + is_sum=0 + where table_name='sos_stg_aggr' + and name!='summe'; +update sx_fields set + is_sum=1 + where table_name='sos_stg_aggr' + and name='summe'; + + +insert into tmp_tables ( +name, +caption, +description, +table_type, +systeminfo_id, +thema, +sachgebiete_id +) +select +'${fact_table_target.name}', +'${fact_table_target.caption}', +description, +table_type, +systeminfo_id, +thema, +sachgebiete_id +from sx_tables where name='${fact_table_source}' +; + + +insert into tmp_fields (table_name, + name, + caption, + description, + field_type, + field_size, + field_not_null, + currentlyused, + is_primarykey, + foreignkey_tab, + foreignkey_col, + foreignkey_int, + foreignkey_cap, + foreignkey_cond, + foreignkey_func, + check_integrity, + is_sum, + foreignkey_uniquename) +select '${fact_table_target.name}' as table_name, + name, + caption, + description, + field_type, + field_size, + field_not_null, + currentlyused, + is_primarykey, + foreignkey_tab, + foreignkey_col, + foreignkey_int, + foreignkey_cap, + foreignkey_cond, + foreignkey_func, + check_integrity, + is_sum, + foreignkey_uniquename + from sx_fields where table_name ='${fact_table_source}' + and currentlyused=1; +<#foreach added_table in added_tables> +insert into tmp_fields (table_name, + name, + caption, + description, + field_type, + field_size, + field_not_null, + currentlyused, + is_primarykey, + foreignkey_tab, + foreignkey_col, + foreignkey_int, + foreignkey_cap, + foreignkey_cond, + foreignkey_func, + check_integrity, + is_sum, + foreignkey_uniquename) +select '${fact_table_target.name}' as table_name, + '${added_table.prefix}' || name, + '${added_table.caption}: ' || caption, + description, + field_type, + field_size, + field_not_null, + currentlyused, + is_primarykey, + foreignkey_tab, + foreignkey_col, + foreignkey_int, + foreignkey_cap, + foreignkey_cond, + foreignkey_func, + check_integrity, + is_sum, + foreignkey_uniquename + from sx_fields where table_name ='${added_table.name}' + and currentlyused=1; + + +CREATE temp TABLE tmp_rpta_resultset +( + caption varchar(255), + uniquename varchar(255), + fieldclause text, + joinclause text, + whereclause text, + systeminfo_id integer +); + +insert into tmp_rpta_resultset(caption, + uniquename, + systeminfo_id) + select '${fact_table_target.caption}', + '${fact_table_target.name}', + 7 +; + + +update tmp_rpta_resultset set fieldclause=' +<#foreach field_target in fields_target> +${field_target.table_name}.${field_target.name} as ${field_target.targetname}, + +null::varchar as dummy', +joinclause='${fact_table_source} +<#foreach added_table in added_tables> +left outer join ${added_table.name} on (${added_table.joinclause}) +'; + +select * into temp tmp_rs1 +from rpta_resultset +; + +update rpta_resultset set caption=T.caption, + fieldclause=T.fieldclause, + joinclause=T.joinclause, + whereclause=T.whereclause + from tmp_rpta_resultset T + where T.systeminfo_id=rpta_resultset.systeminfo_id + and T.uniquename=rpta_resultset.uniquename + ; + +insert into rpta_resultset(caption, + uniquename, + fieldclause, + joinclause, + whereclause, + systeminfo_id) +select caption, + uniquename, + fieldclause, + joinclause, + whereclause, + systeminfo_id + from tmp_rpta_resultset + where 0=(select count(*) + from tmp_rs1 T + where T.systeminfo_id=tmp_rpta_resultset.systeminfo_id + and T.uniquename=tmp_rpta_resultset.uniquename) + ; +drop table tmp_rpta_resultset; +drop table tmp_rs1; + +delete from sx_tables where name +in (select T.name from tmp_tables T); + +insert into sx_tables (name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id) +select name,caption,description,table_type,systeminfo_id,systeminfo_orig,thema,sachgebiete_id +from tmp_tables; + + +delete from sx_fields where table_name +in (select T.table_name from tmp_fields T); + +insert into sx_fields (table_name,name,caption,description,field_type, +field_size, +field_not_null, +currentlyUsed, +foreignkey_tab, +foreignkey_col, +foreignkey_cap, +foreignkey_int, +foreignkey_cond, +foreignkey_func, +check_integrity, +is_sum, +foreignkey_uniquename +) +select +F.table_name,F.name,F.caption,F.description,F.field_type, +F.field_size, +F.field_not_null, +F.currentlyUsed, +F.foreignkey_tab, +F.foreignkey_col, +F.foreignkey_cap, +F.foreignkey_int, +F.foreignkey_cond, +F.foreignkey_func, +F.check_integrity, +F.is_sum, +F.foreignkey_uniquename + +from tmp_fields F; + + +drop table tmp_fields; +drop table tmp_tables; + + +--rpta_column füllen: +select * into temp tmp_rc1 +from rpta_column; + + +create temp table tmp_rpta_column( + uniquename varchar(255) NOT NULL, + caption varchar(255), + srcfieldname varchar(255), + column_type integer, + col_function text, + is_aggregate smallint, + resultset_id integer, + description text, + custom integer default 0 + ); + +insert into tmp_rpta_column( uniquename, + caption, + srcfieldname, + column_type, + col_function, + is_aggregate, + resultset_id, + description) + select F.name as uniquename, + coalesce(T.caption,T.name) || ' - ' || F.caption, + F.name as srcfieldname, + 1 as column_type, + (case when F.is_sum=1 then 'sum' else null::varchar end) as col_function, + (case when F.is_sum=1 then 1 else 0 end) as is_aggregate, + R.tid as resultset_id, + F.description +from rpta_resultset R, sx_fields F left outer join sx_tables T on (T.name=F.table_name) +where F.table_name='${fact_table_target.name}' +and R.uniquename='${fact_table_target.name}' +and F.currentlyused=1 +; + +update rpta_column set + caption=T.caption, + srcfieldname=T.srcfieldname, + column_type=T.column_type, + col_function=T.col_function, + is_aggregate=T.is_aggregate, + resultset_id=R.tid, + description=T.description, + custom=T.custom + from tmp_rpta_column T, rpta_resultset R +where T.uniquename=rpta_column.uniquename +and rpta_column.resultset_id=R.tid +and R.uniquename='${fact_table_target.name}' +; +insert into rpta_column( uniquename, + caption, + srcfieldname, + column_type, + col_function, + is_aggregate, + resultset_id, + description, + custom) +select T.uniquename, +T.caption, +T.srcfieldname, +T.column_type, +T.col_function, +T.is_aggregate, +R.tid as resultset_id, +T.description, +T.custom + from tmp_rpta_column T, rpta_resultset R + where R.uniquename='${fact_table_target.name}' + and 0=(select count(*) from tmp_rc1 C + where C.uniquename=T.uniquename + and C.resultset_id=R.tid) + ; + +drop table tmp_rpta_column; +drop table tmp_rc1; + + --wenn sos_stg_aggr_exists=1