Mijn traineeship als Integratie Specialist

Een traineeship als integratie specialist? Wat houdt dat in?

Bob is recent gestart als trainee integratie binnen onze DAI unit en is erg enthousiast over de kans die hij heeft gekregen om hierin verder te groeien.

Hallo, ik ben Bob Mazgon en ben als Software Developer werkzaam geweest in de Application Development unit van Etesian IT Consulting en wilde me graag verdiepen in integratie. Ik heb de gelegenheid gekregen om te wisselen naar de Data Analytics & Integration unit en ben daar gestart met een traineeship als Integratie specialist bij Smurfit kappa.

Ik ben erg blij dat deze klant openstond voor deze mogelijkheid en dat ik deze kans heb gekregen. Mijn collega’s Sjoerd Alaerds en Rob Fox, beiden al langer in Integratie werkzaam, begeleiden me hierbij door me de kneepjes van het vak te leren. Dit is voor Sjoerd en mij een leuke uitdaging en omdat we samen bij Smurfit Kappa werken hebben we korte lijntjes. Het is een interessante opdracht waarbij ik voornamelijk werk met BizTalk.

Wat is BizTalk?

BizTalk is een integratieplatform van Microsoft dat bedrijven helpt bij het integreren van verschillende systemen en applicaties. Het biedt een reeks functies die bedrijven kunnen gebruiken om gegevens te integreren, te transformeren en te routeren tussen verschillende systemen en applicaties. Met BizTalk kunnen bedrijven gegevens uit verschillende bronnen integreren, zoals databases, webdiensten, bestanden en meer.

Als Integratie Specialist werk je nog veel met BizTalk, maar langzamerhand verhuizen veel bedrijven hun integraties steeds meer naar Azure.

Bij Smurfit Kappa gebruiken ze op dit moment in ieder geval nog BizTalk om verschillende systemen en applicaties te integreren en gegevens uit te wisselen. Een van mijn voornaamste taken is het maken van koppelingen tussen de verschillende in- en uitgaande informatiestromen. Zie het als een soort vertaler. Er komt een bericht binnen van bijvoorbeeld een bestelling dat niet gelezen kan worden door het systeem. Ik koppel dan de juiste informatievelden in een formaat dat wel gelezen kan worden door het systeem. Omdat deze bestellingen altijd op dezelfde manier binnenkomen zal deze vanaf nu dan ook altijd gelezen kunnen worden door het systeem. Omdat er veel berichten per dag in- en uitgaan kan het verregaande gevolgen hebben als ergens in de keten een bericht aangepast wordt. Deze aanpassingen worden daarom altijd goed in kaart gebracht om de keten niet te verstoren. 

Ik hoop in de komende maanden veel te leren met Sjoerd en Rob als mijn vraagbaak. En wil je nou zelf ook een leuke baan als Integratie Specialist? Neem dan eens contact op met Mark Vermeulen of Rob/Bahare via [email protected]

Verschillende datums gebruiken op één pagina in Power BI?  Het kan!

Onze Business Intelligence Consultant, Andrew Tan, kreeg bij zijn opdrachtgever het verzoek een bestaand QlikView-dashboard om te zetten naar Power BI. De informatie uit het dashboard helpt de control room bij zaakgericht werken om de bedrijfsvoering verder te verbeteren.

“Een zaak is in dit verband een samenhangende hoeveelheid werk, met een duidelijke aanleiding (registratie-instroom) en een duidelijk resultaat zodra de zaak is uitgestroomd (beëindiging).” 

Hoe ziet het Power BI-dashboard eruit? 

Het nieuwe dashboard in Power BI bestaat uit drie pagina’s waarop de zaakfeiten op verschillende detailniveaus worden getoond.  

  • De eerste pagina bevat een dashboard waarin het aantal geregistreerde zaken en aantal beëindigde zaken in diverse visualisaties worden getoond.  
  • De tweede en derde pagina vormen een verdieping van het overzicht op de eerste pagina. Deze pagina’s bevatten meer details voor analysedoeleinden.  

In het onderliggend datamodel van Power BI zijn meerdere relaties gedefinieerd tussen de feittabel, waarin zaken worden geteld, en de datumtabel. Dezelfde datumtabel wordt gebruikt om de zaakfeiten te filteren op registratiedatum en beëindigingsdatum. Dit is een goed voorbeeld van een rollenspeldimensie of role-playing dimension. 

“De rollenspeldimensie is een dimensie waarin op een andere manier op gerelateerde feiten kan worden gefilterd.” 

In dit geval kan de datum betrekking hebben op de registratie of beëindiging van een zaak. In Figuur 1 is dit als volgt terug te zien. 

Figuur 1

Grijze lijnen = actieve koppeling

De eerste relatie tussen de feit- en datumtabel is de grijze lijn tussen respectievelijk Registratiedatum en Datumveld. De grijze kleur van deze lijn duidt aan dat de koppeling tussen feit- en datumtabel actief is. Dat wil zeggen: de telling van het aantal zaken geschiedt op basis van de Registratiedatum en wordt gerapporteerd met de meetwaarde ‘Aantal zaken geregistreerd’. Deze meetwaarde is direct bruikbaar in het dashboard. 

Gele gestippelde lijnen = inactieve koppeling

De tweede relatie tussen de feit- en datumtabel is de gele gestippelde lijn tussen Beëindigingsdatum en Datumveld. De gestippelde lijn duidt erop dat de koppeling tussen feit- en datumtabel niet actief is. De datumtabel heeft immers al een actieve relatie met de feittabel via de Registratiedatum. Het is namelijk zo dat in Power BI slechts één relatie actief kan zijn tussen twee tabellen.

Problemen op de weg?

De beperking in het datamodel levert een praktisch probleem op. Dit zou betekenen dat het aantal beëindigde zaken niet tegelijkertijd gerapporteerd kan worden met het aantal geregistreerde zaken in het dashboard van de eerste pagina. Daarom is de meetwaarde ‘Aantal zaken beëindigd’ niet direct bruikbaar en geel gemarkeerd in Figuur 1.

DAX formule lost het op

Genoemd probleem is opgelost door voor beëindigde zaken een berekende meetwaarde (measure) aan te maken in Power BI, dus geen berekende kolom (calculated column). De DAX formule, die aan de nieuwe meetwaarde wordt toegevoegd, zorgt ervoor dat bij de telling van het aantal beëindigde zaken toch gebruik gemaakt kan worden van de beëindigingsdatum ondanks dat de koppeling met de datumtabel niet actief is.  

De gebruikte DAX formule bestaat uit twee delen.  

  1. Het eerste deel telt met behulp van CALCULATE() alle beëindigde zaken bij elkaar op.  
  1. Het tweede deel gebruikt USERELATIONSHIP() om de inactieve koppeling tussen feit- en datumtabel op basis van beëindigingsdatum te activeren voor de berekening in het eerste deel.  

 
In Figuur 1 is te zien dat de nieuwe meetwaarde ‘Aantal zaken beëindigd’ voorafgegaan wordt door een icoon met rekenmachine. Dit geeft aan dat het gaat om een berekende meetwaarde of measure.

Rollenspeldimensies als best practice

Voor de oplossing in het datamodel is de rollenspeldimensie ingezet als best practice. Het resultaat is tweeledig. Voor het dashboard op de eerste pagina kunnen Aantal beëindigde zaken en Aantal geregistreerde zaken tegelijkertijd gerapporteerd worden zonder dat ze elkaar bijten. Vanuit beheeroogpunt is een werkafspraak toegevoegd aan het data fundament zodat rollenspeldimensies altijd geïmplementeerd worden met een measure in Power BI. Dit heeft als voordeel dat de werkwijze bij Power BI is gestandaardiseerd en werkzaamheden overdraagbaar maakt.