‘Power BI is een door Microsoft ontwikkelde dashboardtool en maakt onderdeel uit van het Microsoft Power Platform. Krachtig, integreert nagenoeg perfect binnen Windows 365-omgeving en is erg gunstig geprijsd. Vooral door die lage kosten en de eenvoudige integratie kiezen veel organisaties voor al snel voor Microsoft Power BI. Een keerzijde: Power BI kan zo ont-zet-tend traag zijn. Daarom geven wij een aantal tips om sneller met Power BI te werken. 

Door Harmen, CTO & senior data scientist bij Datalab

Er zijn talloze redenen waarom Power BI traag is. De voornaamste is simpelweg dat het een logge en grote applicatie is. Microsoft heeft haar best gedaan om Power BI gebruiksvriendelijk en koppelbaar aan talloze bronnen te maken. Gevolg: de applicatie zit vol met zaken die je waarschijnlijk nooit gaat gebruiken. Helaas is de applicatie zo gebouwd dat je hier weinig aan kunt doen. Wat kan wel gedaan worden om de boel soepel te laten lopen?

Tip #1: Power BI is vooral traag op systemen met weinig geheugen. We komen in de praktijk niet zo vaak de situatie tegen dat de processor van je computer te langzaam is. Meestal is het probleem het gebruik van het werkgeheugen, vooral als je veel andere applicaties gebruikt. Extra geheugen aanschaffen is het devies. Dit is bijna altijd mogelijk en relatief goedkoop: voor minder dan 100 euro heb je al een flinke upgrade. Kan dit niet, dan heb je nog twee andere opties. De eerste en meest voor de hand liggende: zorg ervoor dat je weinig andere applicaties gelijktijdig open hebt staan. Met name browsers hebben er een handje van om veel geheugen in beslag te nemen. Even je browser afsluiten en opnieuw opstarten doet wonderen.

Tip #2: Gebruik een virtuele machine om Power BI sneller te maken. Oók bruikbaar op een Mac- of Linux-computer. Voorbeelden van virtuele machines zijn Microsoft Azure, Google Cloud Platform of Amazon AWS. Ook binnen Nederland zijn er talloze aanbieders waaronder TransIP. Deze strategie -virtuele machines inzetten- passen wij vaak toe bij onze klanten. De voordelen op een rijtje:

  1. Focus: de virtuele machine is ingericht op een enkele taak namelijk het werken met Power BI. Er zit dus géén andere software in de weg.
  2. Berekeningen kun je ‘dichtbij waar de data staat’ uitvoeren, als je tenminste een datawarehouse in de cloud afneemt.
  3. Gelijktijdig efficiënter werken: Je kunt de machine delen met meerdere collega’s die parallel aan elkaar werken. Zo heeft jouw IT-afdeling er minder omkijken naar en bespaar je kosten op de aanschaf van dure laptops.

Databewerking in Power BI is traag (en notoir lastig)

Power BI excelleert in het aantal soorten bronnen dat je kunt ontsluiten. Vrijwel alle database en datawarehouses ‘pluggen moeiteloos in’ op Power BI. En met behulp van connectoren kunnen ook andere bronnen eenvoudig aangesloten worden. Natuurlijk is dat fantastisch maar gelijktijdig ook een van de voornaamste redenen dat men onze hulp inroept. En wel doordat de connectoren nauwelijks nog werken door de grote hoeveelheid data. Conclusie?

Power BI is een prachtige visualisatie- en analysetool, maar een zeer belabberde datamanager.

In Power BI kun je data opschonen, koppelen, berekeningen doen en nog veel meer. Voor kleine datasets (maximaal enkele honderden regels groot) werkt het goed. Zodra je datasets in de duizenden regels oplopen, veel berekeningen plaatsvinden of als je verschillende bronnen wilt koppelen, wordt het snel problematisch. Je merkt het aan de traagheid van Power BI Desktop (waarin je de dashboards bouwt), maar ook aan Power BI Apps (waar je je dashboards kunt publiceren).

Onze tip: indien mogelijk verplaats lastige berekeningen naar de plek waar je data opslaat. Het opschonen, koppelen en filteren van de te bewerken data kun je beter uitvoeren in het bronsysteem in plaats van het importeren van je hele dataset in Power BI. Dit is meestal mogelijk als je bronsysteem een database of datawarehouse is. Het wordt lastiger als je via een connector, bijvoorbeeld een API om te raadplegen, werkt. In dat geval loont het te investeren in een datawarehouse. Dit hoeft niet heel duur te zijn en biedt vele extra mogelijkheden.

Nog een groot voordeel van databewerkingen uitvoeren voordat het in Power BI wordt ingeladen: je dashboard is veel stabieler. Connectoren laden vaak op inefficiënte wijze hele datasets in (bijvoorbeeld door telkens alles te kopiëren uit de bron, terwijl maar een klein deel gewijzigd is). Een datawarehouse is vrijwel altijd efficiënter ingericht en blijft ook werken als de bronsystemen ‘er even uit liggen’. Als je gebruik maakt van meerdere bronnen en enkele hiervan niet altijd even stabiel zijn, blijft het dashboard op deze manier wel doorwerken.

Datawarehouse: de meerwaarde

Een datawarehouse is gebouwd om alle complexiteit rondom het opschonen van data, het koppelen en het filteren voor jou te doen. Je kunt het datawarehouse ook inzetten om de complexe berekeningen te doen. Een datawarehouse is vrijwel altijd beter, sneller en betrouwbaarder in het werken met data dan welke dashboardtool dan ook. Dit geldt óók voor Tableau, Qlik en de talloze andere dashboardproducten, ongeacht wat ze beloven. En zoals eerder gemeld blijft je dashboard werken, ook als een of meerdere bronnen tijdelijk niet bereikbaar zijn.

De praktijk:

  1.  In je datawarehouse maak je met een SQL-query je data op orde. Complexe berekeningen, zoals aggregeren en filteren, doe je in je datawarehouse. Die query sla je op als een zogenaamde ‘view’. Dit lijkt op een tabel of dataset zoals in Power BI, maar dan zijn alle berekeningen op de achtergrond al gedaan. Handig en lekker snel. Extra voordeel is dat je collega’s ook gebruik kunnen maken van jouw view en dus iedereen naar dezelfde cijfers kijkt. 
  2. Vervolgens importeer je de view in Power BI, deze staat in de lijst van databronnen zoals je deze nu al gebruikt. Je kunt als dit nodig is ook verder aggregeren of filteren.
  3. Verandert er iets in de bronsystemen, of wil je extra data toevoegen? Pas je view aan en ververs de data in Power BI. Je zult automatisch en overal de juiste data gebruiken. Geen gedoe meer met connectoren.

De “D” in DAX Queries lijkt soms wel te staan voor drama. SQL is véél eenvoudiger. Zie je op tegen SQL? Bij Datalab hebben we query.ai ontwikkeld waardoor je in gewone taal, naast Engels ook in Nederlands je vragen stelt en het datawarehouse de SQL-query voor je schrijft. 

Het proces van het ontwikkelen van dashboards in Power BI is traag

Een tip voor de pro-gebruikers die veel verschillende dashboards ontwikkelen, zeker als je (onderdelen van) die dashboards hergebruikt. Stel je de vraag of Power BI nog wel de juiste tool voor jou is. We zien veel organisaties gekke toeren uithalen met dashboards die eigenlijk complete analytische omgevingen zijn. Daar is Power BI niet voor gemaakt. Het kán maar optimaal is het niet. Daarvoor zijn veel betere mogelijkheden beschikbaar. Onze drie favorieten:

  1. R Shiny: de meest complexe dashboards bouw je tot in het kleinste detail op maat. De leercurve is even wat steil maar het resultaat mag er zijn. Je kunt er hele webapps mee ontwikkelen die precies doen wat jij wilt én naadloos passen in de huisstijl en online omgeving van je organisatie.
  2. Shiny for Python: vers van de pers. Programmeer jij liever met Python, dan is deze optie interessant. Nieuw maar veel belovend. Gebouwd op basis van dezelfde principes als R Shiny, echter dan in Python. Een steile leercurve met prachtig resultaat.
  3. Dash van Plotly: heb je ervaring het met HTML of JavaScript, of bereidt bent deze kennis op te doen, dan is dit een krachtige tool met prachtige visualisaties. Iets minder krachtig dan Shiny, wel helemaal naar wens aan te passen.

Het grootste voordeel van de drie bovengenoemde tools: ze zijn 100% gratis. Toegegeven: het publiceren van dashboards gaat net niet zo lekker als met Power BI, maar de extra mogelijkheden die ze bieden -en de kostenbesparing- zijn de moeite meer dan waard.

Deze drie tools helpen je sneller dashboards te ontwikkelen omdat ze meer kunnen (talloze modules die je gratis kunt downloaden) én omdat je veel makkelijker code kunt delen tussen dashboards. Ontwikkel je een slimmigheidje voor een van je dashboards, dan kun je dit hergebruiken in je andere dashboards.

Conclusie

Power BI is een fijne tool, echter niet geschikt voor databewerkingen zelf. Wil je Power BI effectief gebruiken, dan raden we aan te kijken naar de mogelijkheden van een datawarehouse. Zoek je in de breedte de oplossing, dan adviseren wij te kijken naar Shiny voor R, Python of naar Dash.

De problemen die je mogelijk ervaart met Power BI, geldt niet exclusief voor Power BI alleen. Ook Tableau, Qlik, Cognos en talloze andere tools kunnen traag zijn. Het is daarom zinloos ‘zomaar even over te stappen’ naar Qlik of Tableau. Deze overgang kost je vrijwel altijd meer dan dat het je oplevert. Wees ook kritisch op aanbiedingen als ‘Qlik met ingebouwd datawarehouse’ en dergelijke. Zelden is dit de beste oplossing voor jou: niet qua kosten en zeker niet qua functionaliteiten.