ChatGPT & Power BI

De introductie van ChatGPT eind 2022 heeft geleid tot een overvloed aan interesse en ontwikkelingen. De chatbot heeft inmiddels meer dan 1,6 miljard gebruikers, techreuzen hebben miljarden geïnvesteerd en er wordt veel geschreven over de mogelijkheden. Ook bij het werken met data kan dit een revolutionaire ontwikkeling blijken, maar versie 3.5 is nog niet zo ver dat het volledig autonoom BI rapportages kan creëren. Dus de vraag is op dit moment hoe je deze chatbot in je voordeel kunt gebruiken. Na ons artikel over ChatGPT als copiloot bij Qlik Sense, staat in dit artikel Microsoft Power BI centraal. Onze Business Intelligence consultant Martin Memelink zoekt het voor je uit.

Zou het niet handig zijn om soms snel een duwtje in de juiste richting te kunnen krijgen, in het werken met Power BI, M-query of DAX? Dit is de kracht van ChatGPT: het kan je voor jouw specifieke vraag snel nieuwe inspiratie of oplossingsrichting geven. Er is daarnaast nog veel meer mogelijk: je kunt ook vragen stellen over datastrategie, kpi’s, datawarehousing en beheer. In dit artikel beperken we ons tot de dagelijkse praktijk van werken met Power BI, waarbij Chat GPT je kan helpen om sneller, makkelijker en daarmee effectiever te zijn.

 

Power BI functies

Voordat we kijken naar query’s en data analyse beginnen we bij de UI van Power BI. Soms loop je tegen een praktisch probleem aan waarbij het lang kan duren om te vinden in welke supportforum-post de juiste oplossing is voorgesteld. Voordat je hiernaar gaat googelen zou je dit ook aan ChatGPT kunnen voorleggen.

Laten we bijvoorbeeld vragen naar een bekend trucje om een datum-as te sorteren wanneer de maandnaam als tekst wordt weergegeven (dus chronologisch sorteren in plaats van alfabetisch). Als we dit voorleggen aan ChatGPT wijst het direct naar de oplossing.

Hoewel de genoemde panes inmiddels andere namen hebben gekregen, is de “Sort direction” dropdown inderdaad de manier om de maanden op de juiste volgorde te zetten.

 

Eerste hulp bij queryen

Laten we vervolgens kijken naar query’s. Het snel genereren en analyseren van computercode is een van de sterke punten van ChatGPT. Als LLM (large language model) is het bij uitstek geschikt om taal te interpreteren en genereren. Het kan bijvoorbeeld in seconden een hele game schrijven in HTTP, CSS en Java, maar is ook bekend met DAX en M-query. Je kunt hierbij ChatGPT vragen om code te analyseren of zelfs genereren.

In het volgende voorbeeld vraag ik uitleg over een DAX-query die een hiërarchie-kolom in een medewerkertabel opbouwt. Binnen enkele seconden krijg ik een heldere uitleg terug waarin ik per regel kan lezen wat de DAX query doet.

Deze uitleg is volledig, begrijpelijk en correct, wat verrassend is aangezien er geen enkele context is meegegeven over de brondata. Als je erachter wilt komen wat een query doet zou je in het verleden misschien beginnen met googelen of DAX-wiki’s erop naslaan, maar daarbij is het altijd nog nodig om zelf de vertaalslag te maken van wat de gebruikte functies in algemene zin doen naar de context van jouw specifieke situatie. Met ChatGPT krijg je direct gepersonaliseerde uitleg, specifiek voor jouw query.

Tip: als het antwoord nog niet is wat je verwacht, kun je proberen de prompt anders te formuleren. Nu is de respons bijvoorbeeld een codeblok waarin commentaarregels met uitleg zijn ingevoegd. Als ik liever resultaat in normale tekst zou willen is het een kwestie van dit verzoek in mijn prompt erbij schrijven. ChatGPT zal andere antwoorden geven wanneer de vraag anders geformuleerd is.

 

Genereren

Naast het helpen met het analyseren van query’s is het ook mogelijk deze te laten genereren door ChatGPT. Dit maakt het een erg krachtige tool om snel een bepaalde oplossingsrichting te vinden. Waar je voorheen misschien even tijd kwijt zou zijn om de juiste formule of syntax te vinden, kun je deze in een paar seconden door ChatGPT aangereikt krijgen.

Bijvoorbeeld in de volgende query. Ook hierbij is het niet nodig om context te geven, want de chatbot doet zelf aannames en geeft hierover een toelichting.

Dit kan ook in DAX, zie het volgende voorbeeld.

Hierin is te zien dat het belangrijk is om nauwkeurig te zijn in hoe de vraag is geformuleerd. Deze DAX-expressie is namelijk geschikt om te queryen in DAX Studio, maar kan niet gebruikt worden in een measure of tabel in Power BI. Een kleine aanpassing geeft een bruikbaar resultaat.

Beperkingen

Het is nu verleidelijk om te denken dat we vanaf dit moment nooit meer zelf code hoeven schrijven, maar dit allesbehalve de werkelijkheid. De laatste query is in eerste opzicht goed opgebouwd, maar hij werkt niet zoals gevraagd. In de laatste regel wordt bijvoorbeeld [Year] gebruikt, wat YEAR([Date]) had moeten zijn. Daarnaast was gevraagd om maandelijkse hoeveelheden, maar de query maakt een regel per toekomstige dag met in de laatste kolom de totale omzet over het afgelopen jaar. Het is dus nodig om deze code zelf verder om te bouwen tot een werkende oplossing. Of zou ChatGPT dit kunnen aanpassen?

Deze DAX query werkt helemaal niet, omdat er verkeerd gebruik wordt gemaakt van de GENERATE functie. Pogingen om ChatGPT zelf de fout te laten herstellen zijn lopen in dit geval op niets uit en blijkt het alsnog nodig om zelf de nodige kennis van DAX te hebben om de query werkend te krijgen.

Er zijn meer beperkingen. GPT-3.5 is bijvoorbeeld berucht slecht in algebra, omdat het rekenregels verkeerd toepast en er zijn problemen met de bereikbaarheid door de grote hoeveelheid actieve gebruikers. Daarnaast zijn er vraagtekens te plaatsen op het vlak van data security en privacy. Als je werkt aan een complex probleem kan het bijvoorbeeld nodig zijn om rijen voorbeelddata of code mee te sturen om een nuttige respons te krijgen. Maar wanneer je dit doet geef je feitelijk bedrijfsgegevens aan OpenAI (het bedrijf achter ChatGPT) dat die vervolgens mag opslaan en verwerken.

 

Data analyseren

Uiteindelijk is het doel van BI om bruikbare inzichten te genereren voor vragen uit de business, dus laten we ten slotte nog kijken naar de mogelijkheden voor ChatGPT om analyses uit te voeren. Power BI heeft op dit moment al functies om analyses uit te voeren met machine learning: de kpi- en q&a-visuals, maar het is nog even wachten tot Microsoft een volwaardige integratie maakt met de kracht van ChatGPT. Met de aangekondigde samenwerking tussen Microsoft en OpenAI ligt het voor de hand dat we een integratie met Power BI kunnen verwachten, zoals de recente copilot functies in Power Apps en Azure.

Het is op dit moment met een omweg toch al mogelijk om ChatGPT data te laten analyseren in Power BI. Dit kan door in Power Automate via de premium HTTP-connector verbinding te maken met de API van ChatGPT. Vervolgens kan ChatGPT middels de Power Apps visual een reactie geven op geselecteerde data, bijvoorbeeld om een uitspraak te doen over afwijkingen. Deze oplossing is echter nog experimenteel en traag.[1]

 

Toekomst

De komende maanden en jaren beloven de ontwikkelingen in AI razendsnel te gaan. De volgende versie GPT-4 is al beschikbaar tegen betaling en presteert naar verluid al beter op beroepsexamens dan de meerderheid van de menselijke kandidaten.[2] Maar we zijn nog niet op het punt dat ChatGPT volledig zelfstandig data analyses kan uitvoeren of dashboards maken.

Wel is het een fantastische tool om als vraagbaak te gebruiken: om inspiratie op te doen analysevraagstukken of bij DAX of M-query code. Maar gezien de huidige beperkingen is het niet mogelijk om gegenereerde code direct te kunnen gebruiken in de dagelijkse praktijk. Maar voor wie bekend is met de beperkingen is het gebruik ervan alsnog een verrijking voor iedereen die snel en effectief in Power BI wil werken.

 

Bronnen

 

Geschreven door Martin Memelink
Business Intelligence Consultant