Skip to content

Commit

Permalink
Merge pull request #67 from Opetushallitus/OK-729__SUREn-siirtotiedos…
Browse files Browse the repository at this point in the history
…toja

Ok 729  suren siirtotiedostoja
  • Loading branch information
razze76 authored Nov 8, 2024
2 parents de0e695 + 321fc5b commit 5505b74
Show file tree
Hide file tree
Showing 14 changed files with 251 additions and 85 deletions.
2 changes: 1 addition & 1 deletion dbt/.sqlfluff
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
templater = dbt
dialect = postgres
max_line_length = 120
exclude_rules = ST06
exclude_rules = ST06,RF02

[sqlfluff:templater:dbt]
project_dir = ./
Expand Down
73 changes: 50 additions & 23 deletions dbt/models/dw/_dw.yml
Original file line number Diff line number Diff line change
Expand Up @@ -222,10 +222,7 @@ models:
description: >-
Valintaperusteiden tietoja
lähdejärjestelmästä ei löydy muokkausaikaleimaa, joten tässä käytetään
tiedoston luontihetkeä muokattu-aikaleimana. Tämä arvo voi olla
duplikaatti jos sama tiedosto luetaan useaan kertaan, joten tämä DW-malli
on erilainen.
lähdejärjestelmästä ei löydy muokkausaikaleimaa, joten tässä käytetään tiedoston luontihetkeä muokattu-aikaleimana. Tämä arvo voi olla duplikaatti jos sama tiedosto luetaan useaan kertaan, joten tämä DW-malli on erilainen.
columns:
- name: valinnanvaihe_id
description: ""
Expand Down Expand Up @@ -269,9 +266,7 @@ models:
description: ""
data_type: boolean
- name: muokattu
description: muokattu on tiedoston luontihetki, koska kannassa ei ole
muutostietoja. Tämä tarkoittaa sitä että tällä voin olla
duplikaattiarvoja (sama tiedosto luettu useampaan kertaan)
description: muokattu on tiedoston luontihetki, koska kannassa ei ole muutostietoja. Tämä tarkoittaa sitä että tällä voin olla duplikaattiarvoja (sama tiedosto luettu useampaan kertaan)
data_type: timestamp with time zone
data_tests:
- not_null
Expand Down Expand Up @@ -332,9 +327,7 @@ models:
description: ""
data_type: text
- name: muokattu
description: Hetki, jolloin tämä versio on tallennettu kantaan. Kentän nimi
vaihdettu muokattu nimiseksi, jotta se täsmää muiden poimintojen
kanssa.
description: Hetki, jolloin tämä versio on tallennettu kantaan. Kentän nimi vaihdettu muokattu nimiseksi, jotta se täsmää muiden poimintojen kanssa.
data_type: timestamp with time zone
- name: deleted
description: ""
Expand Down Expand Up @@ -402,9 +395,7 @@ models:
description: ""
data_type: boolean
- name: muokattu
description: Hetki, jolloin tämä versio on tallennettu kantaan. Kentän nimi
vaihdettu muokattu nimiseksi, jotta se täsmää muiden poimintojen
kanssa.
description: Hetki, jolloin tämä versio on tallennettu kantaan. Kentän nimi vaihdettu muokattu nimiseksi, jotta se täsmää muiden poimintojen kanssa.
data_type: timestamp with time zone
data_tests:
- not_null
Expand Down Expand Up @@ -594,9 +585,7 @@ models:
description: ""
data_type: timestamp with time zone
- name: muokattu
description: Hetki, jolloin tämä versio on tallennettu kantaan. Kentän nimi
vaihdettu muokattu nimiseksi, jotta se täsmää muiden poimintojen
kanssa.
description: Hetki, jolloin tämä versio on tallennettu kantaan. Kentän nimi vaihdettu muokattu nimiseksi, jotta se täsmää muiden poimintojen kanssa.
data_type: timestamp with time zone
data_tests:
- not_null
Expand Down Expand Up @@ -660,9 +649,7 @@ models:
description: ""
data_type: text
- name: muokattu
description: Hetki, jolloin tämä versio on tallennettu kantaan. Kentän nimi
vaihdettu muokattu nimiseksi, jotta se täsmää muiden poimintojen
kanssa.
description: Hetki, jolloin tämä versio on tallennettu kantaan. Kentän nimi vaihdettu muokattu nimiseksi, jotta se täsmää muiden poimintojen kanssa.
data_type: timestamp with time zone
data_tests:
- not_null
Expand Down Expand Up @@ -710,8 +697,7 @@ models:
data_tests:
- not_null
- name: isensikertalainen
description: Onko hakija ensikertalainen. Jos false, syy löytyy kentästä
menettämisenPeruste.
description: Onko hakija ensikertalainen. Jos false, syy löytyy kentästä menettämisenPeruste.
data_type: boolean
- name: menettamisenperuste
description: ""
Expand Down Expand Up @@ -780,8 +766,7 @@ models:
description: hakemusten valintakokeet purettu riveille
columns:
- name: osallistuminen_id
description: osallistumisen uniikki id, koostuu hakemuksesta, hausta ja kokeen
id:stä
description: osallistumisen uniikki id, koostuu hakemuksesta, hausta ja kokeen id:stä
data_type: text
data_tests:
- dbt_constraints.primary_key
Expand Down Expand Up @@ -1120,3 +1105,45 @@ models:
data_type: integer
- name: dw_metadata_dw_stored_at
data_type: timestamp with time zone
- name: dw_sure_harkinnanvaraisuudet
columns:
- name: hakemusoid
data_type: text
- name: hakutoiveet
data_type: json
- name: dw_metadata_source_timestamp_at
data_type: timestamp with time zone
- name: dw_metadata_stg_stored_at
data_type: timestamp with time zone
- name: dw_metadata_dbt_copied_at
data_type: timestamp with time zone
- name: dw_metadata_filename
data_type: character varying
- name: dw_metadata_file_row_number
data_type: integer
- name: dw_metadata_dw_stored_at
data_type: timestamp with time zone
- name: dw_sure_proxysuoritukset
columns:
- name: hakemusoid
data_type: text
- name: hakuoid
data_type: text
- name: henkilooid
data_type: text
- name: pohjakoulutus
data_type: text
- name: keyvalues
data_type: jsonb
- name: dw_metadata_source_timestamp_at
data_type: timestamp with time zone
- name: dw_metadata_stg_stored_at
data_type: timestamp with time zone
- name: dw_metadata_dbt_copied_at
data_type: timestamp with time zone
- name: dw_metadata_filename
data_type: character varying
- name: dw_metadata_file_row_number
data_type: integer
- name: dw_metadata_dw_stored_at
data_type: timestamp with time zone
4 changes: 4 additions & 0 deletions dbt/models/dw/dw_sure_harkinnanvaraisuudet.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{%- set stage_model = ref('stg_sure_harkinnanvaraisuudet') -%}
{%- set key_columns_list = ['hakemusOid'] -%}

{{ generate_dw_model_muokattu(stage_model, key_columns_list) }}
4 changes: 4 additions & 0 deletions dbt/models/dw/dw_sure_proxysuoritukset.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{%- set stage_model = ref('stg_sure_proxysuoritukset') -%}
{%- set key_columns_list = ['hakemusOid'] -%}

{{ generate_dw_model_muokattu(stage_model, key_columns_list) }}
35 changes: 21 additions & 14 deletions dbt/models/int/int_sure/_int_sure.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,7 @@ models:
description: ""
data_type: boolean
- name: muokattu
description: Hetki, jolloin tämä versio on tallennettu kantaan. Kentän nimi
vaihdettu muokattu nimiseksi, jotta se täsmää muiden poimintojen
kanssa.
description: Hetki, jolloin tämä versio on tallennettu kantaan. Kentän nimi vaihdettu muokattu nimiseksi, jotta se täsmää muiden poimintojen kanssa.
data_type: timestamp with time zone
data_tests:
- not_null
Expand Down Expand Up @@ -82,9 +80,7 @@ models:
description: ""
data_type: text
- name: muokattu
description: Hetki, jolloin tämä versio on tallennettu kantaan. Kentän nimi
vaihdettu muokattu nimiseksi, jotta se täsmää muiden poimintojen
kanssa.
description: Hetki, jolloin tämä versio on tallennettu kantaan. Kentän nimi vaihdettu muokattu nimiseksi, jotta se täsmää muiden poimintojen kanssa.
data_type: timestamp with time zone
- name: deleted
description: ""
Expand Down Expand Up @@ -153,9 +149,7 @@ models:
description: ""
data_type: timestamp with time zone
- name: muokattu
description: Hetki, jolloin tämä versio on tallennettu kantaan. Kentän nimi
vaihdettu muokattu nimiseksi, jotta se täsmää muiden poimintojen
kanssa.
description: Hetki, jolloin tämä versio on tallennettu kantaan. Kentän nimi vaihdettu muokattu nimiseksi, jotta se täsmää muiden poimintojen kanssa.
data_type: timestamp with time zone
data_tests:
- not_null
Expand Down Expand Up @@ -206,8 +200,7 @@ models:
data_tests:
- not_null
- name: isensikertalainen
description: Onko hakija ensikertalainen. Jos false, syy löytyy kentästä
menettämisenPeruste.
description: Onko hakija ensikertalainen. Jos false, syy löytyy kentästä menettämisenPeruste.
data_type: boolean
- name: menettamisenperuste
description: ""
Expand Down Expand Up @@ -270,9 +263,7 @@ models:
description: ""
data_type: text
- name: muokattu
description: Hetki, jolloin tämä versio on tallennettu kantaan. Kentän nimi
vaihdettu muokattu nimiseksi, jotta se täsmää muiden poimintojen
kanssa.
description: Hetki, jolloin tämä versio on tallennettu kantaan. Kentän nimi vaihdettu muokattu nimiseksi, jotta se täsmää muiden poimintojen kanssa.
data_type: timestamp with time zone
data_tests:
- not_null
Expand Down Expand Up @@ -306,3 +297,19 @@ models:
- name: dw_metadata_dw_stored_at
description: ""
data_type: timestamp with time zone
- name: int_sure_harkinnanvaraisuudet
description: Tämä taulu sisältää harkinnanvaraisuuden tietoja
columns:
- name: hakemus_oid
data_type: text
- name: hakukohde_oid
data_type: text
- name: harkinnanvaraisuude_syy
data_type: text
- name: int_sure_pohjakoulutus
description: Tämä taulu sisältää pohjakoulutustiedot
columns:
- name: hakemus_oid
data_type: text
- name: pohjakoulutus
data_type: text
29 changes: 29 additions & 0 deletions dbt/models/int/int_sure/int_sure_harkinnanvaraisuudet.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{{
config(
materialized = 'table',
indexes = [
{'columns': ['hakemus_oid','hakukohde_oid']}
]
)
}}

with source as ( -- noqa: PRS
select * from {{ ref('dw_sure_harkinnanvaraisuudet') }} -- noqa: PRS
), -- noqa: PRS

rows as (
select
hakemusoid,
jsonb_array_elements(hakutoiveet) as hakutoive
from source
),

final as (
select
hakemusoid as hakemus_oid,
hakutoive->>'hakukohdeOid' as hakukohde_oid,
hakutoive->>'harkinnanvaraisuudenSyy' as harkinnanvaraisuude_syy
from rows
)

select * from final
21 changes: 21 additions & 0 deletions dbt/models/int/int_sure/int_sure_pohjakoulutus.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{{
config(
materialized = 'table',
indexes = [
{'columns': ['hakemus_oid']}
]
)
}}

with raw as (
select * from {{ ref('dw_sure_proxysuoritukset') }} where pohjakoulutus is not null
),

final as (
select
hakemusoid as hakemus_oid,
pohjakoulutus
from raw
)

select * from final
18 changes: 10 additions & 8 deletions dbt/models/pub/pub_dim_hakukohde.sql
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ int as (
hako.koulutuksenalkamiskausi, (coalesce(haku.koulutuksenalkamiskausi, tote.koulutuksen_alkamiskausi))
) as koulutuksen_alkamiskausi,
hako.toinenasteonkokaksoistutkinto as toinen_aste_onko_kaksoistutkinto,
coalesce(hako.jarjestaaurheilijanammkoulutusta,false) as jarjestaa_urheilijan_ammkoulutusta
coalesce(hako.jarjestaaurheilijanammkoulutusta, false) as jarjestaa_urheilijan_ammkoulutusta
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
Expand Down Expand Up @@ -99,14 +99,18 @@ final as (
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'
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)
when
koulutuksen_alkamiskausi_tyyppi = 'tarkka alkamisajankohta'
then date_part('year', koulutuksen_alkamispaivamaara)
end as koulutuksen_alkamisvuosi,
henkilokohtaisen_sunnitelman_lisatiedot,
toinen_aste_onko_kaksoistutkinto,
Expand All @@ -115,5 +119,3 @@ final as (
)

select * from final


20 changes: 13 additions & 7 deletions dbt/models/pub/pub_dim_toteutus.sql
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ int as (
tila,
organisaatio_oid,
koulutus_oid,
koulutuksenAlkamiskausi as koulutuksen_alkamiskausi,
koulutuksenalkamiskausi as koulutuksen_alkamiskausi,
suunniteltukestovuodet,
suunniteltukestokuukaudet,
koulutuksenalkamiskausi ->> 'alkamiskausityyppi' as koulutuksenalkamiskausityyppi,
Expand All @@ -36,14 +36,20 @@ step2 as (
*,
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'
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)
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
Expand Down
2 changes: 2 additions & 0 deletions dbt/models/sources/_sources.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,5 @@ sources:
description: |
Sisältää jokaiselle tiedostolle tiedon koska viimeisin dw-ajo on mennyt tuotannossa onnistuneesti läpi.
Raw- ja stg-kerroksista voidaan poistaa kaikki rivit jotka ovat tätä aikaleimaa vanhempaa
- name: sure_harkinnanvaraisuudet
- name: sure_proxysuoritukset
2 changes: 1 addition & 1 deletion dbt/models/stg/.sqlfluff
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
[sqlfluff]
exclude_rules = CP02
exclude_rules = CP02,RF02
Loading

0 comments on commit 5505b74

Please sign in to comment.