Browse Source

weitere berechnete Spalten in Tabelle eingefügt

master
Marlies Winterstein 4 weeks ago
parent
commit
ff576aae53
  1. 57
      src-modules/module/viz/schluesseltabellen/studierende_datenblatt_dashboard.sql

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

@ -13,13 +13,62 @@ select name
</sqlvar> </sqlvar>
<sqlvar name="logical_fields" type="hashsequence"> <sqlvar name="logical_fields" type="hashsequence">
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, select 'sos_stud_astat_dashboard' as tablename,
'log_geschlecht_str' as uniquename , 'geschlecht_str' as uniquename ,
'Geschlecht' as caption, 'Geschlecht' as caption,
'Geschlecht' as description, '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 '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
;
;
</sqlvar> </sqlvar>
@ -328,7 +377,9 @@ joinclause='${fact_table_source}
left outer join ${added_table.name} on (${added_table.joinclause}) left outer join ${added_table.name} on (${added_table.joinclause})
</#foreach> </#foreach>
<#foreach logical_field in logical_fields> <#foreach logical_field in logical_fields>
<#if logical_field.join_field?exists && logical_field.join_field !=''>
left outer join ${logical_field.join_field} left outer join ${logical_field.join_field}
</#if>
</#foreach> </#foreach>
'; ';

Loading…
Cancel
Save