Een fulltime baan aan rapportages
De data stond al keurig in Power BI. Maar deze MSP met 50+ klanten had geen goede manier om er per klant een report van te maken. Eén report kostte anderhalf uur handwerk: DAX-queries schrijven, data controleren, layout opmaken en vertalen naar het Engels. Reken dat door voor 50 klanten en je hebt een fulltime baan. Het team wilde nette reports in twee talen, met correcte cijfers, zonder er zelf uren aan kwijt te zijn.
Een commando in plaats van anderhalf uur
We bouwden een custom slash command in Claude Code. Je geeft een klantnaam en een rapporttype op, en het command maakt een compleet report. De beschikbare measures en dimensies haalt het op via een MCP-server die direct op het Power BI-model is aangesloten.
Elke DAX-query wordt gecontroleerd tegen dat echte datamodel. Bestaat een measure niet, dan komt die niet in het report. Zo kan er geen verzonnen kolom of measure in een report terechtkomen.
Elk report heeft dezelfde opbouw: samenvatting, trendgrafieken, detailtabellen en een korte uitleg bij afwijkingen. De layout ziet er goed uit op scherm en op papier.
Van 20 uur rapportage per week naar minder dan 1 uur.
Leren van de eerste 200
Na de eerste 200 reports controleerden we alle bestanden in één keer op hun structuur. Daar kwamen 30 problemen uit, zoals ontbrekende secties, een verkeerde kolomvolgorde en inconsistente namen. We herstelden ze in één ronde. Bij handwerk waren diezelfde fouten maandenlang blijven zitten.
Daarna kwam er een staging-systeem. Heeft iemand een report met de hand bijgewerkt, dan krijgt het de status “frozen”. Het deploy-script slaat die pagina’s over, zodat handwerk niet wordt overschreven. Een aparte check, de Visual Truthifier, kijkt vóór publicatie of grafieken en tabellen goed renderen. Een lege chart of een ontbrekend label komt zo niet live.
Elke ochtend vers
Een LaunchAgent draait elke dag om 06:00 en ververst alle dashboards. Als het team begint, staat de nieuwste data klaar. Voor publicaties is er een deploy-playbook met alle stappen, inclusief rollback.
Het resultaat: 872 live reports, 449 in het Engels en 423 in het Nederlands, allemaal met gevalideerde data. Nieuwe klanten krijgen hun eerste set reports op dag twee van de onboarding.