Als je met Power BI werkt, weet je dat DAX al snel het probleem van één persoon kan worden. Juist omdat het zo lang duurt om er goed in te worden, kan het gebeuren dat er uiteindelijk maar één persoon is die er daadwerkelijk met zelfvertrouwen mee kan werken, terwijl alle anderen achter hem of haar in de rij moeten staan.
Claude Code, dat rechtstreeks binnen je Power BI-project werkt via VSCode en GitHub, brengt daar verandering in. Zodra het correct is ingesteld met je PBIP-bestanden, kan iedereen in het team in gewone taal beschrijven wat hij of zij nodig heeft en een werkend eerste ontwerp terugkrijgen: DAX-code die verwijst naar je tabellen, relaties en model.
Daar gaat dit artikel over: wat deze verbinding wel en niet mogelijk maakt, en hoe een configuratie eruitziet die in de productieomgeving goed functioneert.
Waarom is dit anders dan ChatGPT vragen om DAX te schrijven?

Het eerste wat de meeste mensen proberen als ze AI willen inzetten om te helpen met DAX, is een vraag in een algemene AI-chatbot plakken. Soms werkt dat. Maar vaker leidt het tot DAX-code die contextueel onjuist is, waarbij tabelnamen worden gebruikt die niet overeenkomen met die van jou, waarbij wordt uitgegaan van een structuur van de datumtabel die afwijkt van die van jou, en waarbij belangrijke relaties worden genegeerd.
Het probleem is dat de chatbot je specifieke model niet kent. Hij zoekt naar overeenkomsten met DAX-patronen die hij eerder heeft gezien. De uitvoer moet grondig worden bewerkt door iemand die DAX goed kent, wat het doel tenietdoet.
Door rechtstreeks in uw projectbestanden te werken, verandert dit. Claude Code leest uw PBIP/TMDL-bestanden voordat er iets wordt gegenereerd. Uw tabelnamen, kolomnamen, relaties en bestaande maatstaven staan allemaal in de repository. Wanneer het DAX genereert, wordt er code gegenereerd die specifiek op uw model is afgestemd.
Hoe de verbinding er technisch gezien uitziet
Claude Code werkt rechtstreeks binnen je Power BI-project met behulp van het PBIP/TMDL-formaat. Dit betekent dat je volledige modeldefinitie, inclusief tabellen, relaties, maatstaven en rapporten, als leesbare bestanden in de repository wordt opgeslagen, net zoals bij een dbt-project.
Claude leest die structuur door voordat er iets wordt gegenereerd. Wanneer het een DAX-maatstaf schrijft, verwijst het naar je tabellen en relaties. Alles wat wordt gegenereerd, doorloopt een pull-verzoek voordat het in je omgeving terechtkomt.
Wat kun je doen met Claude Code in combinatie met Power BI?
Laten we concreet zijn.
Dit zijn de scenario’s waarin je na de installatie het meeste profijt kunt hebben.
Nieuwe DAX-maatstaven schrijven: Claude Code leest het model, identificeert de relevante tabellen en relaties en genereert een maatstaf die de structuur weerspiegelt. De ontwikkelaar controleert deze, test hem en past hem indien nodig aan. Het moeilijkste deel – het opstellen van een werkend eerste ontwerp – duurt nu nog maar een paar minuten in plaats van een uur.
Inzicht in bestaande maatstaven: Elk Power BI-team heeft wel maatstaven waarvan niemand meer helemaal begrijpt hoe ze werken. Complexe, geneste berekeningen die zijn geschreven door iemand die inmiddels is vertrokken, zonder opmerkingen en zonder documentatie. Claude Code kan een bestaande maatstaf analyseren, stap voor stap in begrijpelijke taal uitleggen wat deze doet, mogelijke problemen signaleren en vereenvoudigingen voorstellen. Dit alleen al is een aanzienlijke tijdbesparing voor mensen die modellen overnemen die ze niet zelf hebben gebouwd.
Power Query-transformaties: De M-taal achter Power Query is nuttig, maar het is meestal erg vervelend om deze met de hand te schrijven. Met Claude Code gekoppeld kan een data-analist een transformatie beschrijven – bijvoorbeeld: ‘het adresveld opsplitsen in straat, plaats en postcode, en omgaan met gevallen waarin de postcode ontbreekt’ – en zo werkende M-code genereren.
Planning van het datamodel: Bij het opzetten van een nieuw rapportagegebied kan Claude Code op basis van een beschrijving van de rapportagevereisten – welke dimensies, aggregaties en tijdintelligentie nodig zijn – een tabelstructuur met relaties voorstellen.
Documentatie in bulk: Sommige maatstaven hebben geen beschrijvingsvelden, kolommen hebben cryptische namen en de enige persoon die wist wat ‘adj_rev_excl_fx’ betekende, is twee jaar geleden met pensioen gegaan. Claude Code kan een bestaande dataset systematisch doorlopen, de DAX-uitdrukkingen lezen en beschrijvingen voor maatstaven en kolommen genereren, waardoor je binnen enkele uren een basis voor je documentatie hebt.
Wat zijn de beperkingen bij het instellen van Claude Code in Power BI?
Het is net zo belangrijk om duidelijk te zijn over wat Claude Code niet doet als over wat het wel doet.
Claude Code voert wijzigingen niet rechtstreeks door in een gepubliceerde Power BI-dataset.
De workflow verloopt als volgt: Claude Code genereert de DAX- of M-code, een medewerker controleert deze, waarna deze via het normale Power BI-ontwikkelingsproces wordt geïmplementeerd. Alles verloopt via een pull-verzoek. Als je de beoordelingsstap overslaat omdat de uitvoer er goed genoeg uitziet, zul je uiteindelijk onjuiste maatstaven in de productieomgeving publiceren, en DAX-fouten in productierapportages zijn precies het soort zaken dat het vertrouwen snel ondermijnt.
De koppeling werkt ook het beste met goed gestructureerde modellen. Als je tabelnamen uit afkortingen van drie letters bestaan en je maatstaven een wirwar van ongedocumenteerde, geneste berekeningen zijn, zal Claude Code weliswaar technisch geldige code genereren, maar deze zal moeilijker te controleren en te onderhouden zijn en een grotere kans op subtiele fouten hebben. De installatie is een goed moment om naamgevingsconventies en hiaten in de documentatie aan te pakken, omdat het rendement van de AI-koppeling hoger is wanneer het model overzichtelijk is.
Een stap verder: MCP-integratie
Wie een live-verbinding wil tussen Claude Code en zijn Power BI-tenant, kan dit instellen via MCP, met behulp van de Power BI REST API (beschikbaar in alle werkruimten) of het XMLA-eindpunt (alleen Premium-werkruimten). Hierdoor krijgt Claude toegang tot metadata die verder gaat dan wat er in de bestanden staat, zoals de status van gepubliceerde datasets en een rijkere structurele context. Hiervoor zijn inloggegevensbeheer en een serviceaccount vereist, wat we in een vervolgopdracht behandelen. Voor de meesten volstaat de op bestanden gebaseerde configuratie voor het overgrote deel van de dagelijkse gebruikssituaties.
i-spark organiseert een eendaagse implementatiesprint voor iedereen die Claude Code correct wil aansluiten op zijn of haar Power BI-omgeving, het systeem wil laten configureren voor uw project, het wil laten testen met uw datasets en het wil laten overdragen met een stapsgewijze uitleg.
Heb je interesse in een opstelling? Neem contact met ons op.