I dashboardet udstilles data på enkeltmedarbejderniveau tiltænkt ledere. Bruger får her overblik over udvalgte parametre om de medarbejdere, denne i forvejen har adgang til via PersonaleWeb. Se brugerstyring.
Der filtreres globalt på fanen ud fra kriterierne v_DimAnsættelse[AnsatDagsDato]=J og v_DimAnsættelse[AktuelRække]=J . Som udgangspunkt vises altså alle lederens medarbejdere med en aktuel ansættelse pågældende dag inklusiv evt. tidligere (eller kommende) ansættelser på samme tjenestenummer. Har bruger adgang til medarbejdere på tværs af organisationsstruktur, kan der filtreres herpå, ligesom der kan filtreres på tværs af stillingshieraki. Foruden brug af grunddata er oprettet views og tabeller til brug i beregninger under dette tema. Se Resume af tabeller.
Measuret, [Antal medarbejdere], summerer groft antallet af rækker i v_DimAnsættelse. Det anvendes i en række andre measures uden skelnen imellem populationer (månedslønnede, fuldtidsansatte eller andet).
[Antal medarbejdere] =
IF (
ISBLANK ( COUNTROWS ( 'v_DimAnsættelse' ) ),
0,
COUNTROWS ( 'v_DimAnsættelse' )
)
Antallet af måneds- og timelønnede, fuld- og deltidsansatte, der fremgår af visninger (cards) til venstre i dashboardet, er alle baseret på [Antal medarbejdere] evalueret i forskellige filterkontekster ved brug af én eller flere af de dikotomiserede J/N-kolonner i v_DimAnsættelse. Et eksempel herpå er [Antal fuldtidsansatte]
[Antal fuldtidsansatte] =
CALCULATE (
[Antal medarbejdere],
'v_DimAnsættelse'[Månedslønnet] = "J",
'v_DimAnsættelse'[Fuldtid] = "J"
)
Antal [Årsværk], vist sammen med de fire føromtalte, beregner summen af beskæftigelsesdecimaler, v_DimAnsættelse[Beskdec], som i definitionen er andelen af en 37 timers arbejdsuge, en person er ansat til og her i praksis oversættes til årsværk. Specifikt på visningen af årsværk filtreres v_DimAnsættelse[Månedslønnede]=’J’ i selve figuren.
[Antal årsværk] =
// Kan kun bruges når man kigger på aktuelle ansættelser eller en bestemt dato
IF (
ISBLANK ( SUM ( 'v_DimAnsættelse'[Beskdec] ) ),
0,
SUM ( 'v_DimAnsættelse'[Beskdec] )
)
Til beregning af [Ansættelseslængde] (antal år) anvendes differencen mellem dags dato og v_DimAnsættelse[Ansættelsesdato]. I figuren Ansættelseslængde anvendes dette measure af [AnsatteAnsættelseslængdeInterval] til at beregne medarbejders ansættelseslængde i nuværende stilling (+evt tidligere ansættelser på samme tjenestenummer). Dette measure er designet til, i kontekst af v_TallyAnsættelseslænge, at beregne [Ansættelseslængde] evalueret i en filterkontekst af tjenestenummer (og AnsættelsesID for at sikre optælling på unikke individer) og returnerer antallet af medarbejdere i intervallerne specificeret i tally-tabellen. Ved mouse-over vises den enkelte medarbejders ansættelseslængde udregnet med [Ansættelseslængde].
Figuren Aldersfordeling viser antallet af medarbejdere, [AnsatteAldersinterval], fordelt på aldersintervaller. Også dette measure er designet til visning i kontekst af en tally-tabel, v_TallyAlder. Metodisk er beregning og opbygning af measure identisk med førnævnte, [AnsatteAnsættelseslængdeInterval], hvor der hér regners på alder i stedet for ansættelseslængde. Measuret, [Alder], beregner blot en persons alder som differencen mellem dennes fødselsdag (v_DimPerson[Fødselsdato]) og dags dato. Specifikt på denne figur er nedre og øvre aldersintervaller filtreret fra via v_TallyAlder[AldersInterval_5år], så kun personer i alderen 15-79 år vises. Ved mouse-over på Aldersfordeling vises enkelte medarbejderes [Alder] inden for hvert interval
Tabellen Hændelser 14 dg. frem viser en kronologisk oversigt over udvalgte personrelaterede hændelser i de kommende 14 dage; fx fødselsdage, jubilæer, orlov, tiltrædelse, fratrædelse m.m. (Tabellen, Hændelser 12 mdr. frem via bogmærket af samme navn, er identisk med førnævnte men med filteret, v_DimTidDato[OffsetDato]=[0;365].
I Informationstabel vises udvalgte medarbejderdata herunder ansættelsessted (L6/L4, afsnit/afdeling), tjenestenummer, stilling, alder, ansættelseslængde, anciennitet m.m. [Anciennitet] er hér ikke nødvendigvis lig [Ansættelseslængde]! Baseret på ansattes nuværende v_DimAnsættelse[Anciennitetsdato], kan denne dato ligge forud for ansættelse i Region H (ifm. tilskrivning af relevant anciennitet), eller den kan være ændret fx ifm. overflytning til anden overenskomst eller konvertering af deltidsenciennitet. Visse ansættelser med fastlåst anciennitetsforløb kan være uden anciennitetsdato. Measuret [Anciennitet] beregner, i antal hele år, differencen mellem v_DimAnsættelse[Anciennitetsdato] og dags dato. For fremtidige anciennitetsdatoer anvendes dags dato. [Ansat til] angiver en eventuel slutdato på medarbejders senest tildelte tjenestenummer, hvis en sådan findes. [Alder], [Ansættelseslængde] og [Årsværk] beregner, i kontekst af unikke personer (her i kontekst af kombinationen v_DimPerson[Navn] og v_DimAnsættelse[Tjnr]) pågældende persons alder og ansættelseslænge på dagen i hele antal år samt beskæftigelsesdecimal (årsværk) på pågældende ansættelse.
Alle visninger er baseret på beregningen, [AntalAnsatteNedslagsdatoer]. Denne er designet som et switch-measure til, i kontekst af valgt Ansættelsesform, at beregne enten [Antal medarbejdere], [Antal personer] eller [Antal årsværk].
I measuret er således defineret bereging og inklusionskriterier for summen af hver af populationerne; fuldtidsansatte, deltidsansatte, månedslønnede osv.
-- fra [AntalAnsatteNedslagsdatoer]
...
VAR __Ansaettelser =
CALCULATE (
[Antal medarbejdere],
'v_DimAnsættelse'[Start] <= __Dato, __Dato <= 'v_DimAnsættelse'[Slut],
'v_DimAnsættelse'[Ansat] = "J",
'v_DimAnsættelse'[EksterntFinansieret] <> __Filter_EksterntFinansierede
)
VAR __Maanedsloennede =
CALCULATE (
[Antal medarbejdere],
'v_DimAnsættelse'[Start] <= __Dato, __Dato <= 'v_DimAnsættelse'[Slut],
'v_DimAnsættelse'[Ansat] = "J",
'v_DimAnsættelse'[Månedslønnet] = "J",
'v_DimAnsættelse'[EksterntFinansieret] <> __Filter_EksterntFinansierede
)
VAR __Aarsvaerk =
CALCULATE (
[Antal årsværk],
'v_DimAnsættelse'[Start] <= __Dato, __Dato <= 'v_DimAnsættelse'[Slut],
'v_DimAnsættelse'[Ansat] = "J",
'v_DimAnsættelse'[Månedslønnet] = "J",
'v_DimAnsættelse'[EksterntFinansieret] <> __Filter_EksterntFinansierede
)
VAR __Fuldtidsansatte =
CALCULATE (
[Antal medarbejdere],
'v_DimAnsættelse'[Start] <= __Dato, __Dato <= 'v_DimAnsættelse'[Slut],
'v_DimAnsættelse'[Ansat] = "J",
'v_DimAnsættelse'[Månedslønnet] = "J",
'v_DimAnsættelse'[Fuldtid] = "J",
'v_DimAnsættelse'[EksterntFinansieret] <> __Filter_EksterntFinansierede
)
VAR __Deltidsansatte =
CALCULATE (
[Antal medarbejdere],
'v_DimAnsættelse'[Start] <= __Dato, __Dato <= 'v_DimAnsættelse'[Slut],
'v_DimAnsættelse'[Ansat] = "J",
'v_DimAnsættelse'[Månedslønnet] = "J",
'v_DimAnsættelse'[Fuldtid] = "N",
'v_DimAnsættelse'[EksterntFinansieret] <> __Filter_EksterntFinansierede
)
VAR __Timeloennede =
CALCULATE (
[Antal medarbejdere],
'v_DimAnsættelse'[Start] <= __Dato, __Dato <= 'v_DimAnsættelse'[Slut],
'v_DimAnsættelse'[Ansat] = "J",
'v_DimAnsættelse'[Månedslønnet] = "N",
'v_DimAnsættelse'[EksterntFinansieret] <> __Filter_EksterntFinansierede
)
VAR __Personer =
CALCULATE (
[Antal personer],
'v_DimAnsættelse'[Start] <= __Dato, __Dato <= 'v_DimAnsættelse'[Slut],
'v_DimAnsættelse'[EksterntFinansieret] <> __Filter_EksterntFinansierede
)
...
Measuret [AntalAnsatteNedslagsdatoer] er også designet til at indgå i en kontekst af tid.
-- fra [AntalAnsatteNedslagsdatoer]
...
VAR __Dato = MAX( v_DimTidDato[Dato] )
VAR __ValgtAnsaettelsesform =
SELECTEDVALUE ( v_TallyAnsaettelsesformer[Ansaettelsesform] )
...
I figurerne, der viser udvikling i […] fordelt på [..-grupper], filtreres direkte på figurerne med kriteriet v_DimTidDato[Nedslagsdatoer]={‘1. dag i året’, ‘I dag’}. Det er samme beregning, der foretages, men vist i hoved-, fagstillings- og organisationskontekster.
Til beregning af Udvikling i antal måndeslønnede fordelt på hovedstillingsgrupper vises desuden benchmarking mod tidligere nedslagsdatoer,
\[\frac{ antal_{\text{i dag}} - antal_{\text{nedslagsdato}} }{ antal_{\text{nedslagsdato}} } \cdot 100\%\]Dette er implementeret i [AendringIftBenchmark].
[AendringIftBenchmark] =
//Measure beregner den procentvise ændring mellem to nedslagsdatoer (d.d. og benchmark)
VAR __AntalIdag = [AntalAnsatteDagsDato]
VAR __AntalBenchmark = [AntalAnsatteBenchmark]
VAR Result =
IF ( __AntalIdag = 0 && __AntalBenchmark > 0,
-1,
DIVIDE ( __AntalIdag - __AntalBenchmark, __AntalBenchmark, 0 )
)
RETURN Result
Her er [AntalAnsatteBenchmark] og [AntalAnsatteDagsDato] opbygget som swith-measures på samme måde som [AntalAnsatteNedslagsdatoer]. Det er på denne måde muligt at gøre benchmarkdatoen dynamisk ift. brugerinput.
Til visning af månnedslønnede fordelt på [..-intervaller] anvendes tre measures til beregning i hhv. alders-, anciennitets- og ansættelseslængdeintervaller.
De tre measures er identiske i funktionen at aggregere og summere unikke individer ([AntalAnsatteNedslagsdatoer]) på intervaller defineret i tally-tabellerne:
Tally-tabeller dannes med dét specifikke formål at kunne gruppere data på en ønsket måde. Vi definerer i disse tabeller bucketsize, intervalgrænser og -antal mhp. fx at gøre læsbarheden af grafer bedre.
View | Opdateres | Baseret på |
---|---|---|
[chru_cube].[v_DimHændelser] | Dagligt | [DM_FL_HR].[DimHændelser] |
Udvalgte hændelser vedrørende en ansættelse. ID er primærnøgle. Ved en hændelse forstås en af følgende mærkedage: dato for fødsels- og jubilæumsdag, til- og fratrædelser, flytter mellem afdelinger, termin samt orlov. Tabellen er niveaudelt i L1 og L2, hvor L2 er en uddybende tekst knyttet til den overordnede hændelse, L1; fx om ’Flytter afdeling’ er et skift fra- eller til en afdeling. I kolonnen ’Note’ forklares, hvordan en hændelse er defineret—om den fx er direkte udledt vha. en dato, eller om der kigges på flere på hinanden følgende ansættelser og skift i statuskoder herimellem for at udlede, om en person går på eller kommer retur fra orlov.
View | Opdateres | Baseret på |
---|---|---|
[chru_cube].[v_FactHændelser] | Dagligt | [chru_cube].[v_DimAnsættelse] |
[chru_cube].[v_Dimperson] | ||
[chru_cube].[v_DimTidDato] | ||
[DM_FL_HR].[FactTerminsdato] |
View er baseret på v_DimAnsættelser og beriges af øvrige tabeller. ID er primærnøgle. Historiske og fremtidige hændelser—nærmere defineret i v_DimHændelser—beregnes 13 måneder frem i tid for hvert år en aktuel medarbejder er ansat. Er hændelsen en fødsels- eller jubilæumsdag, er under ’AntalÅr’ anført hhv. personens alder det pågældende år, eller jubilæumslængde hvis det er et 1-, 5-, 10-, 15 (osv.) års jubilæum. Endeligt filtreres på hændelser i intervallet \(\left[ -7\text{dage} ; 13\text{måneder} \right]\).
View er defineret i et længere script, der opsummeret udfører følgende step:
Beregn vha. kuben:
- Hvor mange måneds- og timelønnede er ansat i sektionen dags dato med statuskode 0, 1 eller 3?
- Hvor mange årsværk arbejdes i sektionen?
- Hvordan er denne fordelingen mellem sektioner og jobstillinger?
- Passer din udregning med hvad HR Lederdashboardet viser?
Se løsningsforslag.
View | Opdateres |
---|---|
[chru_cube].[v_TallyAlder] | Dagligt / efter behov |
Talrækken 0-124 genereres og døbes ’Alder’. Næste to kolonner beregner placering af denne i 5- og 10 års intervaller døbt ’AldersInterval_5år’ og ’AldersInterval_10år’. Filtreres på alder fra 0-99 år.
View | Opdateres |
---|---|
[chru_cube].[v_TallyAnciennitet] | Dagtligt / efter behov |
Identisk i opbygning og beregninger som v_TallyAnsættelseslængde.
View | Opdateres |
---|---|
[chru_cube].[v_TallyAnsættelseslængde] | Dagligt / efter behov |
Talrækken 0-124 genereres og døbes Ansættelseslængde’. Næste to kolonner beregner placering af denne i 5- og 10 års intervaller døbt ’AnsættelseslængdeInterval_5år’ og ’ AnsættelseslængdeInterval_10år’. Filtreres på ’ Ansættelseslængde’ fra 0-99 år. Til brug på fx figurakser, hvor kun et begrænset antal intervaller ønskes vist, beregnes kolonnen ’AnsættelseslængdeIntervalVisualisering’. Endeligt tilføjes ’AnsættelseslængdeIntervalVisualiseringSortering’ mhp. at kunne sortere forrige kolonne på dens ”numeriske” værdi i Power BI-visninger.
View | Opdateres |
---|---|
[chru_cube].[v_TallyAnsætelsesform] | Dagligt / efter behov |
[*] Ikke påbegyndt,
[†] Udarbejdes,
[§] Valideres