Het gebruik van Power BI datasets als bron voor Power BI rapporten is een Microsoft Power BI architectuur die steeds meer voorkomt. Ook voor midden en klein bedrijf is dit door de vorig jaar geïntroduceerde Premium per user licentie een goede en betaalbare oplossing. In deze blog kijken we eens naar de ververs mogelijkheden voor een Power BI dataset.
Power BI dataset architectuur
Voordat we naar de verschillende ververs mogelijkheden kijken, is het goed om eerst eens naar de basis architectuur te kijken van Power BI wanneer gebruik gemaakt wordt van Power BI datasets. Hieronder is een simpele architectuur weergegeven waarbij gebruik gemaakt wordt van Power BI datasets. Of je nu een Power BI dataset bouwt op basis van een operationele (cloud) database, een datawarehouse of een tussen liggende variant maakt voor deze architectuur niet heel veel verschil. Een Power BI dataset als semantische laag biedt naast de interessante prijsstelling van een Premium per user licentie (€ 16,90 per gebruiker) ook een modelgrootte tot 100 GB wat meer dan genoeg is voor de meeste organisatie. Daarnaast is de performance van een power BI dataset vergelijkbaar met Azure Analysis Service. De rapporten die gebouwd zijn op basis van de Power BI dataset hebben een live connectie met de Power BI dataset. Dit betekent dat bij iedere interactie in het Power BI rapport er contact gelegd wordt met de Power BI dataset. Deze interactie (live connect) gaat echter razendsnel omdat de Power dataset sterk gecomprimeerd in-memory cache wordt opgeslagen. De actualiteit van de Power BI rapporten is dus afhankelijk van de actualiteit van de Power BI dataset en daarom kijken we hieronder eens naar de verschillende ververs mogelijkheden van een Power BI dataset.
Scheduled refresh
De meest voor de hand liggende optie om een Power BI dataset te verversen is om deze te schedulen op een bepaald tijdstip. Dit kan eventueel op meerdere tijdstippen per dag waarbij het wel afhankelijk is wat de achterliggende architectuur is en hoelang de verversing duurt.
Refresh via PowerShell
Wanneer de Power BI datasets gevuld worden vanuit bijvoorbeeld een copy database, DWH, datamart, of iets vergelijkbaar dan is de eindtijd van zo een laadproces niet altijd goed te voorspellen. Een goede manier om dit proces te optimaliseren is dan direct na je laadproces automatisch een Powershell script te draaien (bijvoorbeeld via een SQL Server Agent job) dat de Power BI dataset(s) ververst. Het draaien van een Powershell script om een Power BI dataset te verversen kan jet het best doen met behulp van een Service-Principal in plaats van onder je eigen account. Zie ook deze link van Microsoft over Service-Pricipals. De communicatie tussen een Power BI werkruimte (workspace) en een Powershell script loopt via een versleuteld XMLA-eindpunt. Het gebruik van een XMLA-eindpunt is alleen mogelijk met een premium Power BI licentie. Zie ook deze link van mijn collega over XMLA-endpoints.
Refresh Power BI dataset met Power Automate
Power Automate is onderdeel van de Office365 suite en je logt hier gewoon in met je Power BI/Office365 account. Hieronder beschrijf ik twee mogelijkheden waarbij je Power Automate zou kunnen inzetten om een dataset te verversen.
1. Via een geautomatiseerde cloudstroom
Dit is hetzelfde idee als via Powershell. Een trigger zorgt er in dat geval voor dat een Power BI dataset dan ververst wordt. In onderstaand voorbeeld wordt een gegevens set vernieuwd wanneer een bestand in een bepaalde SharePoint map gemaakt of gewijzigd wordt. In dit voorbeeld zal je dus na je laadproces via een scriptje een bestandje moeten uploaden naar SharePoint.
Naast de grafische interface heeft dit ook als voordeel dat je hier makkelijk extra stappen aan kan toevoegen. Maak je Power BI dataset bijvoorbeeld gebruik van Power BI dataflows, dan kan je het verversen van de Power BI dataflows als extra stap hiertussen voegen. Of wil je een mail ontvangen wanneer het verversen van de Power BI dataset is mislukt? Ook deze stap kan je toevoegen aan de flow. Is SQL server je data bron? Dan kan je die ook als trigger instellen om een vernieuwing uit te voeren.
2. Wanneer de gebruiker op een knop drukt in een Power BI rapport
In Power BI kan je gebruik maken van de visualisatie “Power Automate”. Hiermee kan je een geautomatiseerde cloud stroom triggeren. Deze cloudstroom kan dan een Power Dataset of Power BI dataflow verversen. Dit kan handig zijn wanneer de Power BI dataset gebaseerd is op een operationele database of er zit een externe bron (bijvoorbeeld Excel met targets) in de Power BI dataflow/dataset die ververst moet worden. Voordeel is dat de gebruiker dan zelf het moment van verversen kan bepalen.
Hybrid tables
Het is al langer mogelijk om per tabel in een Power BI dataset aan te geven of deze incrementeel ververst moet worden. In veel gevallen wijzigt historische data niet meer en kan het aardig wat performance winst opleveren wanneer incrementeel verversen wordt toegepast. Hybrid Tables is een premium feature die in Public Preview is sinds December 2021. Dit geeft de mogelijk om Import mode en DirectQuery mode naast elkaar te gebruiken voor dezelfde tabel. Import mode geeft je een snelle performance en DirectQuery geeft je (near) real-time data zonder dat de Power BI dataset ververst hoeft te worden. Let op! Hier is wel een afweging te maken tussen performance en de nieuwigheid van data. De DirectQuery mode importeert de data niet in de Power BI dataset, maar zal voor elke interactie een query uitvoeren op de onderliggende database. Dit proces kost meer tijd en heeft een negatieve impact op de performance van rapporten. Met de juiste partities en indexen op de onderliggende database kan dit performance verlies eventueel beperkt worden. Echter is er nog een belangrijk nadeel en dat is de beperkte mogelijkheid van Power Query transformaties en DAX calculaties. Dus een tweede afweging is te kiezen tussen (near) real-time data en een Power BI dataset die meer geschikt is voor selfservice BI.
Conclusie
Er zijn dus verschillende mogelijkheden om een Power BI dataset te verversen. De juiste keuze zal onder andere afhangen van de wensen van de organisatie, type licentie, onderliggende architectuur en performance.
7 november (online seminar op 1 middag)Praktische tutorial met Alec Sharp Alec Sharp illustreert de vele manieren waarop conceptmodellen (conceptuele datamodellen) procesverandering en business analyse ondersteunen. En hij behandelt wat elke data-pr...
11 t/m 13 november 2024Praktische driedaagse workshop met internationaal gerenommeerde trainer Lawrence Corr over het modelleren Datawarehouse / BI systemen op basis van dimensioneel modelleren. De workshop wordt ondersteund met vele oefeningen en pr...
18 t/m 20 november 2024Praktische workshop met internationaal gerenommeerde spreker Alec Sharp over het modelleren met Entity-Relationship vanuit business perspectief. De workshop wordt ondersteund met praktijkvoorbeelden en duidelijke, herbruikbare ...
26 en 27 november 2024 Organisaties hebben behoefte aan data science, selfservice BI, embedded BI, edge analytics en klantgedreven BI. Vaak is het dan ook tijd voor een nieuwe, toekomstbestendige data-architectuur. Dit tweedaagse seminar geeft antwoo...
De DAMA DMBoK2 beschrijft 11 disciplines van Data Management, waarbij Data Governance centraal staat. De Certified Data Management Professional (CDMP) certificatie biedt een traject voor het inleidende niveau (Associate) tot en met hogere niveaus van...
3 april 2025 (halve dag)Praktische workshop met Alec Sharp [Halve dag] Deze workshop door Alec Sharp introduceert conceptmodellering vanuit een non-technisch perspectief. Alec geeft tips en richtlijnen voor de analist, en verkent datamodellering op c...
10, 11 en 14 april 2025Praktische driedaagse workshop met internationaal gerenommeerde spreker Alec Sharp over herkennen, beschrijven en ontwerpen van business processen. De workshop wordt ondersteund met praktijkvoorbeelden en duidelijke, herbruikba...
15 april 2025 Praktische workshop Datavisualisatie - Dashboards en Data Storytelling. Hoe gaat u van data naar inzicht? En hoe gaat u om met grote hoeveelheden data, de noodzaak van storytelling en data science? Lex Pierik behandelt de stromingen in ...
Deel dit bericht