Skip to main content

sap_20_stillinger_pa0001

Formål

  • Sammenstiller informasjon relatert til stillinger i PA0001 fra 10-tabellene til én tabell.
  • Inkluderer beregnet årsverk, alder, ansiennitet og kostnadsfordeling.

Datakilder (lag 10)

TabellFormål / RolleFiltre
sap_10_stillinger_pa0001Hovedstillingsdata, definerer datointervallerIngen
sap_10_fodselsdagerFødselsdager, genererer datobrudd for korrekt aldersberegningIngen
sap_10_grunnlonn_pa0001Grunnlønn, prosent_stilling, fungeringIngen
sap_10_kontering_pa0001_pa0509Kostnadsfordelingkostnadstype_fordeling_kode = '01'
sap_10_kronetillegg_pa0001KronetilleggIngen
sap_10_stillingsansiennitetAnsiennitetsdatoIngen
sap_10_fravaer_permisjonFravær/permisjon til bruk i årsverk eks. permisjonIngen
sap_10_fravaer_dbhDBH-fraværIngen
sap_10_personerPersoninformasjon (demografi, alder, kjønn, statsborgerskap)Ingen
sap_10_terminsluttTerminslutt for hovedstillingterminslutt_kode = '72'
sap_10_organisasjonsenheterOrganisasjonsstruktur (nivå 0–10)Join på organisasjon_id_nivaa_10
sap_10_medarbeidergrupperLookup for tilknytningsformIngen
sap_10_medarbeiderundergrupperLookup for avlønningsformIngen

Kalkulerte kolonner

KolonneFormel / Logikk
aaremaalCASE WHEN medarbeidergruppe_kode = '3' THEN 'Ja' ELSE 'Nei' END
alderValiderer fødselsdato og beregner alder basert på dato_fra/dato_til/GETDATE(). Ugyldig: 1900-01-01 eller utenfor 16–110 → -1.
prosent_stillingHentet fra sap_10_grunnlonn_pa0001.prosent_stilling
aarsverkGjelder kun MAA: (prosent_stilling - COALESCE(prosent_stilling_fungering, 0)) × (prosent_kontering / 100) / 100
aarsverk_eks_permisjonSom over, men multiplisert med (prosent_arbeidsfor / 100)
aarsverk_dbhSom over, men multiplisert med (prosent_arbeidsfor_dbh / 100)

Transformasjonslogikk

1. Datointervallgenerering

Bygger konsistente datointervaller ved å:

  • samle alle start-/sluttdatoer fra ~10 Layer 10-tabeller
  • identifisere datobrudd
  • generere nye intervaller når attributter endrer seg

Gir én rad per ansatt/stilling per konsistent periode.

2. Årsverksberegning

Gjelder kun månedslønnede (avlonningsform_kode = 'MAA'):

  • aarsverk:
    (prosent_stilling - fungering) × kostnadsfordeling / 100
  • aarsverk_eks_permisjon:
    (prosent_stilling - fungering) × kostnadsfordeling × arbeidsforhold_permisjon / 100
  • aarsverk_dbh:
    … × arbeidsforhold_dbh / 100

Andre avlønningsformer → 0.

3. Aldersberegning

Kontrollerer datokvalitet og beregner alder i tre scenarier:

Historiske rader (dato_til < dagens dato)
alder = DATEDIFF(year, dato_fodt, LEAST(GETDATE(), dato_til))

Aktive rader (dato_fra ≤ dagens dato ≤ dato_til)
alder = DATEDIFF(year, dato_fodt, GETDATE())

Fremtidige rader (dato_fra > dagens dato)
alder = DATEDIFF(year, dato_fodt, dato_fra)

Feilaktige/ugyldige fødselsdatoer → -1.

4. Åremål-identifisering

  • medarbeidergruppe_kode = '3' → Åremål = Ja
  • Alle andre → Nei