Skip to content

Commit d8961a7

Browse files
author
Matz Rasmus
committed
Korjattu organisaatioiden nimiä, toimipisteen alla toimipiste
1 parent 8738604 commit d8961a7

File tree

1 file changed

+46
-19
lines changed

1 file changed

+46
-19
lines changed

dbt/models/int/int_organisaatio.sql

Lines changed: 46 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,27 @@
88
)
99
}}
1010

11-
with organisaatio as (
11+
with organisaatio_raw as (
1212
select
1313
*,
1414
row_number() over (partition by organisaatio_oid order by muokattu desc) as rownr
1515
from {{ ref('dw_organisaatio_organisaatio') }}
1616
),
1717

18+
organisaatio as not materialized (
19+
select * from organisaatio_raw where rownr = 1
20+
),
21+
22+
ylempi_toimipiste as (
23+
select
24+
organisaatio_oid,
25+
nimi_fi,
26+
nimi_sv
27+
from organisaatio
28+
where organisaatiotyypit @> '["organisaatiotyyppi_03"]'
29+
),
30+
31+
1832
kunta as (
1933
select * from {{ ref('int_koodisto_kunta') }} where viimeisin_versio
2034
),
@@ -23,36 +37,49 @@ organisaatiotyyppi as (
2337
select * from {{ ref('int_organisaatio_organisaatiotyyppi') }}
2438
),
2539

26-
raw as (
40+
int as (
2741
select
28-
organisaatio_oid,
29-
coalesce(nimi_fi, nimi_sv) as nimi_fi_new,
30-
coalesce(nimi_sv, nimi_fi) as nimi_sv_new,
31-
coalesce(nimi_fi, nimi_sv) as nimi_en_new,
32-
ylempi_organisaatio,
33-
sijaintikunta,
34-
tila,
35-
opetuskielet,
36-
organisaatiotyypit
37-
from organisaatio
38-
where rownr = 1
42+
org1.organisaatio_oid,
43+
coalesce(org1.nimi_fi, org1.nimi_sv) as nimi_fi_new,
44+
coalesce(org1.nimi_sv, org1.nimi_fi) as nimi_sv_new,
45+
coalesce(org1.nimi_fi, org1.nimi_sv) as nimi_en_new,
46+
coalesce(ylto.nimi_fi, ylto.nimi_sv) as nimi_fi_new_ylempi,
47+
coalesce(ylto.nimi_sv, ylto.nimi_fi) as nimi_sv_new_ylempi,
48+
coalesce(ylto.nimi_fi, ylto.nimi_sv) as nimi_en_new_ylempi,
49+
org1.ylempi_organisaatio,
50+
org1.sijaintikunta,
51+
org1.tila,
52+
org1.opetuskielet,
53+
org1.organisaatiotyypit
54+
from organisaatio as org1
55+
left join ylempi_toimipiste as ylto on org1.ylempi_organisaatio = ylto.organisaatio_oid
3956
),
4057

4158
final as (
4259
select
4360
raw1.organisaatio_oid,
44-
jsonb_build_object(
45-
'en', raw1.nimi_en_new,
46-
'sv', raw1.nimi_sv_new,
47-
'fi', raw1.nimi_fi_new
48-
) as organisaatio_nimi,
61+
case
62+
when nimi_fi_new_ylempi is not null
63+
then
64+
jsonb_build_object(
65+
'en', nimi_en_new_ylempi || ', ' || nimi_en_new,
66+
'sv', nimi_sv_new_ylempi || ', ' || nimi_sv_new,
67+
'fi', nimi_fi_new_ylempi || ', ' || nimi_fi_new
68+
)
69+
else
70+
jsonb_build_object(
71+
'en', nimi_en_new,
72+
'sv', nimi_sv_new,
73+
'fi', nimi_fi_new
74+
)
75+
end as organisaatio_nimi,
4976
raw1.ylempi_organisaatio,
5077
raw1.sijaintikunta,
5178
kunt.koodinimi as sijaintikunta_nimi,
5279
raw1.opetuskielet,
5380
orgt.organisaatiotyypit,
5481
raw1.tila
55-
from raw as raw1
82+
from int as raw1
5683
left join kunta as kunt on raw1.sijaintikunta = kunt.koodiuri
5784
left join organisaatiotyyppi as orgt on raw1.organisaatio_oid = orgt.organisaatio_oid
5885
)

0 commit comments

Comments
 (0)