Hoe automatiseer je de controle op mislukte Power BI-refreshes?

Ed Kisman ·
Power BI-dashboard op monitor met rood waarschuwingssignaal, koffiekop en laptop op bureau, serverruimte op achtergrond.

Een mislukte Power BI-refresh is vervelend, maar nog vervelender is het wanneer je er uren later pas achter komt. Dashboards tonen dan verouderde data, beslissingen worden genomen op basis van onjuiste cijfers en gebruikers verliezen vertrouwen in je rapportages. Gelukkig kun je dit voorkomen door de controle op mislukte refreshes volledig te automatiseren.

In deze handleiding leer je stap voor stap hoe je Power BI refresh monitoring opzet, van de benodigde voorbereiding tot het vastleggen van fouten in een database. Na het doorlopen van deze stappen ontvang je automatisch een melding zodra een refresh mislukt en beschik je over historische data om patronen te herkennen.

Wat je nodig hebt vóór de automatisering

Voordat je begint met het instellen van alerts en flows, is het belangrijk dat je omgeving goed is ingericht. Zonder de juiste toegangsrechten en tools loop je al snel vast bij de eerste stap.

Zorg dat je de volgende zaken op orde hebt:

  • Een Power BI Pro- of Premium-licentie, afhankelijk van de workspaces die je wilt monitoren
  • Beheerderstoegang tot de Power BI-workspace waar de datasets staan
  • Een Microsoft Power Automate-account (inbegrepen bij Microsoft 365)
  • Toegang tot de Power BI REST API via een geregistreerde Azure AD-applicatie
  • Optioneel: een database (zoals SQL Server of PostgreSQL) voor het opslaan van refresh-logs
  • Basiskennis van JSON en REST API-aanroepen is handig, maar niet strikt vereist voor de eerste stappen

Registreer de Azure AD-applicatie alvast in de Azure-portal en noteer de client-ID, tenant-ID en client secret. Je hebt deze gegevens nodig bij de API-stappen verderop.

Stel een Power Automate-flow in voor refresh-meldingen

De eenvoudigste manier om Power BI alerts in te stellen is via Power Automate. Microsoft heeft hiervoor een ingebouwde connector beschikbaar die direct reageert op refresh-statussen binnen je workspace.

  1. Ga naar Power Automate en kies voor “Geautomatiseerde cloudflow”.
  2. Zoek naar de trigger “When a dataflow refresh completes” of gebruik de algemene Power BI-connector met de trigger “When a dataset refresh fails”.
  3. Selecteer de juiste workspace en dataset uit de dropdownmenu’s.
  4. Voeg een actie toe: kies “Stuur een e-mail (V2)” via de Outlook-connector, of gebruik de Teams-connector om een bericht te sturen naar een specifiek kanaal.
  5. Vul het bericht in met dynamische velden zoals de naam van de dataset, het tijdstip van de fout en de workspace-ID.
  6. Sla de flow op en activeer hem.

Nadat je de flow hebt opgeslagen, kun je hem testen door een refresh handmatig te starten en tijdelijk te laten mislukken (bijvoorbeeld door een databron tijdelijk onbereikbaar te maken). Als de melding binnenkomt, werkt de basismonitoring correct. Met deze flow ingesteld ga je nu een stap verder met de REST API voor meer gedetailleerde detectie.

Gebruik de Power BI REST API voor geavanceerde detectie

De Power Automate-connector is handig, maar biedt beperkte informatie over de oorzaak van een mislukking. Met de Power BI REST API kun je gedetailleerdere foutmeldingen ophalen en meerdere datasets tegelijk monitoren, ook buiten de standaard triggers om.

Authenticatie instellen

Gebruik de eerder geregistreerde Azure AD-applicatie om een OAuth 2.0-token op te halen. Stuur een POST-verzoek naar het token-endpoint van Microsoft met je tenant-ID, client-ID, client secret en de scope https://analysis.windows.net/powerbi/api/.default. Bewaar het teruggekregen access token voor de volgende aanroepen.

Refresh-historie ophalen

Roep het volgende endpoint aan om de refresh-geschiedenis van een specifieke dataset op te halen:

  • Endpoint: GET https://api.powerbi.com/v1.0/myorg/groups//datasets//refreshes
  • Voeg in de header toe: Authorization: Bearer
  • Filter de resultaten op de status “Failed” om alleen mislukte refreshes te identificeren
  • Haal het veld serviceExceptionJson op voor de gedetailleerde foutomschrijving

Verwerk deze API-aanroep in een geplande Power Automate-flow of een Azure Function die elk uur of elke nacht draait. Zo detecteer je mislukte refreshes ook wanneer er geen ingebouwde trigger beschikbaar is en beschik je over de volledige foutcontext voor diagnose. Meer weten over data-integratie in dit soort pipelines? Bekijk dan ook onze pagina over BI-data-integratie.

Leg refresh-fouten vast in een database voor rapportage

Losse e-mailmeldingen zijn nuttig voor directe actie, maar voor structurele analyse wil je refresh-fouten opslaan in een database. Zo kun je trends zien, rapporteren over betrouwbaarheid en proactief ingrijpen voordat een probleem escaleert.

  1. Maak een tabel aan in SQL Server of PostgreSQL met kolommen zoals: dataset_id, dataset_name, workspace_id, refresh_start, refresh_end, status en error_message.
  2. Breid je Power Automate-flow of Azure Function uit met een stap die de opgehaalde API-data wegschrijft naar deze tabel via een SQL-connector of een directe databaseverbinding.
  3. Gebruik de opgeslagen data als bron voor een Power BI-dashboard dat refresh-betrouwbaarheid over tijd visualiseert.

Na een paar weken heb je genoeg historische data om te zien welke datasets het vaakst mislukken, op welke tijdstippen problemen optreden en of er een relatie is met specifieke databronnen. Dit maakt je monitoring proactief in plaats van reactief.

Controleer of de automatisering correct werkt

Voordat je de monitoring live zet, is het essentieel om te valideren dat alle onderdelen correct samenwerken. Een flow die stil faalt, geeft je een vals gevoel van veiligheid.

  1. Simuleer een mislukte refresh door de credentials van een databron tijdelijk te wijzigen of een gateway offline te halen.
  2. Controleer of de Power Automate-flow wordt geactiveerd en of de melding correct aankomt via e-mail of Teams.
  3. Verifieer in de database of de fout correct is vastgelegd met de juiste tijdstempel en foutomschrijving.
  4. Herstel de originele situatie en controleer of een succesvolle refresh ook correct wordt geregistreerd (status “Completed”).

Bekijk ook de flow-rungeschiedenis in Power Automate om te controleren of er geen stille fouten zijn opgetreden in de flow zelf. Controleer daarnaast de API-aanroepen op correcte statuscodes (200 OK). Als alles klopt, is je Power BI refresh monitoring operationeel.

Veelvoorkomende problemen en hoe je ze oplost

Zelfs met een goed opgezette automatisering kun je tegen obstakels aanlopen. Hieronder staan de meest voorkomende problemen en hun oplossingen.

De Power Automate-trigger wordt niet geactiveerd

Controleer of de Power BI-connector de juiste workspace en dataset heeft geselecteerd. Sommige triggers werken alleen bij datasets in Premium-workspaces. Controleer ook of de Power Automate-gebruiker voldoende rechten heeft binnen de workspace (minimaal “Contributor”).

De REST API geeft een 401 Unauthorized terug

Dit betekent dat het access token ontbreekt of verlopen is. Tokens zijn standaard één uur geldig. Zorg dat je flow of script automatisch een nieuw token ophaalt vóór elke API-aanroep. Controleer ook of de Azure AD-applicatie de juiste API-permissies heeft gekregen en of deze zijn goedgekeurd door een beheerder.

Foutmeldingen zijn leeg of onvolledig

Het veld serviceExceptionJson is soms leeg bij bepaalde soorten fouten, zoals time-outs of gateway-problemen. Combineer dit veld dan met refreshType en de tijdsduur van de refresh om een betere diagnose te stellen. Voor gateway-gerelateerde fouten is het ook nuttig om de on-premises gateway-logs te raadplegen.

De database-schrijfstap mislukt

Controleer de verbindingsstring en of de SQL-gebruiker schrijfrechten heeft op de doeltabel. Bij gebruik van Power Automate met een on-premises SQL Server is een on-premises data gateway vereist. Zorg dat deze gateway actief en up-to-date is. Meer over SQL Server-beheer vind je op onze website.

Hoe DBA helpt met Power BI refresh monitoring

Het opzetten van een robuuste monitoring voor Power BI-refreshes vraagt om kennis van zowel de BI-laag als de onderliggende database-infrastructuur. Wij combineren beide expertises en helpen organisaties om betrouwbare, geautomatiseerde monitoring in te richten die aansluit bij hun specifieke omgeving.

Wat wij voor jou kunnen doen:

  • Inrichten van een volledige Power BI refresh monitoring-oplossing, inclusief API-integratie en alerting via e-mail of Teams
  • Opzetten van een refresh-logdatabase in SQL Server of PostgreSQL met bijbehorende rapportages in Power BI
  • Koppelen van monitoring aan bestaande BI-infrastructuur en databronnen
  • Adviseren over de juiste licentie- en workspaceconfiguratie voor betrouwbare refresh-triggers
  • 24/7 ondersteuning bij incidenten en proactief beheer van je Power BI-omgeving

Wil je weten hoe wij jouw Power BI-omgeving betrouwbaarder kunnen maken? Neem contact met ons op en we kijken samen naar de beste aanpak voor jouw situatie.

Gerelateerde artikelen