Power BI koppelen aan een API: je opties op een rij

Power BI koppelen aan een API kan met een eigen Power Query-script, een kant-en-klare connector of een export. Dit zijn de opties en wanneer ze passen.

Kort antwoord

Je koppelt Power BI aan een API op drie manieren: met een eigen Power Query-script dat de API rechtstreeks aanroept, met een kant-en-klare connector of koppeling die de data al voor je ophaalt, of via een export naar CSV of Excel. Een eigen script geeft de meeste vrijheid maar vraagt onderhoud, bijvoorbeeld voor paginering en foutafhandeling. Een gestandaardiseerde API van een platform, zoals die van APIboard, scheelt het meeste werk omdat meerdere bronnen op dezelfde manier worden opgehaald.

Wie data uit een bedrijfssysteem in Power BI wil hebben, komt vroeg of laat bij een API uit. Een API is de officiële toegangsdeur van een systeem tot zijn gegevens, en Power BI kan er op meerdere manieren mee praten. Welke manier past, hangt af van hoeveel bronnen je hebt en hoeveel onderhoud je wilt doen.

Optie 1: een eigen Power Query-script

In Power BI Desktop kies je Gegevens ophalen, een lege query en de geavanceerde editor. Daar schrijf je in de taal M zelf de aanroep van de API. Je bepaalt de URL, stuurt een sleutel of token mee en zet het JSON-antwoord om in een tabel.

Dit geeft de meeste vrijheid, maar je regelt alles zelf. Geeft de API de data in pagina’s, dan moet je script die doorlopen. Verandert de API van opbouw, dan breekt je script. Voor één bron en iemand die M kent, is dit prima; voor tien bronnen wordt het een eigen onderhoudstaak.

Optie 2: een kant-en-klare connector of koppeling

Sommige systemen hebben een eigen connector in Power BI, en platforms zoals APIboard halen de data uit het bronsysteem op en leggen die gestandaardiseerd klaar. Je hoeft dan niet per systeem uit te zoeken hoe de authenticatie werkt of hoe velden heten.

Bij APIboard koppel je bijvoorbeeld Exact Online of Moneybird met je bestaande inloggegevens, waarna de tabellen via de eigen API beschikbaar zijn. API-toegang zit in alle pakketten, zie prijzen. Het voordeel is dat elke bron op dezelfde manier wordt opgehaald.

Optie 3: een export naar CSV of Excel

De simpelste route is een export uit het bronsysteem die je in Power BI inleest. Voor een eenmalige analyse is dat prima. Voor een rapport dat elke week of maand wordt bijgewerkt, is het de zwakste schakel: iemand moet exporteren, het bestand op de juiste plek zetten en hopen dat de kolommen niet zijn veranderd.

Zoek je een structurele oplossing, kijk dan eerst of een van de eerste twee opties kan. Meer over die afweging staat in een API-koppeling zelf bouwen of een platform gebruiken.

Wat je in de praktijk tegenkomt

Welke optie je ook kiest, dezelfde punten komen terug. Paginering: haal je alle pagina’s op, of mis je rijen? Wijzigingen: komen rijen die in de bron zijn aangepast of verwijderd goed mee? Limieten: een API staat maar een bepaald aantal aanvragen toe, dus plan verversingen niet te dicht op elkaar.

Bij de API van APIboard loopt het Power BI-script alle pagina’s door tot er geen volgende meer is en laat het rijen weg die in de bron zijn verwijderd. De stappen staan in de documentatie over Power BI koppelen. Houd er rekening mee dat de API-sleutel in het Power BI-bestand zelf wordt opgeslagen, dus deel zo’n bestand met zorg.

Welke optie past bij jou

Een rekenvoorbeeld met fictieve getallen. Je wilt vijf bronnen in één rapport. Bouw je voor elke bron een eigen script, dan onderhoud je vijf stukjes code met elk eigen inlogregels en eigen veldnamen; verandert er één, dan moet je zoeken waar het stuk gaat. Haal je alle vijf op via dezelfde API, dan schrijf je één patroon en wissel je alleen het pad naar de tabel.

Als vuistregel: één bron en iemand die M kent, dan volstaat een eigen script. Twee of meer bronnen die je regelmatig ververst, dan wint een gestandaardiseerde API. Een export blijft voor eenmalig werk.

Begin klein. Haal eerst één tabel op, bijvoorbeeld de facturen, controleer in Power BI of het aantal rijen klopt met de bron, en breid daarna uit. Kijk bij het eerste verversen ook of de volledige tabel binnenkomt en niet alleen de eerste pagina; dat is de fout die het vaakst onopgemerkt blijft.

Onze tip: gebruik voor elk Power BI-rapport een eigen API-sleutel met een duidelijke naam. Raakt een bestand ooit op een verkeerde plek, dan trek je alleen die sleutel in en blijft de rest werken.

Veelgestelde vragen

Kan Power BI direct een REST API aanroepen?

Ja. Power BI Desktop kan via Power Query een web-adres aanroepen en het antwoord, meestal in JSON-formaat, omzetten naar een tabel. Je kiest daarvoor Gegevens ophalen en daarna Web of een lege query. Voor eenvoudige API's werkt dat prima; bij paginering en authenticatie heb je meestal een eigen script nodig.

Wat is paginering en waarom is dat een probleem in Power BI?

Veel API's geven bij een grote tabel niet alle rijen in één keer terug, maar in pagina's. Power BI haalt dan alleen de eerste pagina op, tenzij je script de volgende pagina's zelf ophaalt. Je rapport lijkt dan te kloppen, terwijl er rijen ontbreken. Een goed script loopt alle pagina's door tot er geen volgende meer is.

Is een export naar CSV een slechte oplossing?

Niet per se. Voor een eenmalige analyse is een export snel en eenvoudig. Het wordt een probleem zodra het rapport regelmatig bijgewerkt moet worden, omdat iemand dan telkens handmatig moet exporteren en het bestand moet vervangen. Voor terugkerende rapportage is een directe aanroep van een API of koppeling betrouwbaarder.

Waar moet ik op letten met een API-sleutel in Power BI?

Een sleutel die in een script staat, wordt meegeslagen in het Power BI-bestand zelf. Deel dat bestand dus niet onbezonnen en gebruik een aparte sleutel per rapport, zodat je er één kunt intrekken zonder andere toepassingen te raken. Leg de sleutel nooit vast in een bestand dat in een openbare map of mailbox terechtkomt.

Hier meer over weten?

Koppel binnen minuten met je software, zonder zelf te hoeven knutselen. Wij maken het eenvoudig voor je.