Sassenheim, 12 september 2018

Enige tijd geleden kreeg ik van een klant de vraag om gegevens real time weer te geven op een dashboard. In de power BI service is dit mogelijk door een real time dataset te definiƫren en hierop een rapportage en/of dashboard te bouwen. De uitdaging bij dit verzoek was om de gegevens naar de real time dataset te sturen. Het was namelijk niet mogelijk om de gegevens volgens de lambda architectuur vanuit creatie via de speed layer door te sturen. De batch layer (database) was wel beschikbaar om de gegevens uit te halen, echter dat betekent dat er enige vertraging is tussen het maken van het gegeven en het tonen op het dashboard. Gelukkig was in dit geval deze vertraging geen probleem. Omdat in deze situatie gegevens uit een database opgepakt en gestreamd worden wordt er ook wel gesproken van data in rest to data in motion, data die in rust is weer in beweging brengen.

Microsoft biedt een tool genaamd flow dat hier uitkomst kan bieden. Het tool stelt je als gebruiker in staat systemen aan elkaar te koppelen en op basis van een trigger (er gebeurt iets), acties te laten uitvoeren. Als trigger voor de bovenstaande case kunnen je gebruik maken van een schedule trigger (voer elke x seconden uit) of een Creatie trigger (er is een nieuw item in een databasetabel). Ik heb voor deze case gekozen voor de schedule trigger zodat eens in de X seconden dit proces gestart wordt. Om te zorgen dat ik alleen nieuwe gegevens selecteer hou ik bij wat het laatste record was dat ik de vorige cyclus ingeladen had. Op basis van dit gegeven selecteer ik de nieuwe gegevens en stuur deze door naar de real time dataset in Power BI. Als laatste wordt het laatste record dat verwerkt is opgeslagen zodat deze in de volgende cyclus gebruikt kan worden.

 

Microsoft maakt het op deze manier er eenvoudig om statische gegevens in beweging te brengen en ze (near) real time te tonen op een Power BI dashboard. Deze toepassing is goed geschikt bij cases waar het lastig is gegevens vanuit creatie te streamen en waar enige vertraging geen probleem is.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *