diff --git a/src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/import_bestand_mwk_nrw_hskennz.kjb b/src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/import_bestand_mwk_nrw_hskennz.kjb index d52b770..e594e16 100644 --- a/src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/import_bestand_mwk_nrw_hskennz.kjb +++ b/src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/import_bestand_mwk_nrw_hskennz.kjb @@ -13,7 +13,7 @@ PATH_TO_UPLOADFILE - /home/superx/Downloads/stamm all - Auszug UDE-3.csv + /home/superx/Downloads/stamm_all_ude.csv @@ -377,10 +377,10 @@ update tmp_sxc_zahl_wert SQL - update tmp_sxc_zahl_wert set hs_nr=M.target_value from sxc_mapping_bestand M where M.sxc_bestand_id=1 and M.object_type='Hochschule' and M.object_value=tmp_sxc_zahl_wert.hs_nr_str ; update tmp_sxc_zahl_wert set wert = case when wert_str != '--' and wert_str is not null and wert_str <> '' then cast(replace(wert_str, ',' , '.') as decimal(30,20)) * 100 else null end where kenn_zahl like '%_proz%' ; update tmp_sxc_zahl_wert set wert = case when wert_str != '--' and wert_str is not null and wert_str <> '' then cast(replace(wert_str, ',' , '.') as decimal(30,20)) else null end where wert is null ; update tmp_sxc_zahl_wert set sxc_bestand_id=1; -- MKW NRW Hochschulkennzahlen update tmp_sxc_zahl_wert set bland=5; -- NRW + F - F - ${Internal.Job.Filename.Directory}/update_tmp_sxc_zahl_wert.sql + T + ${Internal.Job.Filename.Directory}/update_sxc_zahl_wert.sql F eduetl N @@ -393,10 +393,10 @@ insert into sxc_zahl_wert + NRW-Durchschnitt SQL - delete from sxc_zahl_wert where sxc_bestand_id=1 and jahr in (select jahr from tmp_sxc_zahl_wert) and hs_nr in (select hs_nr from tmp_sxc_zahl_wert) ; INSERT INTO sxc_zahl_wert ( hs_nr, kenn_zahl, jahr, sem, bland, ch110_institut, sxc_bestand_id, wert, generic_dim1, generic_dim2 ) select hs_nr, kenn_zahl, jahr, sem, bland, ch110_institut, sxc_bestand_id, wert, generic_dim1, generic_dim2 from tmp_sxc_zahl_wert where hs_nr is not null order by sxc_bestand_id,1,2,3,4 ; drop table if exists tmp_sxc_zahl_wert; drop table if exists tmp_nrw_durchschnitt; CREATE TABLE tmp_nrw_durchschnitt ( jahr integer, kenn_zahl char(100), lfb char(100), nrw_durchschnitt numeric ); insert into tmp_nrw_durchschnitt select jahr, kenn_zahl, generic_dim1 as lfb, case when kenn_zahl like '%_proz%' then sum(wert)/12*100 else sum(wert)/12 end as nrw_durchschnitt from sxc_zahl_wert where hs_nr in ('1130','1480','1140','1080','1090','1100','1110','1120','0080','0121','0130','0140') group by jahr,kenn_zahl,lfb ; update sxc_zahl_wert set generic_dim2=(select N.nrw_durchschnitt from tmp_nrw_durchschnitt N where sxc_zahl_wert.jahr=N.jahr and sxc_zahl_wert.kenn_zahl=N.kenn_zahl and sxc_zahl_wert.generic_dim1=N.lfb and sxc_zahl_wert.sxc_bestand_id=1) ; drop table if exists tmp_nrw_durchschnitt; + F - F - + T + ${Internal.Job.Filename.Directory}/insert_sxc_zahl_wert_nrw_schnitt.sql F eduetl N diff --git a/src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/import_bestand_mwk_nrw_hskennz_injection.ktr b/src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/import_bestand_mwk_nrw_hskennz_injection.ktr index 3d7d18e..28b3a56 100644 --- a/src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/import_bestand_mwk_nrw_hskennz_injection.ktr +++ b/src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/import_bestand_mwk_nrw_hskennz_injection.ktr @@ -526,27 +526,27 @@ N - Row Normaliser + Text file input + FIELD_TYPE + Y + Data Grid + type_inputFields + Row Normaliser VALUE Y tmp_feld feld - Row Normaliser + Row Normaliser NORMALISED Y Data Grid trans_new_field - Row Normaliser + Row Normaliser NAME Y tmp_feld feld - Text file input - FIELD_TYPE - Y - Data Grid - type_inputFields - Text file input + Text file input FIELD_NAME Y tmp_feld_all diff --git a/src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/import_bestand_mwk_nrw_hskennz_template.ktr b/src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/import_bestand_mwk_nrw_hskennz_template.ktr index 919ae1a..80a1c2e 100644 --- a/src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/import_bestand_mwk_nrw_hskennz_template.ktr +++ b/src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/import_bestand_mwk_nrw_hskennz_template.ktr @@ -11,7 +11,7 @@ PATH_TO_UPLOADFILE - /home/superx/Downloads/stamm all - Auszug UDE-3.csv + /home/superx/Downloads/stamm_all_ude.csv @@ -624,7 +624,7 @@ N mixed - ISO-8859-1 + UTF-8 Y ${PATH_TO_UPLOADFILE} diff --git a/src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/insert_sxc_zahl_wert_nrw_schnitt.sql b/src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/insert_sxc_zahl_wert_nrw_schnitt.sql new file mode 100644 index 0000000..8cf8d15 --- /dev/null +++ b/src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/insert_sxc_zahl_wert_nrw_schnitt.sql @@ -0,0 +1,71 @@ +drop table if exists tmp_nrw_durchschnitt; + +CREATE TABLE tmp_nrw_durchschnitt +( + jahr integer, + kenn_zahl char(100), + lfb char(100), + nrw_durchschnitt numeric +); + +insert into tmp_nrw_durchschnitt +select + jahr, + kenn_zahl, + generic_dim1 as lfb, + case when kenn_zahl like '%_proz%' then sum(wert)/12*100 else sum(wert)/12 end as nrw_durchschnitt +from tmp_sxc_zahl_wert +where hs_nr in ('1130','1480','1140','1080','1090','1100','1110','1120','0080','0121','0130','0140') +group by jahr,kenn_zahl,lfb +; + +delete from sxc_zahl_wert +where + sxc_bestand_id=1 + and jahr in (select jahr from tmp_sxc_zahl_wert) + and hs_nr in (select hs_nr from tmp_sxc_zahl_wert) +; + +INSERT INTO sxc_zahl_wert +( + hs_nr, + kenn_zahl, + jahr, + sem, + bland, + ch110_institut, + sxc_bestand_id, + wert, + generic_dim1, + generic_dim2 +) +select + W.hs_nr, + W.kenn_zahl, + W.jahr, + W.sem, + W.bland, + W.ch110_institut, + W.sxc_bestand_id, + W.wert, + W.generic_dim1, + D.nrw_durchschnitt +from tmp_sxc_zahl_wert W + left outer join tmp_nrw_durchschnitt D on ( + W.jahr=D.jahr + and W.kenn_zahl=D.kenn_zahl + and W.generic_dim1=D.lfb + and W.sxc_bestand_id=1) +where + hs_nr is not null +order by + sxc_bestand_id,1,2,3,4 +; + + +drop table if exists tmp_sxc_zahl_wert; +drop table if exists tmp_nrw_durchschnitt; + + + +drop table if exists tmp_nrw_durchschnitt; \ No newline at end of file diff --git a/src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/update_sxc_zahl_wert.sql b/src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/update_sxc_zahl_wert.sql new file mode 100644 index 0000000..2155785 --- /dev/null +++ b/src-modules/module/sxc/etl/import_bestand/mwk_nrw_hochschulkennzahlen/update_sxc_zahl_wert.sql @@ -0,0 +1,39 @@ +update tmp_sxc_zahl_wert set + hs_nr=M.target_value +from + sxc_mapping_bestand M +where + M.sxc_bestand_id=1 + and M.object_type='Hochschule' + and M.object_value=tmp_sxc_zahl_wert.hs_nr_str +; + + +update tmp_sxc_zahl_wert +set wert = + case + when wert_str != '--' + and wert_str is not null + and wert_str <> '' + then cast(replace(wert_str, ',' , '.') as decimal(30,20)) * 100 + else null + end +where kenn_zahl like '%_proz%' +; + +update tmp_sxc_zahl_wert +set wert = + case + when wert_str != '--' + and wert_str is not null + and wert_str <> '' + then cast(replace(wert_str, ',' , '.') as decimal(30,20)) + else null + end +where wert is null +; + +update tmp_sxc_zahl_wert set sxc_bestand_id=1; -- MKW NRW Hochschulkennzahlen +update tmp_sxc_zahl_wert set bland=5; -- NRW + +