Skip to main content

dim_konto

Formål

Laster kontodimensjonen (dim_konto) i gold-laget fra silver_ubw.aglaccounts. Tabellen berikes med hierarkiske grupperingsnivåer (klasse, gruppe, undergruppe, kategorisering) via relasjonsverdier. Logikken er sterkt institusjonsspesifikk for SIKT, UiA, BOT og UiO.

Datakilder

TabellFormålFiltreRolle
silver_ubw.aglaccountsKontoplanIngenHovedkilde
silver_ubw.aatrelvalueRelasjonsverdierattributes=["A0"], related_attributes variererKilde for hierarkiske nivåer
silver_ubw.agldimvalueDimensjonsverdierVarierer per relasjonLookup for beskrivelsestekst

Forretningsnøkler

konto_kode

Transformasjonslogikk

1. Deduplisering

Velger nyeste rad per konto_kode basert på periode_til via remove_duplicates_on_sort_key.

2. Institusjonsspesifikk kontoplanstruktur

SIKT: Bruker create_standard_kontoplan_columns() for standardisert kontoplanstruktur.

Øvrige institusjoner: Hierarkiske koder utledes ved substring av konto_kode:

KolonneLogikk
klasse_kodesubstring(konto_kode, 1, 1)
gruppe_kodesubstring(konto_kode, 1, 2)
undergruppe_kodesubstring(konto_kode, 1, 3)

3. Relasjonslookups (alle institusjoner unntatt SIKT)

DimensjonAttributterHenter
klasseA0 + klasseklasse_beskrivelseklasse_navn
gruppeA0 + gruppegruppe_beskrivelsegruppe_navn
undergruppeA0 + undergruppeundergruppe_beskrivelseundergruppe_navn
kategoriseringA0 + kategoriseringRange join på konto_kode mellom attributt_verdi_fra og attributt_verdi_til

4. Relasjonslookups (institusjonsspesifikke)

InstitusjonDimensjonAttributterHenter
UiAregnskapsgruppe325 + 26Range join – rapportklasse_kode, rapportklasse_navn
BOTrappgrpA0 + rapport grupperappgrp_beskrivelse, rappgrp_relasjon_verdi
BOTrappnfrrapport nfrrappnfr_beskrivelse
UiOkontorelasjon1-5A0 + Q41 → Q45 (kjedede joins)kontorelasjon1kontorelasjon5
UiOegenfinansieringA0 + Q30egenfinansiering
UiOindirekte kostnaderA0 + Q31indirekte_kostnader

5. Beregnede kolonner

KolonneLogikk
kontoconcat(konto_kode, " ", konto_navn)
klasseconcat(klasse_kode, " ", klasse_navn)
gruppeconcat(gruppe_kode, " ", gruppe_navn)
undergruppeconcat(undergruppe_kode, " ", undergruppe_navn)
kategoriseringconcat(kategorisering_kode, " ", kategorisering_navn)
konto_regelCastet til integer
b_flaggCastet til integer

6. Datakvalitet

  • replace_empty_column_values: Erstatter tomme verdier i forretningsnøkkelkolonner.
  • insert_unknown_row: Legger til ukjent-rad for uløste fremmednøkler.

7. Lastelogikk og måltabeller

Laster til gold_okonomi.dim_konto som SCD Type 1 via load_dimension_scd1 med delete_when_not_matched=True.