25 november 2020

Real-time dashboards in Power BI

Deze blog is deel 4 van onze miniseries over real-time data-analyses met Vlaamse verkeersgegevens.

In deel één toonden we hoe je realtime gegevens verwerkt, in deel vier laten we zien hoe je deze gegevens in power BI krijgt en hoe je realtime dashboards maakt. Net zoals in deel één zullen we dit demonstreren aan de hand van de verkeersgegevens van Vlaanderen. Deze real-time dashboards zorgen ervoor dat je altijd op de hoogte bent van wat er op dit moment gebeurt en zullen je dus in staat stellen om voortdurend kleine veranderingen door te voeren die een echte impact hebben.  Enkele veel voorkomende use cases zijn:

  • Sensorische gegevens
  • Kwaliteitsgegevens
  • Monitoring van campagneprestaties
  • Verkooprapportage

Er zijn verschillende manieren om gegevens in Power BI op te nemen en met al deze manieren kan een real-time of bijna real-time beeld worden verkregen.

Dataset categorieën

Eerst kijken we naar de verschillende soorten datasets. Als je bekend bent met Power BI kan je deze waarschijnlijk al. In principe zijn er twee hoofdcategorieën. Pull datasets en Real-time datasets.

Pull-datasets kan je beschouwen als gegevens die in de Power BI-service worden getrokken. Met andere woorden, Power BI haalt de gegevens op uit de bron. Dit omvat:

  • DirectQuery Datasets
  • LiveConnect Datasets
  • Geïmporteerde Datasets

Anderzijds worden gegevens van realtime datasets naar Power BI geduwd. Dit betekent dat het niet Power BI is die deze gegevens krijgt, maar dat de dataset de gegevens naar de Power BI Service pusht via de Power BI Rest API-verbinding. We kunnen een onderscheid maken tussen:

  • Push Datasets
  • Streaming datasets
  • Hybride datasets
  • PubNub datasets

Real-time opties

Push

Wanneer je een Push of een Hybride dataset maakt, worden de gegevens opgeslagen in een Azure SQL database.

Een pure Push dataset geeft je heel wat flexibiliteit. Zodra je gegevens aan de tabel toevoegt, hebt je toegang tot de dataset vanuit Power BI Desktop en zijn alle opties van de rapportontwerper beschikbaar. Je kan maatregelen aanmaken in DAX, een visual naar keuze kiezen en filtering toepassen.

Streaming

De streaming dataset wordt opgeslagen in een tijdelijke cache (tot een uur). Deze optie is beperkter omdat je deze alleen kan gebruiken met de streaming datategels. Dit betekent dat er geen rijke datamodelleringsopties zijn en dat je de rapportontwerper niet kan gebruiken, geen maatregelen kan maken en geen filters kan gebruiken.

PubNub

PubNub is een externe site met een eigen streaming netwerk. Wanneer je Power Bi verbindt met PubNub worden er geen gegevens opgeslagen in Power BI, maar ben je direct verbonden met de PubNub stream. Je zal alleen streaming tiles kunnen gebruiken, net als bij streaming datasets.

Hybride

De Hybrid dataset combineert push en streaming. Het zal gegevens opslaan in een tijdelijke cache (tot een uur) en in de Azure SQL database (tot 200.000 rijen). Dit betekent dat je zowel streaming datategels in het dashboard als rapportdesigner visuals kan maken. Je kan filters toepassen op de visual die worden bijgehouden wanneer je de visual vastpint op het dashboard. Je kan de dataset ook openen vanuit Power BI Desktop. De mogelijkheden zijn echter beperkter dan bij de Push dataset.

Deze matrix geeft een overzicht van de mogelijkheden en beperkingen van de verschillende typen datasets.

Andere beperkingen waarmee rekening moet worden gehouden zijn de Power Bi REST API limitations.

De meeste zijn vrij eenvoudig, maar het verschil tussen de FIFO dataset en de ‘geen bewaarbeleid’ dataset vereist nog verduidelijking. De API-optie met ingeschakelde  historische gegevensanalyse gebruikt het FIFO-model (First In First Out). Wanneer uw limiet van ongeveer 200.000 rijen is bereikt, worden de oudste rijen verwijderd.

Wanneer je de ‘non retention policy’ inschakelt op je dataset, verhoogt de rijenlimiet tot 5.000.000 rijen, wat interessant klinkt. Maar vergeet niet dat zodra de tabel vol is, je geen records meer kan toevoegen. De enige manier om dit op te lossen is door alle rijen uit de tabel te verwijderen en opnieuw te beginnen. Wat natuurlijk betekent dat je al je ‘historische’ gegevens verliest en niet alleen de oudste rijen.

Maak een real-time Dashboard in Power BI

Nu dat dat van de baan is, is het tijd om voort te bouwen op de gegevensstroom die we de vorige keer in AWS Kinesis Data Analytics hebben gecreëerd. In dit geval zullen we de hybride dataset verkennen via de API-optie van de Power BI Service, maar aarzel niet om alle andere opties te verkennen en uit te proberen, omdat ze misschien geschikter zijn voor jouw toepassing. Als je de gegevensverwerkingsstroom in Azure hebt gemaakt, kan je gemakkelijk een verbinding maken met Power BI, aangezien je Azure Stream Analytics kan verbinden met Power BI.

We zullen een real-time dataset gebruiken op basis van het verkeer in Vlaanderen dat via Kinesis Data Analytics wordt gepushed. Je vindt de details over hoe dit is opgezet in deel 1.

Maak de dataset

Om te beginnen, ga je naar de Power BI-werkruimte. Je kiest de Streaming dataset uit het menu ‘Create’. Zoals eerder vermeld, maken we verbinding via de API-optie. Zorg ervoor dat de namen en veldtypes overeenkomen met degene die via de API worden gepushed. Het belangrijkste is de schakelaar voor historische gegevensanalyse, die bepaalt of het een streaming set is (schakelaar uit) of een hybride dataset (schakelaar aan). Je bent nu klaar; jouw nieuwe real-time dataset is nu beschikbaar voor gebruik.

Als je Power BI aan je Azure stream hebt gekoppeld, wordt deze configuratie automatisch doorgestuurd, dus als je wijzigingen aanbrengt in Azure, worden deze ook doorgestuurd naar Power BI.

Maak een dashboard met eigen streaming data tiles

Laten we eerst eens kijken naar de streaming tiles, deze tiles halen continu de streaming data uit de cache. Ze zijn speciaal gemaakt voor streaming data, dus ze zijn geoptimaliseerd om vloeiende animaties te tonen als er nieuwe data beschikbaar is. Je visuals kunnen echter alleen gegevens weergeven van maximaal een uur geleden. Streaminggegevens worden na een uur uit de cache verwijderd, dus je kan geen langere intervallen instellen voor streamingdatategels. De opties zijn vrij beperkt, maar ze geven je wel een nauwkeurig beeld van de huidige situatie. Je kan de volgende tiles toevoegen:

  • Kaart
  • Lijngrafiek
  • Geclusterd staafdiagram
  • Geclusterde kolomgrafiek
  • Schaal

Maak visuals maken vanuit de rapport editor

Laten we vervolgens kijken wat er mogelijk is voor onze hybride dataset. Wanneer je een rapport voor deze dataset maakt, kan je kiezen uit alle gebruikelijke power BI-tegels. Als je wil dat de visuals alleen de meest actuele gegevens tonen, kan je altijd een filter gebruiken om alleen de bovenste paar rijen te tonen.

We hebben een paar voorbeelden opgezet die specifiek zijn gemaakt voor onze verkeersgegevens. In dit geval zou het erg nuttig zijn als we een overzicht kregen van de huidige situatie voor enkele belangrijke locaties in Vlaanderen. We voegden enkele voorwaardelijke opmaak toe aan deze tabel om files en verkeersopstoppingen die zich vormen te kunnen lokaliseren. Voor deze visualisatie heeft het locatieveld voorwaardelijke opmaak toegepast op basis van het trafficJamIndicator-veld. Het veld Huidige snelheid heeft enkele regels toegepast op basis van het veld Bezetting.

Onderstaande lijngrafiek toont de evolutie van de files per locatie. We hebben een relatief tijdfilter toegepast dat beperkt is tot de laatste 240 minuten. In het opmaakvenster is de Y-as uitgeschakeld, zijn de kleuren van de gegevens veranderd en zijn de vormen aangepast. Deze visual toont ons waar de files ontstonden, op welk tijdstip en wanneer ze oplosten.

Als je tevreden bent met je visuals kan je ze vastzetten op je dashboard en worden je visuals automatisch bijgewerkt. Maar ze zullen niet zo mooi zijn als de streaming tiles.

Wij moedigen je aan om met alle opties te spelen om echt een idee te krijgen van alle mogelijkheden of om te proberen het dashboard dat je hieronder ziet na te maken. Zodra je alle visuals hebt gemaakt die je nodig hebt, kan je ze aan je dashboard vastmaken. In het rapport worden de visuals alleen bijgewerkt wanneer je de pagina handmatig ververst, maar in het uiteindelijke dashboard krijg je de optie om de velden automatisch bij te werken wanneer nieuwe gegevens worden doorgegeven.

Belangrijke opmerkingen

  • De belangrijkste stap bij het aansluiten van uw datastroom op Power BI is het kiezen van het juiste type dataset voor jouw behoeften. Een streaming dataset beperkt jouw mogelijkheden het meest, terwijl een hybride dataset je de meeste flexibiliteit biedt.
  • Zorg ervoor dat je het verschil kent tussen een FIFO-dataset en een ‘non retention policy‘ dataset zonder bewaarbeleid, anders moet je misschien opnieuw beginnen.
  • Streaming tiles kunnen alleen historische gegevens tonen van maximaal één uur geleden. Andere tegels kunnen een veel langere periode tonen.
  • Streaming tiles worden automatisch bijgewerkt met een vloeiende visuele weergave, terwijl andere velden handmatig moeten worden bijgewerkt door ze te verversen in rapporten. Ze worden alleen automatisch bijgewerkt in dashboards als je dat zo aangeeft.

Leer meer

Deze blog is deel 4 van onze miniseries over real-time data-analyses met Vlaamse verkeersgegevens.

Facebook
Twitter
LinkedIn

Schrijf je in op de nieuwsbrief om nooit een blog te missen!