Skip to main content

sap_30_stillinger

Formål

  • Sammenstille alle stillingsforhold for ansatte i UH-sektoren til én samlet faktatabell (fak_stillinger) i tjeneste 2.
  • Kombinere hovedstillinger, tilleggsstillinger og TOA-stillinger fra de tre relevante 20-viewene.
  • Harmoniserer datointervaller og fjerner nullverdier i attributter for robust dimensjonstilknytning.

Datakilder (lag 20)

TabellRolleFiltre
sap_20_stillinger_pa0001HovedstillingerIngen
sap_20_stillinger_pa0509Tilleggsstillinger og fungeringerIngen
sap_20_stillinger_pa9024xTOA-stillingerIngen

Transformasjonslogikk

1. Kombinering av kilder

Alle tre stillingstabeller kombineres med UNION ALL via unionByName(allowMissingColumns=True), slik at manglende kolonner fylles med null og skjemaene håndteres fleksibelt.

2. Håndtering av nullverdier

Nullverdier i sentrale attributter erstattes for å:

  • sikre stabil join mot dimensjoner,
  • sikre sammenlignbar hashing av rader,
  • unngå brudd i datointervaller.

Kolonner som standardiseres inkluderer bl.a.
ansatt_nummer, organisasjon_id, stilling_id, koststed_kontering_kode, medarbeidergruppe_kode, kjonn_navn, utdanningskode, yrkeskode, mm.

3. Rensing av delprosjekt

Fjerner prefiks med to bokstaver (f.eks. UT, UB) fra delprosjekt_nummer for å speile praksis fra UBW-kildedata.

4. Mengdeutjevning via datointervall-sammenslåing

Like påfølgende rader (dvs. rader hvor alle kolonner utenom dato_fra og dato_til er identiske) slås sammen til ett datointervall.
Dette gjøres ved:

  1. Beregning av hash for alle kolonner unntatt dato.
  2. Sammenligning av hash med hash på forrige rad innen samme ansatt/stillingsforhold.
  3. Slå sammen intervaller der hashen matcher.

Resultatet er én rad per unikt stillingsforhold per konsistent periode.

Nøkler og dimensjonstilknytning

DimensjonstabellBusiness key (fakta)Business key (dimensjon)Kommentar
dim_alderalderalderFellesdimensjon
dim_kjonnkjonn_navnkjonn_navnFellesdimensjon
dim_koststedkoststed_kodekoststed_kodeFellesdimensjon
dim_landland_kode_adresseland_kodeFellesdimensjon
dim_medarbeidergruppemedarbeidergruppe_kodemedarbeidergruppe_kodeSAP-dimensjon
dim_medarbeiderundergruppemedarbeiderundergruppe_kodemedarbeiderundergruppe_kodeSAP-dimensjon
dim_organisasjon_saporganisasjon_idorganisasjon_idSAP-dimensjon
dim_personansatt_nummer
dato_fra
dato_til
ansatt_nummer
dato_fra
dato_til
SAP-dimensjon (fakta‐intervall må overlappe dim‐intervall)
dim_poststedpostnummer_adressepostnummerFellesdimensjon
dim_spraakspraak_kommunikasjonspraak_kodeFellesdimensjon
dim_stillingskodestillingskodestillingskodeFellesdimensjon
dim_styrk_kodestyrk_kodestyrk_kodeFellesdimensjon
dim_tariffgruppetariffgruppe_kodetariffgruppe_kodeSAP-dimensjon
dim_tariffomraadetariffomraade_kodetariffomraade_kodeSAP-dimensjon
dim_tarifftypetarifftype_kodetarifftype_kodeSAP-dimensjon
dim_utdanningskodeutdanningskodeutdanningskodeFellesdimensjon

Skriving til mål

  • Resultatet skrives til:
    {catalog}.transformation_hr.sap_30_stillinger
  • Format: Delta
  • Mode: overwrite
  • Skjemautvidelser tillates (overwriteSchema = true)