diff --git a/src-modules/module/viz/schluesseltabellen/studierende_datenblatt_dashboard.sql b/src-modules/module/viz/schluesseltabellen/studierende_datenblatt_dashboard.sql index 741c5bb..fb91c32 100644 --- a/src-modules/module/viz/schluesseltabellen/studierende_datenblatt_dashboard.sql +++ b/src-modules/module/viz/schluesseltabellen/studierende_datenblatt_dashboard.sql @@ -13,13 +13,62 @@ select name +drop view if exists rpta_sos_hzb_bland; +create view rpta_sos_hzb_bland as +select W.astat as wohnsitz_astat, W.bland as wohnsitz_bland, B.druck as bland_druck, B.astat as bland_astat +from sos_hzb_wohnsitz W, sos_k_bland B where W.bland=B.apnr; + select 'sos_stud_astat_dashboard' as tablename, -'log_geschlecht_str' as uniquename , +'geschlecht_str' as uniquename , 'Geschlecht' as caption, 'Geschlecht' as description, -'sos_k_geschl.druck' as log_field, +'sos_k_geschl.druck'::text as log_field, 'sos_k_geschl on (sos_k_geschl.apnr=sos_stg_aggr.geschlecht)' as join_field -from xdummy; +from xdummy +union +select 'sos_stud_astat_dashboard' as tablename, +'semester_str' as uniquename , +'Semester Name' as caption, +'Semester Name' as description, +'(case when substring(sem_rueck_beur_ein::varchar from 5 for 1)=''''2'''' then ''''WS '''' || substring(sem_rueck_beur_ein::varchar from 3 for 2) || ''''/'''' || lpad('''''''' || val(substring(sem_rueck_beur_ein::varchar from 3 for 2))+1,2,''''0'''') when substring(sem_rueck_beur_ein::varchar from 5 for 1)=''''1'''' then ''''SS '''' || substring(sem_rueck_beur_ein::varchar from 3 for 2) else '''''''' end)'::text as log_field, +'' as join_field +from xdummy +union +select 'sos_stud_astat_dashboard' as tablename, +'hzbstaat_iso3' as uniquename, +'Staat der HZB' as caption, +'Staat der HZB' as description, +'viz_staat_isocode.iso3'::text as log_field, +'viz_staat_isocode on ((viz_staat_isocode.astat=sos_stg_aggr.hzbkfz and sos_stg_aggr.hzbkfzkz=1) or (viz_staat_isocode.astat=0 and sos_stg_aggr.hzbkfzkz=0))' as join_field +from xdummy +union +select 'sos_stud_astat_dashboard' as tablename, +'dim_studiengang_fak_str' as uniquename , +'Fakultät' as caption, +'Fakultät (Name)' as description, +'cifx.kurz'::text as log_field, +'cifx on (cifx.key=90 and cifx.apnr=fb)' as join_field +from xdummy +union +select 'sos_stud_astat_dashboard' as tablename, +'sos_stud_bildungstyp' as uniquename , +'Bildungsinländer / -ausländer' as caption, +'Bildungsinländer / -ausländer' as description, +'(case when ca12_staat != 0 and (hzbkfzkz = 1 or (hzbart_int in (''''31'''',''''51'''',''''76'''') and hzbkfzkz = 0) or hzbart_int is null) then ''''Bildungsausländer'''' else ''''Bildungsinländer'''' end)'::text as log_field, +'' as join_field +from xdummy +union +select 'sos_stud_astat_dashboard' as tablename, +'hzb_bland' as uniquename , +'Bundesland (HZB)' as caption, +'Bundesland (HZB)' as description, +'rpta_sos_hzb_bland.bland_druck'::text as log_field, +'rpta_sos_hzb_bland on (rpta_sos_hzb_bland.wohnsitz_astat=sos_stg_aggr.hzbkfz) ' as join_field +from xdummy + +; +; + @@ -328,7 +377,9 @@ joinclause='${fact_table_source} left outer join ${added_table.name} on (${added_table.joinclause}) <#foreach logical_field in logical_fields> +<#if logical_field.join_field?exists && logical_field.join_field !=''> left outer join ${logical_field.join_field} + ';