Skip to content

Commit

Permalink
Korjaus: aggregoi kielet yhdeksi tietueeksi
Browse files Browse the repository at this point in the history
  • Loading branch information
hruoho committed Jan 3, 2024
1 parent 0628c1f commit 54926cf
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,10 @@ trait PerusopetuksenOppijamääristäRaportoiva extends QueryMethods {
join r_henkilo on r_henkilo.oppija_oid = oo.oppija_oid
join r_paatason_suoritus pts on pts.opiskeluoikeus_oid = oo.opiskeluoikeus_oid
join r_opiskeluoikeus_aikajakso aikajakso on aikajakso.opiskeluoikeus_oid = oo.opiskeluoikeus_oid
left join (
select *, row_number() over (partition by organisaatio_oid order by kielikoodi) as row_num
from r_organisaatio_kieli
) as org_kieli_unique -- r_organisaatio_kieli yksikäsitteisellä kielikoodilla per organisaatio_oid
on org_kieli_unique.organisaatio_oid = oh.oppilaitos_oid
and row_num = 1
left join r_organisaatio_kieli on r_organisaatio_kieli.organisaatio_oid = oh.oppilaitos_oid
left join r_koodisto_koodi opetuskieli_koodisto
on opetuskieli_koodisto.koodisto_uri = split_part(org_kieli_unique.kielikoodi, '_', 1)
and opetuskieli_koodisto.koodiarvo = split_part(split_part(org_kieli_unique.kielikoodi, '_', 2), '#', 1)
on opetuskieli_koodisto.koodisto_uri = split_part(r_organisaatio_kieli.kielikoodi, '_', 1)
and opetuskieli_koodisto.koodiarvo = split_part(split_part(r_organisaatio_kieli.kielikoodi, '_', 2), '#', 1)
where oh.oppilaitos_oid = any(${oppilaitosOids})
and oh.alku <= $date
and oh.loppu >= $date
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ Some(sql"""
select
oppilaitos.#$nimiSarake as oppilaitos_nimi,
oh.oppilaitos_oid,
opetuskieli_koodisto.#$nimiSarake as opetuskieli,
string_agg(distinct opetuskieli_koodisto.#$nimiSarake, ', ') as opetuskieli,
pts.koulutusmoduuli_koodiarvo as vuosiluokka,
count(distinct (case when not kotiopetus then oo.opiskeluoikeus_oid end)) as oppilaita,
count(distinct (case when not kotiopetus and r_henkilo.aidinkieli not in ('fi', 'sv', 'se', 'ri', 'vk') then oo.opiskeluoikeus_oid end)) as vieraskielisiä,
Expand All @@ -74,14 +74,14 @@ Some(sql"""
"""),
fromJoinWhereSqlPart(oppilaitosOids, date),
Some(sql"""
group by oppilaitos.#$nimiSarake, oh.oppilaitos_oid, opetuskieli_koodisto.#$nimiSarake, pts.koulutusmoduuli_koodiarvo
group by oppilaitos.#$nimiSarake, oh.oppilaitos_oid, pts.koulutusmoduuli_koodiarvo
), totals as (
select * from q
union all
select
oppilaitos_nimi,
oppilaitos_oid,
opetuskieli,
string_agg(distinct opetuskieli, ', ') as opetuskieli,
$kaikkiVuosiluokatLokalisoituTeksti as vuosiluokka,
sum(oppilaita),
sum(vieraskielisiä),
Expand All @@ -96,7 +96,7 @@ Some(sql"""
sum(joustava_perusopetus),
sum(kotiopetus)
from q
group by oppilaitos_nimi, oppilaitos_oid, opetuskieli
group by oppilaitos_nimi, oppilaitos_oid
) select *
from totals
order by oppilaitos_nimi, oppilaitos_oid, vuosiluokka
Expand Down

0 comments on commit 54926cf

Please sign in to comment.