Skip to content

Commit

Permalink
Lisätty koulutuksenalkamiskaus-tiedot
Browse files Browse the repository at this point in the history
  • Loading branch information
Matz Rasmus committed Nov 4, 2024
1 parent f239ce0 commit f26266f
Show file tree
Hide file tree
Showing 8 changed files with 109 additions and 62 deletions.
5 changes: 2 additions & 3 deletions dbt/models/int/int_kouta/int_kouta_toteutus.sql
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,9 @@ final as (
) as toteutus_nimi,
koulutusoid as koulutus_oid,
organisaatiooid as organisaatio_oid,
tyyppi as koulutustyyppi,
koulutuksenalkamisvuosi::int as koulutuksen_alkamisvuosi,

{{ dbt_utils.star(from=ref('dw_kouta_toteutus'),
except=['nimi_fi','nimi_sv','nimi_en','koulutusoid','organisaatiooid','tyyppi','koulutuksenalkamisvuosi','oid']) }}
except=['nimi_fi','nimi_sv','nimi_en','koulutusoid','organisaatiooid','oid']) }}

from int
)
Expand Down
16 changes: 0 additions & 16 deletions dbt/models/pub/_pub.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@ models:
data_type: text
data_tests:
- not_null
- dbt_constraints.foreign_key:
pk_table_name: ref('pub_fct_hakemus')
pk_column_name: hakemus_oid
- name: hakukohde_oid
description: Hakukohteen oid
data_type: text
Expand Down Expand Up @@ -58,17 +55,11 @@ models:
data_type: text
data_tests:
- not_null
- dbt_constraints.foreign_key:
pk_table_name: ref('pub_dim_haku')
pk_column_name: haku_oid
- name: toteutus_oid
description: Linkki toteutukseen
data_type: text
data_tests:
- not_null
- dbt_constraints.foreign_key:
pk_table_name: ref('pub_dim_toteutus')
pk_column_name: toteutus_oid
- name: jarjestyspaikka_oid
description: Järjestävän organisaation tunniste
data_type: text
Expand Down Expand Up @@ -243,10 +234,6 @@ models:
- name: koulutus_oid
description: Koulutuksen tunniste
data_type: text
data_tests:
- dbt_constraints.foreign_key:
pk_table_name: ref('pub_dim_koulutus')
pk_column_name: koulutus_oid
- name: koulutustyyppi
description: Koulutuksen tyyppi
data_type: text
Expand Down Expand Up @@ -315,9 +302,6 @@ models:
data_type: text
data_tests:
- not_null
- dbt_constraints.foreign_key:
pk_table_name: ref('pub_dim_hakukohde')
pk_column_name: hakukohde_oid
- name: pub_dim_henkilo
description: Sisältää raportoinnissa käytettävät henkilötiedot. Tiedot on haettu sekä Atarusta että ONR:stä
columns:
Expand Down
3 changes: 2 additions & 1 deletion dbt/models/pub/pub_dim_haku.sql
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,8 @@ step1 as (
hajo.koodinimi as kohdejoukko_nimi,
haku.kohdejoukontarkennekoodiuri,
hatr.koodiarvo as kohdejoukontarkenne_koodi,
hatr.koodinimi as kohdejoukontarkenne_nimi
hatr.koodinimi as kohdejoukontarkenne_nimi,
haku.koulutuksenalkamiskausi
from haku as haku
inner join hakutapakoodi as hata on haku.hakutapakoodiuri = hata.versioitu_koodiuri
inner join haunkohdejoukko as hajo on haku.kohdejoukkokoodiuri = hajo.versioitu_koodiuri
Expand Down
53 changes: 51 additions & 2 deletions dbt/models/pub/pub_dim_hakukohde.sql
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,60 @@ int as (
when koul.alempi_kk_aste and not koul.ylempi_kk_aste and koul.laakis then 1
when not koul.alempi_kk_aste and koul.ylempi_kk_aste then 3
else 6
end as tutkinnon_taso_sykli
end as tutkinnon_taso_sykli,
coalesce(
hako.koulutuksenalkamiskausi, (coalesce(haku.koulutuksenalkamiskausi, tote.koulutuksen_alkamiskausi))
) as koulutuksen_alkamiskausi
from hakukohde as hako
left join toteutus as tote on hako.toteutus_oid = tote.toteutus_oid
left join haku as haku on hako.haku_oid = haku.haku_oid
left join koulutus as koul on tote.koulutus_oid = koul.koulutus_oid
),

step2 as (
select
*,
koulutuksen_alkamiskausi ->> 'alkamiskausityyppi' as koulutuksen_alkamiskausi_tyyppi,
koulutuksen_alkamiskausi ->> 'koulutuksenAlkamiskausiKoodiUri' as koulutuksen_alkamiskausi_koodiuri,
(koulutuksen_alkamiskausi ->> 'koulutuksenAlkamisvuosi')::int as koulutuksen_alkamisvuosi,
(koulutuksen_alkamiskausi ->> 'koulutuksenAlkamispaivamaara')::date as koulutuksen_alkamispaivamaara,
koulutuksen_alkamiskausi ->> 'henkilokohtaisenSuunnitelmanLisatiedot' as henkilokohtaisen_sunnitelman_lisatiedot
from int
),

final as (
select
hakukohde_oid,
hakukohde_nimi,
ulkoinen_tunniste,
tila,
haku_oid,
toteutus_oid,
jarjestyspaikka_oid,
aloituspaikat,
aloituspaikat_ensikertalaisille,
hakukohdekoodiuri,
hakuajat,
kaytetaan_haun_aikataulua,
on_valintakoe,
tutkinnon_taso_sykli,
koulutuksen_alkamiskausi,
koulutuksen_alkamiskausi_tyyppi,
case
when koulutuksen_alkamiskausi_tyyppi = 'alkamiskausi ja -vuosi' then koulutuksen_alkamiskausi_koodiuri
when koulutuksen_alkamiskausi_tyyppi = 'tarkka alkamisajankohta'
and date_part('month',koulutuksen_alkamispaivamaara) <= 6 then 'kausi_k#1'
when koulutuksen_alkamiskausi_tyyppi = 'tarkka alkamisajankohta'
and date_part('month',koulutuksen_alkamispaivamaara) >= 6 then 'kausi_s#1'
end as koulutuksen_alkamiskausi_koodiuri,
case
when koulutuksen_alkamiskausi_tyyppi = 'alkamiskausi ja -vuosi' then koulutuksen_alkamisvuosi
when koulutuksen_alkamiskausi_tyyppi = 'tarkka alkamisajankohta' then date_part('year',koulutuksen_alkamispaivamaara)
end as koulutuksen_alkamisvuosi,
henkilokohtaisen_sunnitelman_lisatiedot
from step2
)

select * from int
select * from final


71 changes: 51 additions & 20 deletions dbt/models/pub/pub_dim_toteutus.sql
Original file line number Diff line number Diff line change
Expand Up @@ -12,28 +12,59 @@ with toteutus as (
select * from {{ ref('int_kouta_toteutus') }}
),

kausi_koodi as (
select * from {{ ref('pub_dim_koodisto_kausi') }}
int as (
select
toteutus_oid,
toteutus_nimi,
tunniste as ulkoinen_tunniste,
tila,
organisaatio_oid,
koulutus_oid,
koulutuksenAlkamiskausi as koulutuksen_alkamiskausi,
suunniteltukestovuodet,
suunniteltukestokuukaudet,
koulutuksenalkamiskausi ->> 'alkamiskausityyppi' as koulutuksenalkamiskausityyppi,
koulutuksenalkamiskausi ->> 'koulutuksenAlkamiskausiKoodiUri' as koulutuksenalkamiskausikoodiuri,
(koulutuksenalkamiskausi ->> 'koulutuksenAlkamisvuosi')::int as koulutuksenalkamisvuosi,
(koulutuksenalkamiskausi ->> 'koulutuksenAlkamispaivamaara')::date as koulutuksenalkamispaivamaara,
koulutuksenalkamiskausi ->> 'henkilokohtaisenSuunnitelmanLisatiedot' as henkilokohtaisensunnitelmanlisatiedot
from toteutus
),

int as (
step2 as (
select
*,
case
when koulutuksenalkamiskausityyppi = 'alkamiskausi ja -vuosi' then koulutuksenalkamiskausikoodiuri
when koulutuksenalkamiskausityyppi = 'tarkka alkamisajankohta'
and date_part('month',koulutuksenalkamispaivamaara) <= 6 then 'kausi_k#1'
when koulutuksenalkamiskausityyppi = 'tarkka alkamisajankohta'
and date_part('month',koulutuksenalkamispaivamaara) >= 6 then 'kausi_s#1'
end as koulutuksen_alkamiskausi_koodiuri,
case
when koulutuksenalkamiskausityyppi = 'alkamiskausi ja -vuosi' then koulutuksenalkamisvuosi
when koulutuksenalkamiskausityyppi = 'tarkka alkamisajankohta' then date_part('year',koulutuksenalkamispaivamaara)
end as koulutuksen_alkamisvuosi,
henkilokohtaisensunnitelmanlisatiedot as henkilokohtaisen_sunnitelman_lisatiedot
from int
),

final as (
select
tote.toteutus_oid,
tote.toteutus_nimi,
tote.tunniste as ulkoinen_tunniste,
tote.tila,
tote.organisaatio_oid,
tote.koulutus_oid,
tote.koulutuksenalkamiskausikoodiuri,
kaus.koodiarvo as kausi_koodi,
kaus.koodinimi as kausi_nimi,
coalesce(tote.koulutuksen_alkamisvuosi, date_part('year', tote.koulutuksenalkamispaivamaara))::int
as koulutuksen_alkamisvuosi,
tote.alkamiskausityyppi as koulutuksen_alkamiskausityyppi,
tote.suunniteltukestovuodet,
tote.suunniteltukestokuukaudet
from toteutus as tote
left join kausi_koodi as kaus on tote.koulutuksenalkamiskausikoodiuri = kaus.versioitu_koodiuri
toteutus_oid,
toteutus_nimi,
ulkoinen_tunniste,
tila,
organisaatio_oid,
koulutus_oid,
koulutuksen_alkamiskausi,
suunniteltukestovuodet,
suunniteltukestokuukaudet,
koulutuksenalkamiskausityyppi as koulutuksen_alkamiskausi_tyyppi,
koulutuksen_alkamiskausi_koodiuri,
koulutuksen_alkamisvuosi,
henkilokohtaisen_sunnitelman_lisatiedot
from step2
)

select * from int
select * from final
7 changes: 1 addition & 6 deletions dbt/models/stg/stg_kouta_haku.sql
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,7 @@ final as (
(data -> 'metadata' -> 'yhteyshenkilot')::jsonb as yhteyshenkilot,
(data -> 'metadata' -> 'tulevaisuudenAikataulu')::jsonb as tulevaisuudenAikataulu,
data -> 'metadata' ->> 'isMuokkaajaOphVirkailija'::varchar as isMuokkaajaOphVirkailija,
data -> 'metadata' -> 'koulutuksenAlkamiskausi' ->> 'alkamiskausityyppi'::varchar as alkamiskausityyppi,
(data -> 'metadata' -> 'koulutuksenAlkamiskausi' -> 'henkilokohtaisenSuunnitelmanLisatiedot')::jsonb
as henkilokohtaisenSuunnitelmanLisatiedot,
data -> 'metadata' -> 'koulutuksenAlkamiskausi' -> 'koulutuksenAlkamiskausiKoodiUri'::varchar
as koulutuksenAlkamiskausiKoodiUri,
(data -> 'metadata' -> 'koulutuksenAlkamiskausi' ->> 'koulutuksenAlkamisvuosi')::int as koulutuksenAlkamisvuosi,
(data -> 'metadata' -> 'koulutuksenAlkamiskausi')::jsonb as koulutuksenAlkamiskausi,
data ->> 'organisaatioOid'::varchar as organisaatioOid,
(data -> 'hakuajat')::jsonb as hakuajat,
data ->> 'muokkaaja' as muokkaaja,
Expand Down
1 change: 1 addition & 0 deletions dbt/models/stg/stg_kouta_hakukohde.sql
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ final as (
as valintaperusteenValintakokeidenLisatilaisuudet,
(data -> 'metadata' -> 'kynnysehto')::jsonb as kynnysehto,
(data -> 'metadata' ->> 'kaytetaanHaunAlkamiskautta')::boolean as kaytetaanHaunAlkamiskautta,
(data -> 'metadata' -> 'koulutuksenAlkamiskausi')::jsonb as koulutuksenAlkamiskausi,
(data -> 'metadata' -> 'aloituspaikat' ->> 'lukumaara')::int as aloituspaikat,
(data -> 'metadata' -> 'aloituspaikat' ->> 'ensikertalaisille')::int as aloituspaikat_ensikertalaisille,
(data -> 'metadata' -> 'aloituspaikat' -> 'kuvaus')::jsonb as aloituspaikat_kuvaus,
Expand Down
15 changes: 1 addition & 14 deletions dbt/models/stg/stg_kouta_toteutus.sql
Original file line number Diff line number Diff line change
Expand Up @@ -32,20 +32,7 @@ final as (
data -> 'metadata' -> 'opetus' ->> 'maksullisuustyyppi'::varchar as maksullisuustyyppi,
(data -> 'metadata' -> 'opetus' -> 'maksullisuusKuvaus')::jsonb as maksullisuusKuvaus,
(data -> 'metadata' -> 'opetus' ->> 'maksunMaara')::float as maksunMaara,
data -> 'metadata' -> 'opetus' -> 'koulutuksenAlkamiskausi'
->> 'alkamiskausityyppi'::varchar as alkamiskausityyppi,
(
data -> 'metadata' -> 'opetus' -> 'koulutuksenAlkamiskausi'
-> 'henkilokohtaisenSuunnitelmanLisatiedot'
)::jsonb as henkilokohtaisenSuunnitelmanLisatiedot,
data -> 'metadata' -> 'opetus' -> 'koulutuksenAlkamiskausi'
->> 'koulutuksenAlkamiskausiKoodiUri'::varchar as koulutuksenAlkamiskausiKoodiUri,
(
data -> 'metadata' -> 'opetus' -> 'koulutuksenAlkamiskausi' ->> 'koulutuksenAlkamisvuosi'
)::int as koulutuksenAlkamisvuosi,
(
data -> 'metadata' -> 'opetus' -> 'koulutuksenAlkamiskausi' ->> 'koulutuksenAlkamispaivamaara'
)::timestamptz as koulutuksenAlkamispaivamaara,
(data -> 'metadata' -> 'opetus' -> 'koulutuksenAlkamiskausi')::jsonb as koulutuksenAlkamiskausi,
(data -> 'metadata' -> 'opetus' -> 'lisatiedot')::jsonb as lisatiedot,
(data -> 'metadata' -> 'opetus' ->> 'onkoApuraha')::boolean as onkoApuraha,
(data -> 'metadata' -> 'opetus' ->> 'suunniteltuKestoVuodet')::int as suunniteltuKestoVuodet,
Expand Down

0 comments on commit f26266f

Please sign in to comment.