Ik help organisaties met Business Intelligence en Process Mining. Qua rapportages wordt steeds meer gewerkt met Microsoft Power BI. Naast je ‘gewone’ analyses is het natuurlijk super mooi om ook een process mining map op te nemen. In een process mining map visualiseer je het proces op basis van data in het systeem. 

Ik ga je in 3 stappen uitleggen hoe het werkt. Hierbij maak ik gebruik van BupaR

Let op: als je met grotere datasets gaat werken, wordt deze oplossing misschien te langzaam. Dan wordt het tijd voor de aanschaf van een commerciële tool. Ik kan je helpen bij de selectie hiervan.

Stap 1: Download en installeer R3.4.4, RTools35 en RStudio Desktop

BupaR werkt op basis van R. Om BupaR werkend te krijgen in Power BI hebben we allereerst R3.4.4, RTools35 en RStudio nodig. Helaas werken recentere versies van R en RTools niet goed

Voer onderstaande stappen in deze volgorde uit

  1. Download en installeer R3.4.4. Let op: de installatie moet je uitvoeren als Administrator. Je kunt gebruik maken van de standaardinstellingen
  2. Download en installeer RTools35. Let op: de installatie moet je uitvoeren als Administrator.
  3. Download en installeer RStudio Desktop. De installatie zal zelf om adminrechten vragen.

Stap 2: Installeer BupaR

Nadat je de installaties hebt voltooid, kunnen we nu BupaR installeren. BupaR is de open source process mining package in R. Open hier RStudio als administrator. Hiermee zorg je dat BupaR straks in de goede map geïnstalleerd kan worden. 

Ga vervolgens naar het menu:

Tools -> Install packages

Packages installeren in RStudio

Vul bij packages in:

pillar,bupaR,edeaR,eventdataR,processmapR,processmonitR,xesreadR,petrinetR, DiagrammeR, DiagrammeRsvg, rsvg

Stel vast dat de library naar je Program Files map wijst. Anders heb je RStudio vermoedelijk niet als Administrator gedraaid.

RStudio BupaR pakketten installeren

Druk op Install. Ga rustig even een kopje koffie drinken, er zal nu veel geïnstalleerd worden.

Klaar met installeren?

Als Rstudio klaar is met installeren, kun je kijken of het allemaal goed is gegaan. Voer nu het volgende in in de console om te testen of je bupaR kunt laden:

library(bupaR)

Je kunt een kleine ‘foutmelding’ krijgen zoals hieronder op het plaatje. Dat is niet erg. 

Laad nu de voorbeeld patientdata:

patients %>%

Geef nu de procesplaat weer:

process_map()

 

RStudio Console

 

Als je nu een procesplaat ziet, dan is het allemaal gelukt!

process mining map Bupar

Stap 3: Aan de slag met je eigen data

Testen configuratie Power BI

We willen eerst zeker weten dat Power BI goed staat ingesteld. Open hiervoor Power BI. Ga hiervoor naar: Bestand -> Opties en instellingen -> Opties

powerbi instellingen

Klik vervolgens op R-Script. Stel vast dat de R-basismap naar je Program Files wijst. 

r instellingen powerbi

Je eigen gegevens inladen

We gaan nu met de event log aan de de slag. Je kunt eventueel mijn voorbeeld Process Mining log gebruikenDe eventlog moet als volgt gestructureerd zijn:

  • Case_id: het unieke nummer waarmee je de case (zoals bijvoorbeeld ordernummer) door het gehele proces kunt volgen
  • Activity: wat er gebeurd is
  • Time: Wanneer het gebeurd is
  • Resource: Wie het heeft gedaan

Maak nu een nieuwe PowerBI rapportage

Importeer je CSV-bestand met de kolommen: case_id, activity, time en resource. 

Voeg een R-visualisatie toe.

Druk op Ja als gevraagd wordt of je zeker weet dat je R-visualisaties wil inschakelen.

Sleep alle velden van de zojuist geimporteerde csv-bestand pmlog naar de visual. Let erop dat de datum niet hiërarchisch gemaakt wordt. En dat velden niet gesommeerd worden.

Kopieer onderstaande script naar de R-Script Editor:

#Onderstaande script is gebruikt voor tutorial van Het Digitale Brein, Jurjen Nienhuis
#Dit script werkt op basis van BupaR: https://www.bupar.net/
#Bupar libraries laden
library(bupaR)
library(DiagrammeR)
#Hiermee worden de waarden die naar de R-visual zijn gesleept opgehaald
processData <- dataset
#Het tijdveld moet omgevormd worden. Let erop dat deze niet hierarchisch is geladen in je waarden.
processData$timestamp <- as.POSIXct(processData$time, tz = “GMT”, format = c(“%Y-%m-%d %H:%M:%OS”))
#Eventlog opbouwen
x <- processData %>%
#Laad een zo simpel mogelijke event log.
simple_eventlog(
activity_id = “activity”,
case_id = “case_id”,
resource_id = “resource”,
timestamp = “timestamp”
)
#Onderstaande codegenereert de process map en exporteert die naar een PNG. De PNG wordt vervolgens door Power BI gelezen
y <- process_map(x, render=FALSE)
export_graph(y, “result.png”, file_type = “png”)

 

Wanneer je het script draait, moet je een mooie process map hebben!

 

Waar ik mee kan helpen

Ik ben gespecialiseerd in het ophalen, transformeren en leesbaar rapporteren van data. Ik werk veel met zowel process mining als met Power BI. Heb je vragen. Neem gerust even contact op. 

 

Bronnen

https://BupaR.net

https://community.powerbi.com/t5/Community-Blog/Business-Process-Analysis-in-PowerBI-using-R-visuals/ba-p/659401

https://www.linkedin.com/pulse/how-analyze-business-process-powerbi-using-r-visuals-peter-pensotti/?articleId=6631215429794836480