Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions docs/ap/okonomi/gold/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"label": "Gold",
"position": 1
}
55 changes: 55 additions & 0 deletions docs/ap/okonomi/gold/dim_anlegg.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# dim_anlegg

## Formål

Laster anleggsdimensjonen (`dim_anlegg`) i gold-laget fra kildetabellen `silver_ubw.aatasset`. Tabellen inneholder informasjon om anleggsmidler per institusjon. For BOT-institusjoner berikes dataene med relasjonsverdier (serienummer, servicetag, plassering, utstyrsgruppe, eiersted).

## Datakilder

| Tabell | Formål | Filtre | Rolle |
| ---------------------------- | ----------------- | ------------------------------------------------------------------------ | ------------------------------------ |
| **silver_ubw.aatasset** | Anleggsmidler | Ingen | Hovedkilde |
| **silver_ubw.aatassetgroup** | Anleggsgrupper | Ingen | Lookup for `anlegg_gruppe_navn` |
| **silver_ubw.aatrelvalue** | Relasjonsverdier | `attributes=["F0"]`, `related_attributes` varierer | Kilde for BOT-spesifikke attributter |
| **silver_ubw.agldimvalue** | Dimensjonsverdier | `attributt_id='W22'` (plassering) / `attributt_id='W23'` (utstyrsgruppe) | Lookup for beskrivelsestekst |

## Forretningsnøkler

`attributt_id` + `anlegg_id`

## Transformasjonslogikk

### 1. Deduplisering

Velger nyeste rad per forretningsnøkkel (`attributt_id`, `anlegg_id`) basert på `sist_oppdatert` via `remove_duplicates_on_sort_key`.

### 2. Tabellkoblinger

- **aatassetgroup**: Left join på `anlegg_gruppe_kode` for å hente `anlegg_gruppe_navn`.
- **BOT-institusjoner** (institusjon starter med `bot`): Fem separate left joins med relasjonsverdier hentet via `get_relation_data`:

| Join | Nøkkel | Kilde |
| ------------- | ------------------------------------- | ------------------------------- |
| serienummer | `anlegg_id = serienummer_anlegg_id` | aatrelvalue (W20) |
| servicetag | `anlegg_id = servicetag_anlegg_id` | aatrelvalue (W21) |
| plassering | `anlegg_id = plassering_anlegg_id` | aatrelvalue (W22) + agldimvalue |
| utstyrsgruppe | `anlegg_id = utstyrsgruppe_anlegg_id` | aatrelvalue (W23) + agldimvalue |
| eiersted | `anlegg_id = eiersted_anlegg_id` | aatrelvalue (C1) |

- **Ikke-BOT-institusjoner**: Kolonnene `serienummer`, `servicetag`, `anlegg_plassering`, `anlegg_utstyrsgruppe` og `eiersted` settes til `null`.

### 3. Beregnede kolonner

| Kolonne | Logikk |
| ---------------------- | ----------------------------------------------------------------------------------------------------- |
| `anlegg_plassering` | `concat(plassering_relasjon_verdi, " ", beskrivelse)` fra agldimvalue (W22, siste gyldige periode) |
| `anlegg_utstyrsgruppe` | `concat(utstyrsgruppe_relasjon_verdi, " ", beskrivelse)` fra agldimvalue (W23, siste gyldige periode) |

### 4. Datakvalitet

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

### Lastelogikk og måltabeller

Laster til `gold_okonomi.dim_anlegg` som SCD Type 1 via `load_dimension_scd1` med `delete_when_not_matched=True` (sletter rader som ikke lenger finnes i kilden).
50 changes: 50 additions & 0 deletions docs/ap/okonomi/gold/dim_arbeidspakke_bygg.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# dim_arbeidspakke_bygg

## Formål

Laster dimensjonen for arbeidspakker/bygg (`dim_arbeidspakke_bygg`) i gold-laget fra `silver_ubw.agldimvalue` filtrert på aktivitetskode `B1`. For BOT-institusjoner berikes dataene med eierskap og byggruppe via relasjonsverdier.

## Datakilder

| Tabell | Formål | Filtre | Rolle |
| -------------------------- | ----------------- | -------------------------------------------------- | ------------------------------------ |
| **silver_ubw.agldimvalue** | Dimensjonsverdier | `attributt_id = 'B1'` | Hovedkilde |
| **silver_ubw.aatrelvalue** | Relasjonsverdier | `attributes=["B1"]`, `related_attributes` varierer | Kilde for BOT-spesifikke attributter |

## Forretningsnøkler

`attributt_id` + `arbeidspakke_bygg_nummer`

## Transformasjonslogikk

### 1. Deduplisering

Velger nyeste rad per forretningsnøkkel basert på `periode_til` (synkende) via `remove_duplicates_on_sort_key`.

### 2. Tabellkoblinger

- **BOT-institusjoner**: To separate left joins med relasjonsverdier via `get_relation_data`:

| Join | Nøkkel | Kilde |
| --------- | -------------------------- | ---------------- |
| eierskap | `arbeidspakke_bygg_nummer` | aatrelvalue (X2) |
| byggruppe | `arbeidspakke_bygg_nummer` | aatrelvalue (X3) |

- **Ikke-BOT-institusjoner**: Kolonnene `eierskap_kode`, `eierskap_navn`, `byggruppe_kode`, `byggruppe_navn` settes til `null`.

### 3. Beregnede kolonner

| Kolonne | Logikk |
| -------------------------- | --------------------------------------------------------------- |
| `arbeidspakke_bygg_nummer` | Omdøpt fra `dimensjon_verdi` |
| `arbeidspakke_bygg_navn` | Omdøpt fra `beskrivelse` |
| `arbeidspakke_bygg` | `concat(arbeidspakke_bygg_nummer, " ", arbeidspakke_bygg_navn)` |

### 4. Datakvalitet

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

### Lastelogikk og måltabeller

Laster til `gold_okonomi.dim_arbeidspakke_bygg` som SCD Type 1 via `load_dimension_scd1` med `delete_when_not_matched=True`.
30 changes: 30 additions & 0 deletions docs/ap/okonomi/gold/dim_bilagstype.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# dim_bilagstype

## Formål

Laster dimensjonen for bilagstyper (`dim_bilagstype`) i gold-laget fra `silver_ubw.acrvouchtype`.

## Datakilder

| Tabell | Formål | Filtre | Rolle |
| --------------------------- | ----------- | ------ | ---------- |
| **silver_ubw.acrvouchtype** | Bilagstyper | Ingen | Hovedkilde |

## Forretningsnøkler

`bilagstype_kode`

## Transformasjonslogikk

### 1. Deduplisering

Velger nyeste rad per `bilagstype_kode` basert på `sist_oppdatert` via `remove_duplicates_on_sort_key`.

### 2. Datakvalitet

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

### Lastelogikk og måltabeller

Laster til `gold_okonomi.dim_bilagstype` som SCD Type 1 via `load_dimension_scd1` med `delete_when_not_matched=True`.
26 changes: 26 additions & 0 deletions docs/ap/okonomi/gold/dim_budsjettprofil.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# dim_budsjettprofil

## Formål

Laster dimensjonen for budsjettprofiler (`dim_budsjettprofil`) i gold-laget fra `silver_ubw.aplprofile`.

## Datakilder

| Tabell | Formål | Filtre | Rolle |
| ------------------------- | ---------------- | ------ | ---------- |
| **silver_ubw.aplprofile** | Budsjettprofiler | Ingen | Hovedkilde |

## Forretningsnøkler

`budsjettprofil_kode`

## Transformasjonslogikk

### 1. Datakvalitet

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

### Lastelogikk og måltabeller

Laster til `gold_okonomi.dim_budsjettprofil` som SCD Type 1 via `load_dimension_scd1` med `delete_when_not_matched=True`.
45 changes: 45 additions & 0 deletions docs/ap/okonomi/gold/dim_budsjettversjon.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# dim_budsjettversjon

## Formål

Laster dimensjonen for budsjettversjoner (`dim_budsjettversjon`) i gold-laget. Kildetabell varierer basert på institusjon: HVL, UiA og USN bruker `agldimvalue`, øvrige institusjoner bruker `aplversion`.

## Datakilder

| Tabell | Formål | Filtre | Rolle |
| -------------------------- | ----------------- | ---------------------- | -------------------------------- |
| **silver_ubw.aplversion** | Budsjettversjoner | Ingen | Hovedkilde (ikke-HVL/UiA/USN) |
| **silver_ubw.agldimvalue** | Dimensjonsverdier | `attributt_id = 'K10'` | Alternativ kilde (HVL, UiA, USN) |

## Forretningsnøkler

`versjon_kode`

## Transformasjonslogikk

### 1. Institusjonsspesifikk kildevalg

| Institusjon | Kilde | Dedupliseringsnøkkel |
| ------------- | ---------------------------------- | --------------------------- |
| HVL, UiA, USN | `agldimvalue` (attributt_id='K10') | `periode_til` (synkende) |
| Øvrige | `aplversion` | `sist_oppdatert` (synkende) |

### 2. Beregnede kolonner (kun HVL, UiA, USN)

Følgende kolonner finnes ikke i `agldimvalue` og settes til plassholderverdien "Ukjent":

| Kolonne | Verdi |
| ------------------ | -------- |
| `valuta_kode` | "Ukjent" |
| `tidsramme` | "Ukjent" |
| `transaksjonstype` | "Ukjent" |
| `status` | "Ukjent" |

### 3. Datakvalitet

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

### Lastelogikk og måltabeller

Laster til `gold_okonomi.dim_budsjettversjon` som SCD Type 1 via `load_dimension_scd1` med `delete_when_not_matched=True`.
72 changes: 72 additions & 0 deletions docs/ap/okonomi/gold/dim_delprosjekt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# dim_delprosjekt

## Formål

Laster dimensjonen for delprosjekter (`dim_delprosjekt`) i gold-laget fra `silver_ubw.atsworkorder`. Tabellen berikes med kontraktsdata, finansieringsdata, rolledata og institusjonsspesifikke dimensjoner via en rekke lookups og relasjonsverdier.

## Datakilder

| Tabell | Formål | Filtre | Rolle |
| ----------------------------- | ------------------- | -------------------------------------------------- | ------------------------------------------------------ |
| **silver_ubw.atsworkorder** | Delprosjekter | Ingen | Hovedkilde |
| **silver_ubw.ahsresources** | Ressurser | Ingen | Lookup for delprosjektansvarlig |
| **silver_ubw.atsproject** | Prosjekter | Ingen | Lookup for `prosjekt_navn` |
| **silver_ubw.afxaofin** | Kontraktsbeløp | Ingen | Lookup for finansieringsbeløp |
| **silver_ubw.afxaoegenfin** | Egenfinansiering | Ingen | Lookup for `egenfinansiering_prosent` |
| **silver_ubw.afxaoindirekte** | Indirekte kostnader | Ingen | Lookup for `dekning_ik_prosent` |
| **silver_ubw.afxaobesk** | Beskrivelse | Ingen | Lookup for `saksnr`, `annen_ekstern_ref`, `sammendrag` |
| **silver_ubw.afxprokontrakt** | Kontrakt | Ingen | Lookup for kontraktdetaljer |
| **silver_ubw.afxpropreaward** | Pre-award | Ingen | Lookup for `kostnadskalkyle` |
| **silver_ubw.aatrelvalue** | Relasjonsverdier | `attributes=["BF"]`, `related_attributes` varierer | Kilde for institusjonsspesifikke dimensjoner |
| **silver_ubw.agldimvalue** | Dimensjonsverdier | Varierer per relasjon | Lookup for dimensjonsbeskrivelser |

## Forretningsnøkler

`delprosjekt_nummer`

## Transformasjonslogikk

### 1. Deduplisering

Velger nyeste rad per `delprosjekt_nummer` basert på `dato_til` via `remove_duplicates_on_sort_key`.

### 2. Tabellkoblinger

| Lookup | Nøkkel | Henter |
| -------------- | -------------------- | --------------------------------------------------------------------------------------------------------- |
| ahsresources | `ressurs_id` | `delprosjektansvarlig_ressursnummer`, `delprosjektansvarlig_navn` |
| atsproject | `prosjekt_nummer` | `prosjekt_navn` |
| afxaofin | `delprosjekt_nummer` | `kontraktsbeloep_valutabeloep`, `kontraktsbeloep_valuta`, `kontraktsbeloep_valutakurs`, `kontraktsbeloep` |
| afxaoegenfin | `delprosjekt_nummer` | `egenfinansiering_prosent` |
| afxaoindirekte | `delprosjekt_nummer` | `dekning_ik_prosent` |
| afxaobesk | `delprosjekt_nummer` | `saksnr`, `annen_ekstern_ref`, `sammendrag` |
| afxprokontrakt | `prosjekt_nummer` | Kontraktdetaljer |
| afxpropreaward | `delprosjekt_nummer` | `kostnadskalkyle` |

### 3. Institusjonsspesifikke dimensjoner (via `get_relation_data`)

| Dimensjon | Attributter | Henter |
| ------------------------- | ----------- | ------------------------------------------------------------------ |
| koststed | BF + C1 | `koststed_kode`, `koststed_navn`, `koststed` |
| kundenummer | BF + A4 | `kundenummer`, `kunde_navn` |
| aktivitet | BF + V25 | `aktivitet_kode`, `aktivitet_navn` |
| aktivitetstype | BF + V22 | `aktivitetstype_kode`, `aktivitetstype_navn` |
| avsetning | BF + V24 | `avsetninger_overfoeringer_kode`, `avsetninger_overfoeringer_navn` |
| finansieringskilde | BF + V21 | `finansieringskilde_kode`, `finansieringskilde_navn` |
| finanskilde spesifisering | BF + V23 | `finanskilde_spesifisering_kode`, `finanskilde_spesifisering_navn` |

### 4. Beregnede kolonner

| Kolonne | Logikk |
| ----------------------- | --------------------------------------------------- |
| `delprosjekt` | `concat(delprosjekt_nummer, " ", delprosjekt_navn)` |
| `dato_fra` / `dato_til` | Datoer før 1900-01-01 erstattes med 1900-01-01 |

### 5. Datakvalitet

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

### Lastelogikk og måltabeller

Laster til `gold_okonomi.dim_delprosjekt` som SCD Type 1 via `load_dimension_scd1` med `delete_when_not_matched=True`.
26 changes: 26 additions & 0 deletions docs/ap/okonomi/gold/dim_hovedfinansiering.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# dim_hovedfinansiering

## Formål

Laster dimensjonen for hovedfinansiering (`dim_hovedfinansiering`) i gold-laget fra en manuelt opplastet referansetabell.

## Datakilder

| Tabell | Formål | Filtre | Rolle |
| ----------------------------------------------- | --------------------------------------------- | ------ | ---------- |
| **manual_files.manual_files.hovedfinansiering** | Manuelt vedlikeholdt finansieringskodekatalog | Ingen | Hovedkilde |

## Forretningsnøkler

`hovedfinansiering_kode`

## Transformasjonslogikk

### 1. Datakvalitet

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

### Lastelogikk og måltabeller

Laster til `gold_okonomi.dim_hovedfinansiering` som SCD Type 1 via `load_dimension_scd1` med `delete_when_not_matched=True`.
Loading