From 6b8734d5dab19179b9136a8b0bb8085f01d5b623 Mon Sep 17 00:00:00 2001 From: Marlies Winterstein Date: Mon, 19 May 2025 16:55:41 +0200 Subject: [PATCH] ins viz-Modul als studierende_datenblatt__dashboard.sql verlagert --- ...dierende_datenblatt_virtuell_dashboard.sql | 450 ------------------ 1 file changed, 450 deletions(-) delete mode 100644 src-modules/module/rpta/schluesseltabellen/studierende_datenblatt_virtuell_dashboard.sql diff --git a/src-modules/module/rpta/schluesseltabellen/studierende_datenblatt_virtuell_dashboard.sql b/src-modules/module/rpta/schluesseltabellen/studierende_datenblatt_virtuell_dashboard.sql deleted file mode 100644 index 4d0620a..0000000 --- a/src-modules/module/rpta/schluesseltabellen/studierende_datenblatt_virtuell_dashboard.sql +++ /dev/null @@ -1,450 +0,0 @@ ---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