Een oud HR-rapport in Power BI verandert als het model alleen de stand van vandaag uit het HR-systeem haalt. Elke reorganisatie, functiewijziging of correctie met terugwerkende kracht schrijft dan ook het verleden in je rapport om. De oplossing is een eigen historie naast het HR-systeem, met elke maand een momentopname, zodat je per peildatum ziet wie in welke functie en op welke afdeling werkte.
Hieronder lees je waar het misgaat, in welke situaties het verleden verschuift en hoe je per HR-systeem een historie opbouwt die blijft staan.
Wat er gebeurt als je de stand van vandaag laadt
De meeste HR-systemen bewaren historie. Bij een gewone vraag geven ze toch de stand van nu. AFAS-sjablonen, SAP SuccessFactors en een rechtstreeks Workday-rapport doen dat standaard.
Laad je die stand in Power BI, dan rekent het rapport het verleden uit met de gegevens van vandaag. Een medewerker die in juni van Inkoop naar Logistiek ging, telt dan ook in januari mee bij Logistiek. De bezetting van vorig jaar maart klopt niet meer met wat je toen rapporteerde. Het rapport van vorige maand en dat van vandaag spreken elkaar tegen, en niemand kan uitleggen waarom.
Bij Workday komt er nog iets bij. Een rechtstreeks rapport draait bij elke verversing opnieuw. Het HR-systeem wordt dan steeds bevraagd, en de uitkomst hangt af van het moment waarop iemand op verversen drukt.
Drie situaties waarin het verleden verschuift
Een reorganisatie. Afdelingen worden samengevoegd, opgeknipt of hernoemd. Zonder momentopname van de oude indeling kun je de formatie van voor de reorganisatie niet meer laten zien. Vragen als "hoeveel mensen werkten er vorig jaar op deze afdeling" hebben dan geen antwoord meer.
Een wijziging met terugwerkende kracht. HR legt in april vast dat iemand per 1 februari een andere functie heeft. Workday kent per gegeven een ingangsdatum en een invoermoment. Wie alleen naar de ingangsdatum kijkt, ziet niet dat februari en maart achteraf zijn veranderd, en rekent die maanden niet opnieuw uit.
Een correctie. Oracle HCM kent naast een wijziging ook een correctie. Een correctie overschrijft het verleden zonder nieuwe regel. Er blijft dus geen spoor achter in de gegevens zelf. Een rapport van vorige maand en een rapport van vandaag geven dan een ander cijfer over dezelfde maand.
Historie opbouwen per HR-systeem
Een historie die blijft staan heeft twee delen: wat het HR-systeem zelf aan historie levert, en een maandelijkse momentopname die je buiten het HR-systeem vastlegt. Hoe je het eerste deel ophaalt, verschilt per systeem.
- SAP SuccessFactors geeft bij een gewone vraag alleen het tijdvak van vandaag. Je moet alle tijdvakken opvragen vanaf een vroege startdatum.
- Workday: ophalen op invoermoment, en daarna de maanden opnieuw uitrekenen die door een terugwerkende wijziging zijn veranderd.
- HiBob: de ingangsdatum van elke regel in de werkhistorie bepaalt per maand wie in welk team zat.
- BuddeeHR legt functie, afdeling en fte per periode vast, maar geeft standaard alleen de geldende afspraak. Haal je de eerdere periodes niet op, dan reken je de formatie van vorig jaar uit met de uren van nu.
- Nmbrs geeft functie en afdeling een startperiode en geen exacte datum. De functiehistorie volgt daar de salarisperioden.
De maandelijkse momentopname vangt op wat het systeem zelf niet bewaart, zoals de oude afdelingsindeling na een reorganisatie. Hoe ver je kunt terugkijken, hangt daarom af van twee dingen: hoeveel historie het HR-systeem levert, en sinds wanneer de momentopnames lopen.
Randgevallen die je cijfers stil scheeftrekken
Ook met een historie gaan een paar dingen makkelijk mis. Ze vallen pas op als iemand twee rapporten naast elkaar legt.
- Salarisresultaten uit Visma Raet YouForce. De Data API levert die alleen over het lopende en het vorige kalenderjaar. Bewaar je ze niet zelf per periode, dan verdwijnt na een jaarwisseling een deel van je meerjarenoverzicht.
- Wijzigingen ophalen bij SuccessFactors. Ophalen op de datum van laatste wijziging geeft soms een ander tijdvak dan je verwacht. Wekelijks volledig laden en dagelijks de recente wijzigingen voorkomt dat.
- Ziekte over een maandgrens. Een ziekteperiode van 20 maart tot 10 april hoort over beide maanden verdeeld te worden. Anders klopt het verzuimpercentage per maand niet.
- Correcties zichtbaar maken. Als een correctie in Oracle HCM een oude maand verandert, wil je dat in Power BI kunnen zien. Een markering bij de geraakte maand beantwoordt de vraag waarom een oud cijfer is bijgesteld.
Historie is ook de basis voor goede verloopcijfers. Wie vertrek en bezetting over maanden heen wil tellen, leest verder bij verloop en bezetting.
Hoe KoppelHet dit bouwt
KoppelHet haalt de gegevens één keer per dag op uit het HR-systeem, bouwt daaruit de historie op en legt elke maand een momentopname vast. Power BI krijgt een vast model om op te verversen. Het HR-systeem wordt zo niet bij elke verversing opnieuw bevraagd, en een wijziging met terugwerkende kracht komt in de juiste maand terecht. Maanden die door een correctie zijn veranderd, worden opnieuw uitgerekend en gemarkeerd.
We bouwen dat per organisatie, met dezelfde bouwstenen voor historie en momentopnames, en de ophaalregels die bij jullie HR-systeem horen. Voorbeelden zijn Workday naar Power BI, SAP SuccessFactors naar Power BI en AFAS naar Power BI.
Meer over het onderwerp lees je op historie per peildatum en op de pagina HR-data naar BI. Wil je weten wat er bij jullie systeem kan, kijk dan bij Workday, Oracle HCM of Power BI.