Peut-on utiliser ChatGPT pour Power BI ?

En ce début d’année 2023, l’intelligence artificielle est sur toutes les lèvres, avec l’apparition de ChatGPT, déclinaison sous forme d’agent conversationnel du modèle GPT 3.5, élaboré par la société OpenAI.

Il faut garder à l’esprit que ce modèle prédit les prochains mots probables mais son corpus d’entrainement est tel qu’il est possible d’imaginer des usages, en particulier avec les langages de programmation, comme peut le faire l’assistant GitHub Copilot dans Visual Studio Code.

ChatGPT pour le langage DAX

Nous pouvons imaginer deux usages autour du langage dédié aux mesures et aux colonnes calculées.

Faire expliquer une formule DAX complexe

L’exemple suivant est tiré d’une page de l’excellent site SQLBI.

Il faut noter que le modèle a été entrainé avant l’apparition de cette formule dans Power BI mais l’explication reste cohérente, sans doute grâce à la proximité de cette fonction avec sa version Excel.

Faire écrire une formule DAX à partir d’une description

Nous allons ici écrire un prompt avec un maximum d’informations sur le modèle sémantique : noms de tables, noms de champs, valeurs…

Réponse obtenue le 4 février 2023

En re-générant la réponse, suite à l’évolution du modèle, nous obtenons la formule suivante.

Si nous connaissons la famille de fonctions TIME INTELLIGENCE, nous pouvons réorienter la réponse.

Sur ces deux exemples, l’agent conversationnel ChatGPT se montre plutôt performant, et un très bon accompagnateur pour des personnes débutant dans le langage DAX. Toutefois, il faudra se méfier des syntaxes proposées, être critique et s’appuyer sur l’expérience… d’êtres humains, formateur.ices Power BI !

Nous pourrions nous prendre à rêver que les visuels Q&A ou smart narrative soient boostés par ChatGPT et donnent alors des performances très élevées dans l’élaboration de visuels ainsi que dans leur interprétation.

ChatGPT pour le langage M ?

Dans l’interface Power Query, le langage M s’écrit déjà automatiquement grâce aux actions réalisées dans l’interface visuelle. Pour autant, il peut être efficace d’écrire ses propres fonctions qui pourront ensuite être utilisées pour générer de nouvelles colonnes.

Dans l’exemple suivant, nous allons écrire une fonction permettant de remplacer toutes les lettres accentuées par leur équivalent, sans accent. Posons la question de cette fonction à ChatGPT.

Wahou, cela semble très impressionnant ! Essayons tout de suite cette fonction dans Power Query.

Attention, la fonction Text.ReplaceEach() n’existe pas, ce que nous confirmera la documentation officielle ! ChatGPT est un outil créatif, cette fonction est donc une très bonne suggestion pour les équipes de développement du produit !

Nous pouvons faire part de cette erreur à ChatGPT et voir ce qu’il nous propose maintenant.

Essayons cette seconde proposition. Le code est bien validé mais l’appel à la fonction va déclencher une nouvelle erreur.

Mauvaise pioche à nouveau, il semble que l’exercice soit trop difficile, en l’état actuel des performances du modèles ChatGPT.

Une simple recherche sur le Web nous amère assez rapidement à cet échange sur StackOverflow.

Le code de la fonction est donc :

= (textToConvert) =>let
textBinary = Text.ToBinary (textToConvert, 1251),
textASCII = Text.FromBinary(textBinary , TextEncoding.Ascii)
in
textASCII

En conclusion, en ce début d’année 2023, nous pouvons dire que l’association formateur.ice + forum + ChatGPT est une excellente combinaison pour progresser dans la maîtrise des deux principaux langages de Power BI.