Uw Hire to Retire - Positiebeheer Data Template
Uw Hire to Retire - Positiebeheer Data Template
- Aanbevolen attributes om te verzamelen voor een grondige analyse
- Belangrijke procesactiviteiten om te traceren voor nauwkeurige procesontdekking
- Extractiehandleiding specifiek voor Microsoft Dynamics 365 Human Resources
Instroom-Doorstroom-Uitstroom - Positiebeheer Attributes
| Naam | Omschrijving | ||
|---|---|---|---|
| Activiteitsnaam ActivityName | De naam van de specifieke event of taak die heeft plaatsgevonden in het proces van positiebeheer. | ||
| Omschrijving Dit attribuut beschrijft een enkele stap in de levenscyclus van de positie, zoals 'Positieaanvraag geïnitieerd', 'Positie aangemaakt in HR-systeem', of 'Positie gedeactiveerd'. Het vormt de ruggengraat van de proceskaart, en toont de volgorde van events.\n\nHet analyseren van de Activity Name maakt de visualisatie van procesflows, identificatie van afwijkingen van het standaardproces en berekening van overgangstijden tussen verschillende stappen mogelijk. Het is fundamenteel voor het begrijpen van wat er is gebeurd en in welke volgorde. Het belang Het definieert de stappen van het proces, waardoor de visualisatie van proceskaarten en de analyse van processtromen en variaties mogelijk worden. Vindplaats Dit attribuut is afgeleid van bedrijfsevents, statuswijzigingen of workflow geschiedenis binnen Microsoft Dynamics 365 Human Resources. Het is geen enkel veld, maar wordt geconstrueerd op basis van de context van de data. Voorbeelden Positieaanvraag geïnitieerdPositieaanvraag goedgekeurd door managerPositie aangemaakt in HR-systeemPositie Attributes gewijzigdPositie gesloten | |||
| Functie ID PositionId | De unieke identificator voor een specifieke functiepositie binnen de organisatie. | ||
| Omschrijving Het Positie ID dient als de primaire case identifier, die alle activiteiten en data punten koppelt die verband houden met een enkele organisatorische positie. Dit maakt end-to-end tracking van de gehele levenscyclus van een positie mogelijk, van de creatie en wijzigingen tot de uiteindelijke deactivering of sluiting.\n\nIn procesanalyse is dit ID essentieel voor het reconstrueren van de reis van elke positie. Het maakt dashboards mogelijk die doorlooptijden monitoren, knelpunten in goedkeuringen identificeren en procesvarianten van aanvraag tot sluiting analyseren. Het belang Dit is de kernidentificator die alle gerelateerde events verbindt tot een enkele proces case, waardoor het mogelijk is om de end-to-end levenscyclus van de positie te analyseren. Vindplaats Dit is doorgaans het HcmPosition.PositionId veld in Microsoft Dynamics 365 Human Resources. Het is te vinden in data entiteiten zoals HcmPositionV2Entity. Voorbeelden POS001234MKT-0056FIN-SR-ANALYST-02HRBP-EAST-01IT-DEV-9876 | |||
| Tijdstip Gebeurtenis EventTime | De timestamp waarop de activiteit heeft plaatsgevonden. | ||
| Omschrijving De Event Time, of timestamp, registreert de exacte datum en tijd waarop een activiteit is voltooid. Het is kritiek voor het chronologisch ordenen van events en voor het berekenen van duraties en doorlooptijden.\n\nDit attribuut wordt gebruikt in bijna elke process mining analyse, van het bouwen van de proceskaart tot het berekenen van prestatie KPI's zoals 'Gemiddelde doorlooptijd goedkeuring posities'. Het helpt vast te stellen wanneer vertragingen optreden en hoe lang elke stap van het proces duurt. Het belang Deze timestamp is essentieel voor het ordenen van events, het berekenen van alle tijdgebaseerde metrics en het ontdekken van procesknelpunten. Vindplaats Deze informatie is doorgaans te vinden in systeemlogtabellen of als 'CreatedDateTime' of 'ModifiedDateTime' velden geassocieerd met positie- en workflow records in Dynamics 365 HR. Voorbeelden 2023-04-15T09:00:00Z2023-04-15T14:35:10Z2023-04-18T11:21:05Z2023-05-02T16:45:00Z2024-01-10T10:00:00Z | |||
| Afdeling DepartmentName | De afdeling waartoe de positie behoort. | ||
| Omschrijving Dit attribuut specificeert de organisatorische afdeling, zoals 'Financiën', 'Marketing', of 'IT', die aan de positie is gekoppeld. Het is een primaire dimensie voor het filteren en aggregeren van procesdata.\n\nAnalyseren per afdeling is essentieel voor het 'Afdelingspositiedoorvoer' dashboard. Het helpt procesprestaties vergelijken, afdelingsspecifieke knelpunten identificeren en wervingstrends begrijpen binnen verschillende bedrijfsonderdelen. Het belang Het maakt procesanalyse mogelijk om te segmenteren per business unit, wat helpt bij het identificeren van afdelingsspecifieke problemen en het vergelijken van performance. Vindplaats Deze informatie maakt deel uit van de positiedetails, doorgaans opgeslagen in de HcmPositionDetail entiteit en gekoppeld aan de bedrijfsunitdimensie. Voorbeelden FinanciënInformatietechnologieVerkoop en MarketingPersoneelszakenOperationele taken | |||
| Eindtijd EndTime | De `timestamp` die aangeeft wanneer de `activity` werd voltooid. | ||
| Omschrijving EndTime markeert de voltooiing van een activiteit. De tijd die verstrijkt tussen StartTime en EndTime is de verwerkingstijd voor die specifieke activiteit. Dit attribute is essentieel voor het berekenen van activiteitsduur en om te begrijpen waar tijd wordt besteed binnen het proces. Het helpt bijvoorbeeld te bepalen hoe lang een manager erover doet om een positieaanvraag goed te keuren nadat deze aan hem is toegewezen. Het belang Dit maakt het berekenen van de verwerkingstijd van activiteiten mogelijk, wat essentieel is voor een gedetailleerde prestatie- en bottleneckanalyse. Vindplaats Dit kan worden afgeleid uit volgende event timestamps of uit specifieke 'voltooiing'-velden in workflow logs binnen Dynamics 365 HR. Vaak moet het worden afgeleid. Voorbeelden 2023-04-15T09:05:12Z2023-04-15T15:00:00Z2023-04-19T09:00:00Z2023-05-03T10:00:00Z2024-01-10T10:05:00Z | |||
| Functietitel JobTitle | De functietitel die aan de positie is gekoppeld, zoals 'Senior Accountant'. | ||
| Omschrijving De Functietitel biedt belangrijke context over de rol en verantwoordelijkheden van de positie. Het verschilt van het Positie ID, aangezien meerdere posities dezelfde functietitel kunnen delen.\n\nIn analyse maakt dit attribuut groepering en filtering op roltype mogelijk. Het is nuttig voor het 'Trends in Positieherclassificatie' dashboard om te zien welke typen functies het vaakst worden geherclassificeerd. Het belang Het voegt cruciale business context toe, wat analyse mogelijk maakt op basis van functie, niveau of taak. Vindplaats Deze informatie is gekoppeld vanuit het 'Job' record dat geassocieerd is met de Positie. Zoek ernaar in entiteiten zoals HcmPositionV2Entity of door te koppelen aan HcmJobEntity. Voorbeelden Senior financieel analistSoftware Engineer IIHR Business PartnerMarketingcoördinatorLogistiek Manager | |||
| Gebruikersnaam UserName | De naam of `ID` van de `user` die de `activity` uitvoerde. | ||
| Omschrijving Dit attribuut identificeert de medewerker of systeemgebruiker die verantwoordelijk is voor een gegeven processtap, zoals de manager die een aanvraag goedkeurde of de HR-specialist die de positie in het systeem creëerde.\n\nAnalyseren per gebruiker helpt trainingsbehoeften te identificeren, prestaties te vergelijken tussen teamleden en de werkverdeling te begrijpen. Het is ook essentieel voor compliancecontroles om de juiste scheiding van taken te waarborgen. Het belang Het biedt verantwoording en maakt performance-analyse per individu of team mogelijk, wat cruciaal is voor resource management en training. Vindplaats Gekoppeld aan workflowgeschiedenis- of audit trail records in Dynamics 365 HR. Dit kan gekoppeld worden via een User ID uit de HcmWorker entiteit. Voorbeelden John SmithJane DoeSYSTEEMHRAdmin01MGR-FINANCE | |||
| Kostenplaats CostCenter | De financiële kostenplaats waaraan de kosten van de positie zijn toegewezen. | ||
| Omschrijving De Kostenplaats is een belangrijke financiële dimensie die een positie koppelt aan een specifiek budget of een gebied van financiële verantwoordelijkheid. Wijzigingen in dit attribuut zijn belangrijk om te monitoren.\n\nDit attribuut is kritiek voor het 'Positie Data Consistentie Check' dashboard, dat wijzigingen in kern attributes na creatie analyseert. Het wordt ook gebruikt om positie-gerelateerde kosten en budgetten te analyseren per verschillende financiële eenheden. Het belang Het verbindt de positie met financiële data, wat kosten-gerelateerde procesanalyse en het monitoren van data consistentie mogelijk maakt. Vindplaats Dit is doorgaans geconfigureerd als een financiële dimensie op het positierecord. Raadpleeg de setup van financiële dimensies in Dynamics 365. Voorbeelden CC-1001-FINCC-2500-ITCC-4510-SALESCC-7000-OPSCC-9002-HR | |||
| Positiestatus PositionStatus | De huidige of historische status van de positie. | ||
| Omschrijving Dit attribuut geeft de status van de positie aan op een bepaald tijdstip, zoals 'Voorgesteld', 'Actief', 'Bevroren', of 'Gesloten'. Statuswijzigingen komen vaak overeen met activiteiten in het proces.\n\nHet volgen van de status is cruciaal voor het begrijpen van de positie's reis en voor dashboards zoals 'Positie Compliance Review Status' en 'Verouderde en Onderbenutte Posities'. Het biedt een momentopname van de huidige status van de positie en helpt de procesflow te valideren. Het belang Het biedt een duidelijke status voor elke positie, wat essentieel is voor het filteren van cases en het begrijpen van uitkomsten. Vindplaats Raadpleeg de documentatie van Microsoft Dynamics 365 Human Resources. Dit is waarschijnlijk afgeleid van statusvelden op de hoofdpositie-record. Voorbeelden VoorgesteldIn beoordelingActiefBevrorenGesloten | |||
| Aanvragende manager RequestingManager | De manager die de aanvraag voor de positie heeft geïnitieerd. | ||
| Omschrijving Dit attribuut identificeert de aanstellende manager of afdelingshoofd die het proces startte door een nieuwe of vervangende positie aan te vragen. Deze informatie biedt context over waar de vraag naar posities vandaan komt.\n\nAnalyseren per Aanvragende Manager kan helpen patronen te identificeren in aanvraagvolume, goedkeuringspercentages en aanvraagkwaliteit. Het biedt een extra detailniveau voor het begrijpen van de werkdruk en procesnaleving. Het belang Het helpt de oorsprong van positievraag te traceren en procesmetrics te analyseren vanuit het perspectief van de hiring manager. Vindplaats Raadpleeg de documentatie van Microsoft Dynamics 365 Human Resources. Deze informatie zou waarschijnlijk worden vastgelegd in de data voor workflow-initiatie. Voorbeelden Robert JonesSusan MillerDavid ChenMaria GarciaPaul Williams | |||
| Bewerkingstijd ProcessingTime | De tijdsduur die actief aan een activiteit is besteed. | ||
| Omschrijving Verwerkingstijd is de duur berekend tussen de StartTime en EndTime van een activiteit. Het vertegenwoordigt de daadwerkelijk aan een taak bestede tijd, exclusief wachttijd.\n\nDeze metric is fundamenteel voor prestatieanalyse en wordt gebruikt in dashboards zoals de 'Monitor Knelpunten Positiecreatie'. Door de verwerkingstijden van alle activiteiten op te tellen, krijgt men inzicht in de totale touch time voor de levenscyclus van een positie, wat een belangrijke component is van efficiëntieanalyse. Het belang Het meet de werkelijke werkduur van activiteiten, wat helpt om actieve werktijd te onderscheiden van inactieve wachttijd in bottleneck-analyse. Vindplaats Dit wordt berekend tijdens datatransformatie door de Voorbeelden PT5M12SPT1H30MP2DT4H15MP0DPT8H | |||
| Bronsysteem SourceSystem | Het systeem waaruit de data is geëxtraheerd. | ||
| Omschrijving Dit attribuut identificeert de oorsprong van de procesdata. Voor deze weergave zou dit doorgaans 'Microsoft Dynamics 365 Human Resources' zijn.\n\nIn omgevingen met meerdere systemen is dit veld cruciaal voor datalineage en troubleshooting. Het helpt bevestigen dat de data afkomstig is van de verwachte bron en kan worden gebruikt om analyses te filteren voor specifieke systemen. Het belang Het biedt context over de data-oorsprong, wat belangrijk is voor data governance en voor analyses die meerdere enterprise systemen omvatten. Vindplaats Dit is een statische waarde die tijdens het data-extractie- en transformatieproces wordt toegevoegd om de oorsprong van de dataset te labelen. Voorbeelden Microsoft Dynamics 365 Human ResourcesD365 HRDynamicsHR | |||
| Doorlooptijd goedkeuringscyclus ApprovalCycleTime | De totale tijd vanaf het moment dat een positieaanvraag wordt geïnitieerd totdat deze definitief wordt goedgekeurd. | ||
| Omschrijving Deze berekende metric meet de duur van de activiteit 'Positieaanvraag geïnitieerd' tot de uiteindelijke goedkeuringsactiviteit, wat 'Positieaanvraag goedgekeurd door HR' zou kunnen zijn. Het is een belangrijke prestatie-indicator voor de front-end van het positiebeheerproces.\n\nDit attribuut vult direct het 'Doorlooptijd goedkeuring posities' dashboard en de KPI. Het biedt een hoog-niveau maatstaf voor de efficiëntie van het goedkeuringsproces en helpt de impact van verbeterinitiatieven in de loop van de tijd te volgen. Het belang Het is een kritische KPI die de efficiëntie van het gehele goedkeuringsproces meet, waarbij vertragingen bij het gereedmaken van posities voor creatie direct worden benadrukt. Vindplaats Dit wordt berekend op case-niveau door de timestamps voor de start- en eindactiviteiten van de goedkeuringsfase te vinden en het verschil te berekenen. Voorbeelden P3DT2H15M`P10D`P1DT12HP5DT6HP2W | |||
| Is Budget Goedgekeurd IsBudgetApproved | Een vlag die aangeeft of het budget voor de positie is goedgekeurd. | ||
| Omschrijving Dit booleaanse attribuut is 'waar' als de activiteit 'Positiebudget goedgekeurd' heeft plaatsgevonden voor een gegeven positie case. Het helpt bij het analyseren van de procesflow en het identificeren van posities die vastzitten in afwachting van budget.\n\nDit attribuut kan worden gebruikt om processen te filteren en de KPI 'Doorlooptijd goedkeuring positiebudget' effectiever te analyseren. Het helpt posities te onderscheiden die de budgethorde hebben genomen van die welke dat niet hebben, wat nuttig is voor knelpuntanalyse. Het belang Het vereenvoudigt de analyse door een duidelijke vlag te bieden voor een kritische mijlpaal, wat helpt om de budgetgoedkeuringsfase te isoleren en te meten. Vindplaats Dit wordt afgeleid tijdens datatransformatie door te controleren op het bestaan van de activiteit 'Positiebudget goedgekeurd' binnen de case geschiedenis. Voorbeelden truefalse | |||
| Is herstelwerk IsRework | Een vlag die aangeeft of een activiteit deel uitmaakt van een herwerkloop. | ||
| Omschrijving Deze booleaanse vlag is ingesteld op 'waar' als een activiteit een stap vertegenwoordigt die wordt herhaald in het proces, zoals een hergoedkeuring nadat attributes waren gewijzigd. Het helpt om inefficiënte procesloops te kwantificeren.\n\nDit attribuut ondersteunt direct het 'Positie Herwerk Analyse' dashboard en de KPI 'Herwerkpercentage bij Positiecreatie'. Door herwerk te markeren, kunnen analisten eenvoudig filteren op en de frequentie en impact van procesinefficiënties meten. Het belang Het identificeert en kwantificeert expliciet procesherwerk, wat een primair doel is voor procesverbeteringsinitiatieven. Vindplaats Dit wordt berekend op basis van de volgorde van activiteiten voor een case. Als bijvoorbeeld 'Positieaanvraag goedgekeurd door manager' plaatsvindt na 'Positie Attributes gewijzigd', kan dit worden gemarkeerd als herwerk. Voorbeelden truefalse | |||
| Job Family JobFamily | Een groepering van functies met vergelijkbare taken, zoals 'Engineering' of 'Finance'. | ||
| Omschrijving Job Family is een classificatie die gerelateerde functietitels groepeert. Zo kunnen bijvoorbeeld 'Software Engineer' en 'QA Engineer' beide onder de 'Engineering' job family vallen. Dit attribute is essentieel voor het 'Positieherclassificatie Trends' dashboard, omdat het een analyse op hoger niveau mogelijk maakt van welke job categorieën het meest frequent veranderen. Het biedt een breder beeld dan het bekijken van individuele functietitels. Het belang Het maakt bredere, categorie-gebaseerde analyse van posities mogelijk, wat nuttig is voor strategische personeelsplanning en trendanalyse. Vindplaats Dit maakt deel uit van de job setup in Dynamics 365 HR. Zoek naar velden gerelateerd aan 'Rolfamilie' of 'Functie' op de HcmJobEntity. Voorbeelden EngineeringFinanciën & BoekhoudingVerkoopPersoneelszakenProduct Management | |||
| Laatste data-update LastDataUpdate | De timestamp van de meest recente gegevensverversing uit het bronsysteem. | ||
| Omschrijving Dit attribuut geeft aan wanneer de data voor het laatst is geëxtraheerd uit Microsoft Dynamics 365 Human Resources. Het biedt context voor de actualiteit van de analyse.\n\nHet weergeven van deze informatie in dashboards verzekert gebruikers ervan dat zij actuele informatie bekijken. Het is een belangrijke metadata voor elk process mining project. Het belang Het informeert gebruikers over de actualiteit van de data, wat cruciaal is voor het nemen van beslissingen op basis van de analyse. Vindplaats Deze timestamp wordt gegenereerd en opgeslagen tijdens het data-extractie, -transformatie en -laad (ETL) proces. Voorbeelden 2024-05-21T02:00:00Z2024-05-20T02:00:00Z2024-05-19T02:00:00Z | |||
| Locatie Location | De fysieke of geografische locatie van de positie. | ||
| Omschrijving Dit attribuut specificeert waar de positie is gebaseerd, wat een kantoor, stad of land kan zijn. Het is een andere belangrijke dimensie voor het filteren en segmenteren van de procesdata.\n\nLocatie wordt direct gebruikt in het 'Afdelingspositiedoorvoer' dashboard om personeelstrends en procesprestaties in verschillende regio's te analyseren. Het kan helpen identificeren of processen voor positiecreatie of -goedkeuring trager zijn op bepaalde locaties. Het belang Het biedt geografische context, waardoor analyse van procesperformance en trends over verschillende locaties mogelijk is. Vindplaats Raadpleeg de documentatie van Microsoft Dynamics 365 Human Resources. Dit kan deel uitmaken van de positiedetails of gekoppeld zijn via de afdeling of rechtspersoon. Voorbeelden New York, VSLonden, VKBerlin, GermanySingaporeOp afstand | |||
| Positietype PositionType | Classificeert de positie als fulltime, parttime, tijdelijk, etc. | ||
| Omschrijving Dit attribuut categoriseert de positie op basis van de arbeidsvoorwaarden. Dit biedt aanvullende context voor personeelsanalyse en -planning.\n\nIn procesanalyse kan filteren op positietype onthullen of bepaalde typen posities verschillende procespaden of langere doorlooptijden hebben. Tijdelijke posities hebben bijvoorbeeld mogelijk een sneller, gestroomlijnd goedkeuringsproces vergeleken met vaste, fulltime posities. Het belang Het maakt analyse mogelijk van hoe het proces verschilt voor diverse dienstverbandtypen, wat helpt bij personeelsplanning en procesoptimalisatie. Vindplaats Deze informatie is doorgaans beschikbaar op het positierecord in Dynamics 365 HR. Controleer entiteiten zoals HcmPositionV2Entity voor een relevant veld. Voorbeelden Voltijd`Deeltijd`ContractorStagiairTijdelijk | |||
| Reden van afwijzing RejectionReason | De reden die wordt opgegeven wanneer een positieaanvraag wordt afgewezen. | ||
| Omschrijving Wanneer een positieaanvraag wordt afgewezen door een manager of HR, wordt vaak een reden geregistreerd. Dit kan te wijten zijn aan budgetbeperkingen, incorrecte informatie of een strategiewijziging.\n\nDit attribuut is kritiek voor het berekenen van de KPI 'Afwijzingspercentage positieaanvragen' en te begrijpen waarom herwerk plaatsvindt. Het analyseren van de meest voorkomende afwijzingsredenen helpt stroomopwaartse problemen te identificeren, zoals slechte aanvraagkwaliteit of onduidelijke richtlijnen, die kunnen worden aangepakt om het proces te verbeteren. Het belang Het biedt direct inzicht in waarom aanvragen mislukken, waardoor gerichte procesverbeteringen mogelijk zijn om herwerk en afwijzingspercentages te verminderen. Vindplaats Raadpleeg de documentatie van Microsoft Dynamics 365 Human Resources. Dit wordt vaak vastgelegd in workflow-opmerkingen of een specifiek redenveld bij afwijzing. Voorbeelden Budget niet beschikbaarDubbele AanvraagOnjuist FunctieprofielAanname stopStrategische Heroriëntatie | |||
Instroom-Doorstroom-Uitstroom - Positiebeheer Activiteiten
| Activiteit | Omschrijving | ||
|---|---|---|---|
| Positie aangemaakt in HR-systeem | Deze event markeert de officiële creatie van het positierecord binnen Dynamics 365 HR. Het wordt vastgelegd vanaf de creation timestamp van het primaire positierecord zelf. | ||
| Het belang Een fundamentele mijlpaal die de overgang van aanvraag naar een daadwerkelijke organisatorische entiteit markeert. Dit is het eindpunt voor de KPI 'Doorlooptijd Positiecreatie'. Vindplaats Vanuit het systeemveld 'CreatedDateTime' in de hoofdpositietabel, zoals HcmPosition. Vastleggen Geëxtraheerd uit het systeemveld CreatedDateTime in de HcmPosition tabel. Gebeurtenistype explicit | |||
| Positie geactiveerd | Markeert het punt waarop een positie officieel open is en werving kan beginnen. Dit event wordt afgeleid uit een statusveld op de positie record dat verandert naar 'Active' of een vergelijkbare status. | ||
| Het belang Dit is een kritieke mijlpaal voor het meten van personeelsgereedheid en de efficiëntie van de laatste setup-fasen. Het is essentieel voor de KPI Gemiddelde Tijd tot Positieactivering. Vindplaats Afgeleid door de timestamp bij te houden wanneer het statusveld, zoals 'PositionStatus', op de positie record wordt bijgewerkt naar 'Active' of 'Open'. Vastleggen Gebaseerd op de datum dat het 'ActivationDate' veld van de positie is ingevuld of een statusveld verandert naar 'Active'. Gebeurtenistype inferred | |||
| Positie gedeactiveerd | De positie is niet langer actief en wordt verwijderd uit de actieve organisatiestructuur, vaak nadat deze is gevuld. Dit wordt afgeleid uit een statuswijziging naar 'Inactief' of een vergelijkbare status. | ||
| Het belang Markeert een belangrijke stap aan het einde van de actieve levensduur van de positie. Het is cruciaal voor het analyseren van de Gemiddelde Tijd tot Positiedeactivering en het nauwkeurig beheren van de personeelsbezetting. Vindplaats Afgeleid van de timestamp wanneer het veld 'RetirementDate' is ingevuld of een statusveld op de positie record verandert naar 'Inactive'. Vastleggen Gebaseerd op de datum dat het 'RetirementDate' veld van de positie is ingesteld of een statusveld verandert naar 'Inactive'. Gebeurtenistype inferred | |||
| Positie gesloten | Vertegenwoordigt de uiteindelijke archivering van het positierecord, wat het absolute einde van zijn levenscyclus markeert. Deze event wordt afgeleid uit een statuswijziging naar 'Gesloten' of een vergelijkbare eindstatus. | ||
| Het belang Dit is de terminal event voor het proces, wat een complete end-to-end levenscyclusanalyse mogelijk maakt en helpt bij het identificeren van verouderde posities die moeten worden gesloten. Vindplaats Afgeleid uit een wijziging in een statusveld naar 'Gesloten' op de positie record. Dit is minder gebruikelijk dan deactivering, aangezien records vaak worden bewaard voor de geschiedenis. Vastleggen Afgeleid van de timestamp wanneer een statusveld wordt bijgewerkt naar 'Gesloten'. Gebeurtenistype inferred | |||
| Positieaanvraag geïnitieerd | Markeert de formele start van de levenscyclus van positiebeheer. Dit event wordt doorgaans vastgelegd wanneer een gebruiker een nieuwe positieaanvraag indient via een speciaal formulier of workflow in Dynamics 365 HR. | ||
| Het belang Dit is het startpunt voor het meten van de gehele positielevenscyclus, inclusief cruciale KPI's zoals doorlooptijd goedkeuring posities en lead time positiecreatie. Vindplaats Vastgelegd vanuit de aanmaak timestamp van een positieaanvraagrecord of het initiatierecord in de workflowgeschiedenis tabel, zoals WorkflowTrackingStatusTable. Vastleggen Event wordt vastgelegd bij het indienen van een nieuwe workflow voor positieaanvragen. Gebeurtenistype explicit | |||
| Positieaanvraag goedgekeurd door HR | Betekent de uiteindelijke goedkeuring van de afdeling Human Resources voordat de positie formeel kan worden gecreëerd. Dit is een expliciete event die wordt vastgelegd na voltooiing van de HR-goedkeuringstaak in het workflow-systeem. | ||
| Het belang Dit markeert het einde van de goedkeuringsfase en is een kritieke mijlpaal voor het meten van de algehele Gemiddelde doorlooptijd goedkeuring posities. Vindplaats Vastgelegd in de workflowgeschiedenis tabellen, zoals WorkflowTrackingTable, wanneer de HR-vertegenwoordiger hun goedkeuringstaak voltooit. Vastleggen Event wordt vastgelegd in de workflowgeschiedenis met een timestamp bij voltooiing van de HR-goedkeuringsstap. Gebeurtenistype explicit | |||
| Positie Attributes gewijzigd | Vertegenwoordigt elke wijziging aan kern attributes van een positie, zoals titel of afdeling, na de initiële creatie. Deze activiteit wordt doorgaans afgeleid door wijzigingen in het databaselogboek van het systeem te volgen. | ||
| Het belang Een hoge frequentie van deze activiteit kan duiden op slechte data kwaliteit of procesherwerk. Dit is essentieel voor de KPI's 'Frequentie Positieattribute Wijzigingen' en 'Herwerkpercentage'. Vindplaats Afgeleid uit de SysDatabaseLog tabel als 'change tracking' is ingeschakeld voor de positietafel. Alternatief vereist het vergelijken van historische snapshots van de positiedata. Vastleggen Afgeleid door het detecteren van update-operaties op belangrijke velden van de HcmPosition tabel via de database log. Gebeurtenistype inferred | |||
| Positie bevroren | Geeft aan dat een positie tijdelijk in de wacht is gezet, waardoor wervingsactiviteiten worden voorkomen. Dit wordt vastgelegd door een statuswijziging op de positie record af te leiden naar een 'Frozen' of 'On Hold' status. | ||
| Het belang Volgt onderbrekingen in de levenscyclus van posities, wat van invloed kan zijn op personeelsplanning en budgetten. Het helpt redenen voor wervingsvertragingen te identificeren. Vindplaats Afgeleid door de timestamp bij te houden wanneer een statusveld op de positie record wordt bijgewerkt naar 'Frozen' of een vergelijkbare waarde. Vastleggen Afgeleid van de timestamp van een statuswijziging naar 'Frozen' of 'On Hold'. Gebeurtenistype inferred | |||
| Positie gecontroleerd op compliance | Geeft aan dat een positie een formele compliance check heeft ondergaan. Dit kan worden vastgelegd door een statuswijziging, een voltooide checklisttaak of een aangepast veld dat wordt bijgewerkt. | ||
| Het belang Cruciaal voor het monitoren van de naleving van regelgevende en interne beleidsregels. Deze activiteit ondersteunt direct de KPI 'Nalevingsgraad Positiecompliance'. Vindplaats Waarschijnlijk afgeleid van een timestamped statusveld zoals 'ComplianceReviewStatus' of een booleaans veld 'IsComplianceReviewed' op de positie record. Vastleggen Afgeleid van de timestamp wanneer een compliance statusveld wordt bijgewerkt naar 'Completed' of 'Reviewed'. Gebeurtenistype inferred | |||
| Positie geherclassificeerd | Een belangrijke update waarbij de fundamentele classificatie van de positie, zoals de job family of het niveau, wordt gewijzigd. Dit wordt doorgaans afgeleid uit een wijziging in het veld 'Job' op de positie record. | ||
| Het belang Helpt bij het analyseren van veranderingen in de organisatiestructuur en de stabiliteit van functieomschrijvingen. Het is de belangrijkste activiteit voor de KPI 'Positieherclassificatiepercentage'. Vindplaats Afgeleid uit een wijziging in het veld 'JobId' in de HcmPosition tabel, vastgelegd via de database log of door recordversies over tijd te vergelijken. Vastleggen Afgeleid van een vastgelegde wijziging in het functieclassificatieveld op de positie record. Gebeurtenistype inferred | |||
| Positieaanvraag afgewezen | Geeft aan dat een positieaanvraag is geweigerd in een van de goedkeuringsfasen. Dit event wordt expliciet vastgelegd in de workflowgeschiedenis wanneer een goedkeurder de actie 'Reject' selecteert. | ||
| Het belang Benadrukt procesfouten en herwerk loops. Het analyseren van afwijsredenen helpt de kwaliteit van initiële aanvragen te verbeteren en ondersteunt de KPI 'Afwijzingspercentage Positieaanvragen'. Vindplaats Geregistreerd als een 'Afwijzing'-status in de workflow geschiedenistabellen, zoals WorkflowTrackingStatusTable, voor de specifieke positieaanvraag. Vastleggen Vastgelegd vanuit de workflow log wanneer een goedkeurder de afwijsactie uitvoert. Gebeurtenistype explicit | |||
| Positieaanvraag goedgekeurd door manager | Vertegenwoordigt de voltooiing van de eerste goedkeuringslijn door de aanstellende manager. Deze event wordt expliciet vastgelegd in de workflow geschiedenis wanneer de manager zijn/haar toegewezen goedkeuringstaak voltooit. | ||
| Het belang Bepaalt de duur van de initiële goedkeuringsstap, wat helpt bij het identificeren van knelpunten bij specifieke managers of afdelingen. Vindplaats Vastgelegd als een voltooide stap in de workflowgeschiedenis tabellen, zoals WorkflowTrackingTable, geassocieerd met de positieaanvraag. Vastleggen Vastgelegd vanuit de voltooiing timestamp van de goedkeuringsstap van de manager in de workflow log. Gebeurtenistype explicit | |||
| Positiebudget goedgekeurd | Een belangrijke goedkeuringsmijlpaal die bevestigt dat de benodigde middelen zijn toegewezen voor de nieuwe positie. Dit wordt doorgaans vastgelegd als een afzonderlijke goedkeuringsstap binnen de workflow voor het creëren van posities. | ||
| Het belang Isoleert de financiële goedkeuringsfase, waardoor analyse van vertragingen met betrekking tot budgettoewijzing mogelijk is en de KPI 'Doorlooptijd Budgetgoedkeuring Positie' wordt ondersteund. Vindplaats Geregistreerd in de workflow geschiedenistabellen, zoals WorkflowTrackingTable, als een voltooide goedkeuringstaak, vaak toegewezen aan een financiële rol. Vastleggen Vastgelegd vanuit de voltooiing timestamp van de budgetgoedkeuringstaak in de workflow log. Gebeurtenistype explicit | |||
| Wervingsproces Gestart | Betekent de overdracht van positiebeheer naar werving. Deze event wordt afgeleid wanneer een nieuwe vacature of wervingsproject wordt gecreëerd en gekoppeld aan dit specifieke positie ID. | ||
| Het belang Koppelt het positiebeheerproces aan het resultaat, waardoor analyse mogelijk is van de tijd tussen positieactivering en de start van daadwerkelijke wervingsactiviteiten. Vindplaats Afgeleid door de aanmaakdatum van een record in de wervings- of vacaturetabellen, zoals HcmRecruitingRequest, te identificeren die verwijst naar de Positie-ID. Vastleggen Afgeleid door de Positie-ID te koppelen aan de aanmaak van een corresponderend record in de wervingsmodule. Gebeurtenistype inferred | |||
Extractie Guides
Stappen
- Navigeer naar de Data Management Workspace: Log in bij Microsoft Dynamics 365 Human Resources. Gebruik de hoofdzoekbalk om naar de 'Data management' workspace te navigeren.
- Maak een Nieuw Exportproject aan: Selecteer binnen de workspace de tegel 'Export'. Klik op de pagina 'Export' project op 'New' om een nieuw project aan te maken. Geef een beschrijvende naam op, zoals 'PositionManagement_EventLog_Export', en selecteer een dataformaat. Voor transformatiedoeleinden wordt 'CSV' aanbevolen.
- Voeg Data-entiteiten toe aan het Project: Klik in uw nieuwe project op 'Add entity'. U moet verschillende entiteiten toevoegen om de volledige positielevenscyclus vast te leggen. Voeg de volgende belangrijke entiteiten één voor één toe: 'HcmPositionV2', 'WorkflowTrackingStatusTable' en 'HcmRecruitingRequest'. Als database logging is ingeschakeld voor positiewijzigingen, voeg dan ook 'SysDatabaseLog' toe.
- Configureer Entiteitsfilters: Voor elke entiteit is het cruciaal om filters toe te passen om de data-scope te beperken. Selecteer een entiteit en klik vervolgens op 'Filter'. Voor 'HcmPositionV2' filtert u op een specifiek datumbereik met behulp van de velden 'CreatedDateTime' of 'ModifiedDateTime'. Voor 'WorkflowTrackingStatusTable' filtert u de 'CONTEXTTABLENAME' om alleen positie-gerelateerde workflows op te nemen.
- Selecteer Velden voor Elke Entiteit: Zorg ervoor dat u alle benodigde velden exporteert voor latere transformatie. Voor 'HcmPositionV2' neemt u 'PositionId', 'CreatedDateTime', 'ActivationDate', 'RetirementDate', 'ModifiedDateTime', 'JobId' en 'DepartmentNumber' op. Voor 'WorkflowTrackingStatusTable' neemt u 'ContextRecId', 'WorkflowTrackingStatus', 'CreatedDateTime' en 'UserId' op.
- Voer de Exporttaak uit: Zodra alle entiteiten, velden en filters zijn geconfigureerd, klikt u op 'Export' op de hoofdprojectpagina. Het systeem zal een data package creëren dat afzonderlijke bestanden voor elke entiteit bevat.
- Monitor en Download het Data Package: U kunt de voortgang van de taak volgen in de sectie 'Job history'. Zodra de taak succesvol is voltooid, downloadt u het data package, dit is een gecomprimeerd bestand.
- Extraheer en Transformeer de Data: Pak het gedownloade pakket uit. U vindt afzonderlijke CSV-bestanden voor elke entiteit. Deze bestanden vertegenwoordigen ruwe data, niet de uiteindelijke event log. U moet een extern script (bijv. met Python met pandas of PowerShell) gebruiken om deze bestanden te verwerken.
- Implementeer Transformatielogica: Uw script moet de volgende acties uitvoeren:
- Laad het 'HcmPositionV2.csv' bestand. Genereer uit dit bestand de 'Position Created In HR System' event met behulp van 'PositionId' en 'CreatedDateTime'.
- Genereer statuswijziging events ('Position Activated', 'Position Frozen', 'Position Deactivated', 'Position Closed') door statusvelden of datumvelden zoals 'ActivationDate' en 'RetirementDate' te interpreteren vanuit 'HcmPositionV2.csv'.
- Laad het 'WorkflowTrackingStatusTable.csv' bestand. Voeg deze data samen met de positiedata met behulp van de record-ID. Genereer hieruit de workflow events: 'Position Request Initiated', 'Position Request Approved By Manager', 'Position Budget Approved', 'Position Request Approved By HR' en 'Position Request Rejected'. U moet de workflowstatus en stapcontext koppelen aan de juiste Activity Name.
- Als u 'SysDatabaseLog.csv' heeft geëxporteerd, parseer dit bestand dan om 'Position Attributes Modified' en 'Position Reclassified' events te genereren op basis van wijzigingen aan specifieke velden in de HcmPosition tabel.
- Laad het 'HcmRecruitingRequest.csv' om de 'Hiring Process Started' event te genereren door te vinden wanneer een wervingsaanvraag voor een bepaalde positie is aangemaakt.
- Stel de Uiteindelijke Event Log samen: Het script moet alle gegenereerde events uit de verschillende bronnen combineren in één CSV-bestand. Dit bestand moet de vereiste kolommen bevatten: 'PositionId', 'ActivityName' en 'EventTime', samen met eventuele aanbevolen attributes die u heeft kunnen koppelen.
- Formatteer voor Upload: Zorg ervoor dat het uiteindelijke CSV-bestand headers heeft die overeenkomen met de vereiste attributen en dat de 'EventTime' kolom in een consistent timestamp formaat is. Het bestand is nu klaar voor upload naar de process mining tool.
Configuratie
- Essentiële Data-entiteiten: De belangrijkste entiteiten die nodig zijn voor deze extractie zijn:
HcmPositionV2: Bevat kerndetails over elke positie, inclusief aanmaakdata, activeringsdata en attributes zoals functie en afdeling.WorkflowTrackingStatusTable: Biedt de geschiedenis van workflow-instanties, inclusief indieningen, goedkeuringen en afwijzingen. Dit is essentieel voor het volgen van het goedkeuringsproces.HcmRecruitingRequest: Wordt gebruikt om de activiteit 'Hiring Process Started' af te leiden wanneer een wervingsaanvraag is gekoppeld aan een positie.SysDatabaseLog: Een optionele, maar krachtige entiteit voor het vastleggen van gedetailleerde wijzigingen zoals 'Position Attributes Modified' en 'Position Reclassified'. Het gebruik ervan hangt af van vooraf geconfigureerde database logging voor de HcmPosition tabel.
- Datumfilter: Het wordt sterk aanbevolen om een datumfilter toe te passen op de 'HcmPositionV2' entiteit, gebaseerd op het veld 'CreatedDateTime'. Een bereik van 6 tot 12 maanden is vaak een goed startpunt om een beheersbaar data volume te garanderen.
- Incrementele Exports: Voor doorlopende analyse kunt u overwegen het exportproject te configureren voor incrementele exports. Dit zal alleen records extraheren die sinds de laatste run zijn gewijzigd, wat de verwerkingstijd aanzienlijk verkort.
- Vereisten: De gebruiker die de export uitvoert, moet een security role hebben met voldoende rechten om toegang te krijgen tot de 'Data management' workspace en leesrechten voor alle gespecificeerde data-entiteiten. Rollen zoals 'Data management administrator' of een custom role met specifieke entiteitsrechten zijn doorgaans vereist.
a Voorbeeldquery config
/*
This extraction uses the Dynamics 365 Data Management Framework. The 'query' is defined by configuring an export project via the user interface, not by running a script directly against the database.
A post-processing script is required to transform the output of this configuration into a final event log.
*/
-- Data Export Project Configuration --
Project Name: PositionManagement_EventLog_Export
Data Format: CSV
-- Entity 1: Positions --
Source Entity: HcmPositionV2
Fields to Export:
- PositionId
- CreatedDateTime (Used for 'Position Created In HR System' event)
- ActivationDate (Used for 'Position Activated' event)
- RetirementDate (Used for 'Position Deactivated' / 'Position Closed' event)
- ModifiedDateTime (Can be used for 'Position Attributes Modified' if SysDatabaseLog is not available)
- JobId (Used for 'Position Reclassified' event and 'JobTitle' attribute)
- DepartmentNumber (Used for 'DepartmentName' attribute)
- [Other fields for attributes like CostCenter, PositionStatus]
-- Entity 2: Workflow History --
Source Entity: WorkflowTrackingStatusTable
Fields to Export:
- ContextRecId (The record ID, used to link back to the HcmPosition record)
- ContextTableName (Filter this for 'HcmPosition')
- WorkflowTrackingStatus (Values like 'Submitted', 'Approved', 'Rejected')
- CreatedDateTime (Timestamp for the workflow event)
- UserId (The user who performed the action)
- [Workflow step name or ID field if available, to differentiate approval types]
-- Entity 3: Recruitment Requests --
Source Entity: HcmRecruitingRequest
Fields to Export:
- PositionId
- CreatedDateTime (Used for 'Hiring Process Started' event)
- RecruitingId
-- Entity 4: Database Change Log (Optional) --
Source Entity: SysDatabaseLog
Fields to Export:
- RefRecId (The record ID of the changed record)
- RefTableId (The table ID, filter for HcmPosition)
- CreatedDateTime (Timestamp of the change)
- [Fields indicating the old and new values, if available] Stappen
- Bevestig de Vereisten: Voordat u begint, controleert u of de 'Bring Your Own Database' (BYOD) functionaliteit is geconfigureerd voor uw Microsoft Dynamics 365 Human Resources-instantie. Zorg ervoor dat de vereiste data-entiteiten naar uw Azure SQL Database worden geëxporteerd. Belangrijke entiteiten zijn onder andere:
HcmPositionV2,HcmPositionDetail,WorkflowTrackingStatusTable,HcmJob,OMOperatingUnitenHcmRecruitingRequest. - Maak Verbinding met Azure SQL Database: Gebruik een SQL client tool, zoals SQL Server Management Studio (SSMS) of Azure Data Studio, om een verbinding tot stand te brengen met de Azure SQL Database die dient als uw BYOD-bestemming.
- Identificeer het Databaseschema: Eenmaal verbonden, maakt u zich vertrouwd met het databaseschema. De D365 HR data-entiteiten worden gerepliceerd als tabellen. Houd er rekening mee dat tabelnamen in de BYOD-database mogelijk niet exact overeenkomen met de entiteitsnamen, maar meestal wel erg vergelijkbaar zijn.
- Laad de SQL Query: Open een nieuw queryvenster in uw SQL client en plak het complete SQL-script dat is opgenomen in de sectie 'query' van dit document.
- Parameters Aanpassen: Wijzig de placeholder variabelen in de query. Stel de
@[YourCompanyId]in op de specifieke rechtspersoon (bijv. 'USMF') die u wilt analyseren. Pas het datumbereik in deWHEREclausules aan (bijv.CREATEDDATETIME >= '2023-01-01') om de extractie te beperken tot de gewenste periode. - Voer de Query uit: Voer de complete SQL query uit op de BYOD-database. De uitvoeringstijd zal variëren afhankelijk van het data volume en het geselecteerde datumbereik.
- Controleer de Resultaten: Nadat de query is voltooid, inspecteert u de output in het resultatenvenster van uw SQL client. Controleer of de kolommen
PositionId,ActivityName,EventTimeen andere zoals verwacht zijn gevuld. - Exporteer naar CSV: Exporteer de gehele resultatenset naar een CSV-bestand. De meeste SQL clients hebben een ingebouwde functie om resultaten direct naar een CSV-bestand op te slaan. In SSMS kunt u bijvoorbeeld met de rechtermuisknop op het resultatenraster klikken en 'Save Results As...' selecteren.
- Voorbereiden voor Upload: Zorg ervoor dat het geëxporteerde CSV-bestand UTF-8-codering heeft. Bevestig dat de kolomheaders exact overeenkomen met de vereiste attributes (
PositionId,ActivityName,EventTime, etc.) voor een naadloze upload naar de process mining tool.
Configuratie
- BYOD Data-entiteiten: Zorg ervoor dat alle benodigde data-entiteiten vanuit Dynamics 365 HR naar uw BYOD-instantie worden gepubliceerd. Essentiële entiteiten voor dit proces zijn onder andere die voor posities, positiedetails, workflowgeschiedenis, functies, afdelingen en wervingsaanvragen.
- Data Latentie: Houd er rekening mee dat BYOD een bijna real-time replicatie is, niet een directe. Er kan een lichte vertraging zijn, van minuten tot een uur, tussen een transactie in D365 HR en het verschijnen van de data in de Azure SQL Database.
- Datumfilter: Het is cruciaal om datumfilters toe te passen op uw query om de performance en het data volume te beheren. Een typisch startpunt is een bereik van 3 tot 6 maanden. Pas filters toe op aanmaak- of event timestamps binnen elk
UNION ALLblok. - Bedrijfsfilter: Filter altijd op de
DATAREAID(rechtspersoon of bedrijfs-ID) om ervoor te zorgen dat u data analyseert van de juiste organisatie-eenheid. De meegeleverde query bevat hiervoor een placeholder@[YourCompanyId]. - Vereisten: Deze methode vereist een actief Azure abonnement, een geconfigureerde BYOD-instantie, leesrechten op de doel Azure SQL Database en een geschikte SQL clienttool voor query-uitvoering.
- Aangepaste Workflowstappen: De query gebruikt algemene workflowstapnamen voor goedkeuringen zoals 'Approve position request'. Als uw organisatie aangepaste namen gebruikt voor deze workflowstappen, moet u de
CONTEXTwaarden in de corresponderendeWHEREclausules aanpassen.
a Voorbeeldquery sql
SELECT
p.POSITIONID AS PositionId,
'Position Request Initiated' AS ActivityName,
w.CREATEDDATETIME AS EventTime,
w.CREATEDDATETIME AS EndTime,
w.USERID AS UserName,
dept.NAME AS DepartmentName,
pd.DESCRIPTION AS JobTitle,
'Initiated' AS PositionStatus,
pd.DEFAULTDIMENSIONDISPLAYVALUE AS CostCenter
FROM WorkflowTrackingStatusTable w
JOIN HcmPositionV2 p ON w.REFRECID = p.RECID
JOIN HcmPositionDetail pd ON p.POSITIONID = pd.POSITIONID
LEFT JOIN OMOperatingUnit dept ON pd.DEPARTMENT = dept.OMOPERATINGUNITNUMBER
WHERE w.TRACKINGSTATUS = 1 -- Submitted
AND w.CONTEXT LIKE '%Create position request%'
AND p.DATAREAID = '[YourCompanyId]'
AND w.CREATEDDATETIME >= '[StartDate]'
UNION ALL
SELECT
p.POSITIONID AS PositionId,
'Position Request Approved By Manager' AS ActivityName,
w.CREATEDDATETIME AS EventTime,
w.CREATEDDATETIME AS EndTime,
w.USERID AS UserName,
dept.NAME AS DepartmentName,
pd.DESCRIPTION AS JobTitle,
'Pending Budget' AS PositionStatus,
pd.DEFAULTDIMENSIONDISPLAYVALUE AS CostCenter
FROM WorkflowTrackingStatusTable w
JOIN HcmPositionV2 p ON w.REFRECID = p.RECID
JOIN HcmPositionDetail pd ON p.POSITIONID = pd.POSITIONID
LEFT JOIN OMOperatingUnit dept ON pd.DEPARTMENT = dept.OMOPERATINGUNITNUMBER
WHERE w.TRACKINGSTATUS = 5 -- Approval
AND w.CONTEXT LIKE '%Manager approval%'
AND p.DATAREAID = '[YourCompanyId]'
AND w.CREATEDDATETIME >= '[StartDate]'
UNION ALL
SELECT
p.POSITIONID AS PositionId,
'Position Budget Approved' AS ActivityName,
w.CREATEDDATETIME AS EventTime,
w.CREATEDDATETIME AS EndTime,
w.USERID AS UserName,
dept.NAME AS DepartmentName,
pd.DESCRIPTION AS JobTitle,
'Pending HR' AS PositionStatus,
pd.DEFAULTDIMENSIONDISPLAYVALUE AS CostCenter
FROM WorkflowTrackingStatusTable w
JOIN HcmPositionV2 p ON w.REFRECID = p.RECID
JOIN HcmPositionDetail pd ON p.POSITIONID = pd.POSITIONID
LEFT JOIN OMOperatingUnit dept ON pd.DEPARTMENT = dept.OMOPERATINGUNITNUMBER
WHERE w.TRACKINGSTATUS = 5 -- Approval
AND w.CONTEXT LIKE '%Budget approval%'
AND p.DATAREAID = '[YourCompanyId]'
AND w.CREATEDDATETIME >= '[StartDate]'
UNION ALL
SELECT
p.POSITIONID AS PositionId,
'Position Request Approved By HR' AS ActivityName,
w.CREATEDDATETIME AS EventTime,
w.CREATEDDATETIME AS EndTime,
w.USERID AS UserName,
dept.NAME AS DepartmentName,
pd.DESCRIPTION AS JobTitle,
'Approved' AS PositionStatus,
pd.DEFAULTDIMENSIONDISPLAYVALUE AS CostCenter
FROM WorkflowTrackingStatusTable w
JOIN HcmPositionV2 p ON w.REFRECID = p.RECID
JOIN HcmPositionDetail pd ON p.POSITIONID = pd.POSITIONID
LEFT JOIN OMOperatingUnit dept ON pd.DEPARTMENT = dept.OMOPERATINGUNITNUMBER
WHERE w.TRACKINGSTATUS = 5 -- Approval
AND w.CONTEXT LIKE '%HR approval%'
AND p.DATAREAID = '[YourCompanyId]'
AND w.CREATEDDATETIME >= '[StartDate]'
UNION ALL
SELECT
p.POSITIONID AS PositionId,
'Position Request Rejected' AS ActivityName,
w.CREATEDDATETIME AS EventTime,
w.CREATEDDATETIME AS EndTime,
w.USERID AS UserName,
dept.NAME AS DepartmentName,
pd.DESCRIPTION AS JobTitle,
'Rejected' AS PositionStatus,
pd.DEFAULTDIMENSIONDISPLAYVALUE AS CostCenter
FROM WorkflowTrackingStatusTable w
JOIN HcmPositionV2 p ON w.REFRECID = p.RECID
JOIN HcmPositionDetail pd ON p.POSITIONID = pd.POSITIONID
LEFT JOIN OMOperatingUnit dept ON pd.DEPARTMENT = dept.OMOPERATINGUNITNUMBER
WHERE w.TRACKINGSTATUS = 3 -- Rejection
AND p.DATAREAID = '[YourCompanyId]'
AND w.CREATEDDATETIME >= '[StartDate]'
UNION ALL
SELECT
p.POSITIONID AS PositionId,
'Position Created In HR System' AS ActivityName,
p.CREATEDDATETIME AS EventTime,
p.CREATEDDATETIME AS EndTime,
p.CREATEDBY AS UserName,
dept.NAME AS DepartmentName,
j.DESCRIPTION AS JobTitle,
'Created' AS PositionStatus,
pd.DEFAULTDIMENSIONDISPLAYVALUE AS CostCenter
FROM HcmPositionV2 p
JOIN HcmPositionDetail pd ON p.POSITIONID = pd.POSITIONID
LEFT JOIN HcmJob j ON p.JOBID = j.JOBID
LEFT JOIN OMOperatingUnit dept ON pd.DEPARTMENT = dept.OMOPERATINGUNITNUMBER
WHERE p.DATAREAID = '[YourCompanyId]'
AND p.CREATEDDATETIME >= '[StartDate]'
UNION ALL
SELECT
p.POSITIONID AS PositionId,
'Position Attributes Modified' AS ActivityName,
p.MODIFIEDDATETIME AS EventTime,
p.MODIFIEDDATETIME AS EndTime,
p.MODIFIEDBY AS UserName,
dept.NAME AS DepartmentName,
j.DESCRIPTION AS JobTitle,
'Modified' AS PositionStatus,
pd.DEFAULTDIMENSIONDISPLAYVALUE AS CostCenter
FROM HcmPositionV2 p
JOIN HcmPositionDetail pd ON p.POSITIONID = pd.POSITIONID
LEFT JOIN HcmJob j ON p.JOBID = j.JOBID
LEFT JOIN OMOperatingUnit dept ON pd.DEPARTMENT = dept.OMOPERATINGUNITNUMBER
WHERE p.MODIFIEDDATETIME > p.CREATEDDATETIME
AND p.DATAREAID = '[YourCompanyId]'
AND p.MODIFIEDDATETIME >= '[StartDate]'
UNION ALL
SELECT
p.POSITIONID AS PositionId,
'Position Reviewed For Compliance' AS ActivityName,
pd.MODIFIEDDATETIME AS EventTime,
pd.MODIFIEDDATETIME AS EndTime,
pd.MODIFIEDBY AS UserName,
dept.NAME AS DepartmentName,
j.DESCRIPTION AS JobTitle,
'Compliance Reviewed' AS PositionStatus,
pd.DEFAULTDIMENSIONDISPLAYVALUE AS CostCenter
FROM HcmPositionV2 p
JOIN HcmPositionDetail pd ON p.POSITIONID = pd.POSITIONID
LEFT JOIN HcmJob j ON p.JOBID = j.JOBID
LEFT JOIN OMOperatingUnit dept ON pd.DEPARTMENT = dept.OMOPERATINGUNITNUMBER
WHERE pd.[YourComplianceStatusField] = 'Reviewed' -- This requires a custom field indicating compliance review
AND p.DATAREAID = '[YourCompanyId]'
AND pd.MODIFIEDDATETIME >= '[StartDate]'
UNION ALL
SELECT
p.POSITIONID AS PositionId,
'Position Reclassified' AS ActivityName,
p.MODIFIEDDATETIME AS EventTime,
p.MODIFIEDDATETIME AS EndTime,
p.MODIFIEDBY AS UserName,
dept.NAME AS DepartmentName,
j.DESCRIPTION AS JobTitle,
'Reclassified' AS PositionStatus,
pd.DEFAULTDIMENSIONDISPLAYVALUE AS CostCenter
FROM HcmPositionV2 p
JOIN HcmPositionDetail pd ON p.POSITIONID = pd.POSITIONID
LEFT JOIN HcmJob j ON p.JOBID = j.JOBID
LEFT JOIN OMOperatingUnit dept ON pd.DEPARTMENT = dept.OMOPERATINGUNITNUMBER
WHERE p.MODIFIEDDATETIME > p.CREATEDDATETIME -- This is an inference. See known limitations.
AND p.DATAREAID = '[YourCompanyId]'
AND p.MODIFIEDDATETIME >= '[StartDate]'
UNION ALL
SELECT
p.POSITIONID AS PositionId,
'Position Activated' AS ActivityName,
pd.VALIDFROM AS EventTime,
pd.VALIDFROM AS EndTime,
pd.MODIFIEDBY AS UserName,
dept.NAME AS DepartmentName,
j.DESCRIPTION AS JobTitle,
'Active' AS PositionStatus,
pd.DEFAULTDIMENSIONDISPLAYVALUE AS CostCenter
FROM HcmPositionV2 p
JOIN HcmPositionDetail pd ON p.POSITIONID = pd.POSITIONID
LEFT JOIN HcmJob j ON p.JOBID = j.JOBID
LEFT JOIN OMOperatingUnit dept ON pd.DEPARTMENT = dept.OMOPERATINGUNITNUMBER
WHERE pd.VALIDFROM >= '[StartDate]'
AND p.DATAREAID = '[YourCompanyId]'
UNION ALL
SELECT
hr.POSITIONID AS PositionId,
'Hiring Process Started' AS ActivityName,
hr.CREATEDDATETIME AS EventTime,
hr.CREATEDDATETIME AS EndTime,
hr.CREATEDBY AS UserName,
dept.NAME AS DepartmentName,
j.DESCRIPTION AS JobTitle,
'Recruiting' AS PositionStatus,
pd.DEFAULTDIMENSIONDISPLAYVALUE AS CostCenter
FROM HcmRecruitingRequest hr
JOIN HcmPositionV2 p ON hr.POSITIONID = p.POSITIONID
JOIN HcmPositionDetail pd ON p.POSITIONID = pd.POSITIONID
LEFT JOIN HcmJob j ON p.JOBID = j.JOBID
LEFT JOIN OMOperatingUnit dept ON pd.DEPARTMENT = dept.OMOPERATINGUNITNUMBER
WHERE hr.DATAREAID = '[YourCompanyId]'
AND hr.CREATEDDATETIME >= '[StartDate]'
UNION ALL
SELECT
p.POSITIONID AS PositionId,
'Position Frozen' AS ActivityName,
pd.MODIFIEDDATETIME AS EventTime, -- Assuming a status change triggers modification time
pd.MODIFIEDDATETIME AS EndTime,
pd.MODIFIEDBY AS UserName,
dept.NAME AS DepartmentName,
j.DESCRIPTION AS JobTitle,
'Frozen' AS PositionStatus,
pd.DEFAULTDIMENSIONDISPLAYVALUE AS CostCenter
FROM HcmPositionV2 p
JOIN HcmPositionDetail pd ON p.POSITIONID = pd.POSITIONID
LEFT JOIN HcmJob j ON p.JOBID = j.JOBID
LEFT JOIN OMOperatingUnit dept ON pd.DEPARTMENT = dept.OMOPERATINGUNITNUMBER
WHERE p.[YourPositionStatusField] = 'Frozen' -- Requires a dedicated status field on the position
AND p.DATAREAID = '[YourCompanyId]'
AND pd.MODIFIEDDATETIME >= '[StartDate]'
UNION ALL
SELECT
p.POSITIONID AS PositionId,
'Position Deactivated' AS ActivityName,
pd.VALIDTO AS EventTime,
pd.VALIDTO AS EndTime,
pd.MODIFIEDBY AS UserName,
dept.NAME AS DepartmentName,
j.DESCRIPTION AS JobTitle,
'Inactive' AS PositionStatus,
pd.DEFAULTDIMENSIONDISPLAYVALUE AS CostCenter
FROM HcmPositionV2 p
JOIN HcmPositionDetail pd ON p.POSITIONID = pd.POSITIONID
LEFT JOIN HcmJob j ON p.JOBID = j.JOBID
LEFT JOIN OMOperatingUnit dept ON pd.DEPARTMENT = dept.OMOPERATINGUNITNUMBER
WHERE pd.VALIDTO < '2154-12-31' -- D365 often uses this far-future date for 'never expires'
AND pd.VALIDTO >= '[StartDate]'
AND p.DATAREAID = '[YourCompanyId]'
UNION ALL
SELECT
p.POSITIONID AS PositionId,
'Position Closed' AS ActivityName,
pd.MODIFIEDDATETIME AS EventTime, -- Assuming a status change triggers modification time
pd.MODIFIEDDATETIME AS EndTime,
pd.MODIFIEDBY AS UserName,
dept.NAME AS DepartmentName,
j.DESCRIPTION AS JobTitle,
'Closed' AS PositionStatus,
pd.DEFAULTDIMENSIONDISPLAYVALUE AS CostCenter
FROM HcmPositionV2 p
JOIN HcmPositionDetail pd ON p.POSITIONID = pd.POSITIONID
LEFT JOIN HcmJob j ON p.JOBID = j.JOBID
LEFT JOIN OMOperatingUnit dept ON pd.DEPARTMENT = dept.OMOPERATINGUNITNUMBER
WHERE p.[YourPositionStatusField] = 'Closed' -- Requires a dedicated status field on the position
AND p.DATAREAID = '[YourCompanyId]'
AND pd.MODIFIEDDATETIME >= '[StartDate]'