Combineren van meerdere verschillende bronnen in Power BI kan een uitdaging zijn. Daar helpen we je graag bij en daarom delen we de best practices van BI-expert Timon Pool met je. Timon heeft jarenlange ervaring met het bouwen van dashboards en het adviseren van klanten op het gebied van business intelligence. Als expert kent hij alle ins en outs van Power BI. Wat moet je juist wél doen en wat juist niet: Timon deelt zijn tips!

Tip 1: wees je bewust van de mogelijkheden en beperkingen van verschillende brontypes

Gecertificeerd vs. niet gecertificeerd

Er zijn gecertificeerde en niet gecertificeerde brontypes: de eerste zijn gecontroleerd en goedgekeurd door Microsoft, de tweede zitten nog in een soort preview-fase. Je kunt er zelf voor kiezen om niet gecertificeerde brontypes toe te staan, maar wees je er wel van bewust dat je problemen kunt ondervinden telkens nadat er wijzigingen (changes) plaatsvinden.

Meest gebruikte brontypes

Voor de meeste rapportages worden databases als bron gebruikt. Deze kunnen in Azure staan, dus in de cloud van Microsoft, maar je kunt ook een lokale database gebruiken. Naast (Azure) SQL-databases wordt er over het algemeen ook veel gebruik gemaakt van Excel/CSV, ODBC-koppelingen, API’s, URL’s en zelfs PDF’s. Bij de volgende brontypes moet je op een aantal zaken letten:

SQL-database:

  • Met dit brontype haal je vaak de meeste informatie naar binnen en heb je dus veel data tot je beschikking. Om ervoor te zorgen dat je Power BI-dashboard zo snel mogelijk laadt zul je kritisch moeten kijken naar welke data je écht nodig hebt. Hoe meer data en bewerkingen op die data, des te zwaarder je Power BI-file wordt en hoe langer het duurt voordat je dashboard vernieuwd is.
  • Bij voorkeur gebruik je een database die in de cloud staat, vanwege de regelmatige vernieuwing van je data. Maar gebruik je toch een lokale database, weet dan dat je hiervoor een zogeheten on-premises gegevensgateway nodig hebt. Hiermee kan de data in je gegevensset regelmatig worden ververst. Verderop vertellen we je hier meer over.

Excel:

  • Excelbestanden worden veel gebruikt bij het maken van rapportages in Power BI. Maar staat het bestand dat je wil gebruiken op jouw lokale harde schijf, dan moet je opletten. Gebruik je namelijk een lokaal Excelbestand als bron, dan heb je ook hier een on-premises gegevensgateway nodig. Maak je in jouw organisatie ook gebruik van Microsoft SharePoint, dan kun je je Excelbestand het beste in een SharePointmap zetten. In Power BI kies je vervolgens voor brontype “Web” en hier vul je de SharePoint-URL van het Excelbestand in. Zorg ervoor dat je het laatste gedeelte van de URL (“?web=1” ) verwijdert uit de URL die je gebruikt in Power BI.

API:

  • API’s vallen op verschillende manieren te koppelen aan Power BI. Bij sommige gaat dat op basis van een URL waarmee je verbinding kunt maken. Soms kun je daarmee direct data opvragen. In andere gevallen moet je, middels een script in Power BI, eerst je gebruikersnaam en wachtwoord opgeven. Daarna krijg je een token terug en op basis daarvan kun je vervolgens de data ophalen.
  • Bij het ophalen van data uit een API krijg je vaak een gestileerde set aan data, dus niet altijd álle data. Het ligt aan de leverancier van de API wat je wel en niet aan data kunt ophalen, dus wees je bewust van mogelijke beperkingen hierin. En indien nodig: zoek contact met de leverancier van de API.

Dan nog even dit: de on-premises gegevensgateway

Zoals gezegd heb je bij het gebruik van een lokale bron een speciale tool nodig: de on-premises gegevensgateway. Dit is een gratis tool van Microsoft die ervoor zorgt dat de data in je rapportages dagelijks wordt vernieuwd. Bronnen zoals een Azure SQL-database of een URL zijn via het internet (al dan niet met gebruikersnaam en wachtwoord) te benaderen. Microsoft zet dan zelf een beveiligde verbinding op om de data automatisch dagelijks te kunnen vernieuwen, dus daarvoor heb je geen gateway nodig. Met een lokale bron kan de vernieuwing echter niet rechtstreeks plaatsvinden. Dit moet je erover weten:

  • De on-premises gegevensgateway zorgt ervoor dat er een beveiligde verbinding – een VPN-tunnel – wordt gebouwd tussen de Power BI Online Service en je lokale bron. Zo’n lokale bron kan namelijk niet via het internet bereikt worden, doordat er een firewall tussen zit en/of doordat een interne IP-range van buitenaf niet bereikt kan worden.
  • Als je lokale bron bijvoorbeeld een bestand is dat op C:\Mijn Documenten staat, dan weet Power BI Online niet dat je daarmee jouw lokale documenten bedoelt. Er zijn heel veel mensen en organisaties die die locatie gebruiken binnen hun eigen laptop, vandaar dat je het beveiligde bruggetje nodig hebt dat de tool legt.
  • Zet de gegevensgateway zo dicht mogelijk bij de bron, dus zo dicht mogelijk bij de plek waar je lokale bestand staat. Hiermee zorg je ervoor dat de Power BI Online Service over het algemeen ook daadwerkelijk via de gateway toegang heeft tot de bron.
  • Zorg dat het device waarop je bron staat altijd aan staat, anders kan de data in je rapportages niet dagelijks vernieuwd worden. Stel: je gebruikt een lokale bron die op jouw laptop staat en de gegevens worden dagelijks om 6 uur vernieuwd. Maar jij bent om 6 uur nog niet aan het werk en hebt je laptop op dat tijdstip dus niet ingeschakeld, dan kunnen de gegevens niet worden vernieuwd.

Tip 2: datavoorbereiding is key

Kwaliteit van je data

Begin je lukraak met het bouwen van dashboards, dan kun je gaandeweg tegen van alles en nog wat aan lopen. Een hoop ellende kun je voorkomen door van tevoren goed na te denken over de data die je gaat gebruiken en de kwaliteit hiervan te checken. Het kan zijn dat je een bron hebt waarin ‘vervuilde’ data staat of waarin data ontbreekt en dat deze bron daardoor lastig(er) te combineren valt met andere bronnen. Je kunt in Power BI wel één en ander rechttrekken, maar natuurlijk heeft het de voorkeur als de data in je bron zelf gewoon op orde is. Zorg er daarom voor dat je bij het begin begint: eerst je data op orde maken voordat je ermee aan de slag gaat.

Begrip van je datamodel

Je moet begrijpen hoe het datamodel van je bron eruit ziet wil je deze op de juiste manier kunnen combineren met andere bronnen. Oftewel: je moet weten hoe je de data moet interpreteren om de informatie op de juiste manier te kunnen koppelen aan andere bronnen. Zo weet je ook meteen of je bronsysteem volledig is en geschikt is om te combineren, of dat je de data eerst nog moet verrijken voordat je ermee aan de slag gaat. Maak onderscheid tussen dimensies, feiten en tijdelijke tabellen en kijk goed naar hoe je alle informatie wil gaan gebruiken. Je wil dit goed voorbereiden zodat je straks bij met het maken van visualisaties de juiste dwarsdoorsnedes kunt maken.

Tabellen relateren op het juiste niveau

Je moet begrijpen hoe je bepaalde tabellen aan elkaar kunt koppelen en ook welke geschikt zijn om aan elkaar te koppelen. In het voorbeeld (zie afbeelding) zie je hoe je een dimensie koppelt aan een feit op basis van relaties. Zo zie je bij verkooporders (feit) een artikelnummer als getal staan en bij Artikel (dimensie) eveneens. Die kun je op deze manier aan elkaar koppelen. Je ziet ook dat de tabel verkoop target (feit) geen datum heeft en daardoor niet aan de tabel tijd (dimensie) gekoppeld kan worden. Je kunt die datum echter met behulp van M-Query of DAX wél genereren. Wees je bewust van de verschillende aggregatieniveaus en welke data je met elkaar kunt combineren (of juist niet). Via model maken > relaties beheren kun je vervolgens in Power BI de verschillende relaties tussen tabellen gaan leggen.

Voorbeeld relaties tussen tabellen

Voorbeeld relaties leggen

M-Query of DAX?

Je gebruikt M-Query om je data voor te bereiden vóórdat je visualisaties gaat maken op je canvas in Power BI. Met deze tool kun je data combineren en transformeren. DAX is een andere tool die je ook hiervoor kunt gebruiken, maar M-Query heeft de voorkeur. We leggen uit waarom:

  • Met M-Query voer je de bewerkingen op de data uit op het moment dat data wordt ingeladen. DAX-query’s worden uitgevoerd op het moment dat je het Power BI-rapport zelf opent. Door je bewerkingen op de data zoveel mogelijk met M-Query op te lossen, kun je ervoor zorgen dat de performance van je rapport en daarmee de snelheid van het laden van de visualisaties gewaarborgd blijft.
  • Er zijn verschillende functies, bijvoorbeeld het samenvoegen van tabellen, die beter werken in M-Query dan in DAX, of zelfs helemaal niet in DAX beschikbaar zijn en in M-Query wel. Andersom kan ook: het kan zijn dat je bepaalde berekeningen wil doen die niet mogelijk zijn met M-Query, maar wél met DAX. In dat geval kun je beide prima combineren om tot de data te komen die jij graag wil gebruiken.

Tip 3: beperk de hoeveelheid data en bewerkingen die je erop doet

Beperk waar dat kan

Je kunt in Power BI heel veel data ophalen en allerlei bewerkingen doen. Maar op het moment dat je dat doet maakt dat de gegevensset ook steeds zwaarder want er komt meer data in te staan. Power BI kan best veel aan, maar het vernieuwen van de data en hoe lang dat duurt heeft vaak te maken met de hoeveelheid data en hoeveel bewerkingen je op die data doet. Soms ontkom je er niet aan, maar probeer het zoveel mogelijk te voorkomen zodat je performance altijd zo optimaal mogelijk is. Haal zoveel mogelijk uit je bronsysteem en beperk zo de bewerkingen die je moet doen in Power BI. Of maak gebruik van M-Query vóórdat je de data in Power BI gebruikt.

Extractietools

Vraag jezelf ook af of je altijd álle data uit je bronsysteem wil ophalen en gebruiken, of dat je een extractietool (bijvoorbeeld Azure Data Factory) gebruikt om alleen de data eruit te halen die je daadwerkelijk wil gaan gebruiken. Met die tool kun je dan van tevoren een gestileerde dataset maken. Als je slechts enkele tabellen hebt ter aanvulling van je datamodel of je hoeft je data maar een beetje te verrijken: weet dan dat dat prima met Power BI zelf kan.

Meer weten?

Ga je zelf met meerdere verschillende bronnen aan de slag in Power BI? Dan hopen we dat deze tips je verder helpen. Mocht dat niet zo zijn, neem gerust contact met ons op! We helpen je graag verder.

Jij wil er toch ook relaxed bij zitten? Klik op de knop hieronder en kom te weten hoe jij dit ook kunt:

    (Bij verzenden ga je akkoord met ons privacybeleid)