Kontakt

Nutzen Sie dieses Kontaktformular oder schreiben Sie mir direkt per E-Mail.

ChatGPT-Prompts für Power BI: Eindeutige Einträge ohne leere Werte ausgeben

  • Richtigen Prompt für ChatGPT finden
  • DAX-Formel mit ChatGPT generieren
  • Hinweis zum Aufbau des Prompts
Jan Trummel - Coach für  Excel und  Power BI

Jan Trummel hat mehr als 800 Seminare zu den Themen Power BI, Datenbanken und Excel durchgeführt.

Ich habe von einer Leserin eine Frage zu Power BI Desktop erhalten. Ich wollte herausfinden, ob die Künstliche Intelligenz (KI) ChatGPT dabei helfen kann, diese Frage zu beantworten.

Meine Leserin möchte aus einer Tabellenspalte in Power BI Desktop alle eindeutigen Einträge ausgeben und in einer neuen Tabelle speichern. Allerdings will sie leere Einträge nicht übernehmen. Da ihr dies leider noch nicht gelungen ist, hat sie mich über meine Q&A-Seite angeschrieben.

Hier die Frage meiner Leserin:

Hallo Herr Trummel,

ich habe folgende Frage:

Über die Funktion Distinct habe ich aus einer Tabellenspalte alle Einträge ausgelesen und in eine neue Tabelle gebracht. Jedoch gibt es in der Ursprungstabelle auch leere Einträge, so dass ein Leereintrag auch in der neuen Tabelle auftaucht.

Gibt es eine Möglichkeit, das zu verhindern? Mit der Funktion Values erhalte ich das gleiche Ergebnis…

Hier ihr Versuch:

Tabelle in Power BI welche mit der Funktion DISTINCT erzeugt wurde. Die Tabelle hat eine leere Zeile.
Die Funktion DISTINCT gibt auch die leere Zeile aus. Mit VALUES erhalten wir das gleiche Ergebnis

Gehen wir einmal davon aus, dass dies die Tabelle ist, mit der meine Leserin arbeitet. Die Tabelle hat den Namen „Bezeichnungen“:

Aus der Tabelle „Bezeichnungen“ wollen wir die eindeutigen Einträge (ohne leere Werte) auslesen

Erster Versuch mit ChatGPT

Ich habe es mir erst mal ganz einfach gemacht und die Frage eins zu eins als Prompt in ChatGPT eingegeben. (Prompt meint hier einfach nur die Anfrage, die Sie in das Textfeld von ChatGPT eingeben.)

Hinweis: Ich habe hier das Sprachmodell GPT-4 verwendet. Dies ist nur in der kostenpflichtigen Version von ChatGPT enthalten.

Hier die Antwort der künstlichen Intelligenz:

Antwort von ChatGPT, in welcher ein SQL-Befehl sowie eine Erklärung zu sehen sind.
ChatGPT lieferte eine Antwort - aber leider nicht für Power BI sondern für SQL

ChatGPT hatte hier eine Antwort für SQL generiert und nicht für Power BI. Dass war jedoch nicht die Schuld der Künstlichen Intelligenz. Stattdessen habe ich die Frage einfach nicht präzise genug gestellt.

Einer der größten Fehler beim Prompting ist, wenn Sie der Künstlichen Intelligenz nicht genug Informationen geben. Dann kann es mitunter passieren, dass die KI nicht richtig versteht was Sie meinen und Ihnen eine falsche Antwort liefert. Um frustrierende und langwierige Diskussionen mit ChatGPT zu vermeiden, geben Sie der KI also bereits im ersten Prompt so viele Informationen, dass sie Ihnen optimal helfen kann. Die Kunst liegt darin, den Prompt so präzise wie möglich zu formulieren!

Ich musste also einen neuen Prompt verfassen, in welchem ich genau beschrieb, was mein Problem war und welche Lösung ich erwartete.

Zweiter Versuch mit ChatGPT

Ich baute den neuen Prompt nun nach folgendem Muster auf:

  • Ich gab eine klare Aufgabe vor.
  • Ich benannte das Thema.
  • Ich führte alle wichtigen Aspekte auf, welche die KI berücksichtigen sollte.
  • Ich gab dem Programm Hinweise zur Länge der Antwort.

(An dieser Stelle ein ganz großer Dank an Andreas Berens und Carsten Bolk, die in ihrem Buch „Content Creation mit KI“ toll beschreiben, wie man einen perfekten Prompt für ChatGPT schreibt!)

Hier mein Prompt:

Ich habe eine Frage zu einer DAX-Formel in Power BI Desktop und möchte von dir die Antwort erhalten. Hier meine Frage: Ich möchte aus einer Tabellenspalte alle eindeutigen Einträge auslesen und in einer neuen Tabelle speichern. In der Tabellenspalte gibt es jedoch auch leere Einträge, die ich nicht übernehmen möchte.

Ich habe es bereits mit den Funktionen DISTINCT und VALUES versucht, welche aber jeweils eine leere Zeile in meine neue Tabelle einfügen.

Geh in deiner Antwort bitte davon aus, dass meine Tabelle den Namen „Bezeichnungen“ und die Spalte den Namen „Kürzel“ hat. Generiere bitte eine DAX-Formel, welche ich direkt in meine Datei einfügen kann.

Bitte gib mir anschließend eine kurze Erklärung, warum deine Formel funktioniert und weshalb die von mir verwendeten Funktionen nicht zum gewünschten Ergebnis geführt haben.

Schauen wir uns den Prompt einmal genauer an:

Zuerst sagte ich ChatGPT, dass es um Power BI Desktop geht. Der Zusatz „DAX-Formel“ machte deutlich, welche Technologie (Power Query oder DAX) behandelt werden soll. Damit war die Aufgabe klar umrissen.

Anschließend kommunizierte ich mein Thema: Ich wollte eindeutige Einträge aus einer Tabellenspalte auslesen.

Dann benannte ich die Aspekte, welche ChatGPT in seiner Antwort berücksichtigen sollte: Ich wollte die leeren Einträge nicht übernehmen. Darüber hinaus ließ ich die KI wissen, was ich bereits versucht (DISTINCT und VALUES) und dass dies nicht zum gewünschten Ergebnis geführt hatte.

Um es mir so einfach wie möglich zu machen, sagte ich dem Programm, wie meine Tabelle und meine Spalte heißen (so konnte ich die Formel direkt kopieren und in Power BI Desktop einfügen). Im letzten Satz bat ich die KI dann noch, mir eine kurze Erklärung zu der Formel (Hinweis auf die Länge) zu liefern.

Hier die Antwort von ChatGPT:

Antwort von ChatGPT mit einer DAX-Formel und einer Erklärung dazu.
Mit der richtigen Information lieferte ChatGPT ein Ergebnis, mit dem ich die Aufgabe in Power BI lösen kann.

Werfen wir einen kurzen Blick auf die Formel:

NeueTabelle = 
CALCULATETABLE(
    DISTINCT(Bezeichnungen[Kürzel]),
    Bezeichnungen[Kürzel] <> BLANK()
)

DISTINCT erzeugt eine Tabelle, welche nur die eindeutigen Wert beinhaltet. CALCULATETABLE generiert einen Filterkontext, welcher alle leeren Werte (BLANK) ausschließt.

Hier das Ergebnis:

Die eingefügte Formel erzeugt in Power BI Desktop eine Tabelle mit eindeutigen Werten ohne leere Zeile.
Die Antwort, die ChatGPT vorschlägt, übernimmt alle eindeutigen Werte und schließt die leere Zeile aus

Fazit

Die Formel löst meine Aufgabe! Sie liefert alle eindeutigen Einträge und schließt die leere Zeile aus.

Sicherlich gibt es auch noch andere Möglichkeiten, die Aufgabe zu lösen. Da ich den weiteren Hintergrund der Frage nicht kenne, kann ich nicht beurteilen, ob die mit ChatGPT gefundene Lösung wirklich die beste ist. Dennoch war es mir möglich, mit Hilfe generative Künstlicher Intelligenz eine funktionierende DAX-Formel zu finden.

Es steht außer Frage, dass Künstliche Intelligenzen wie ChatGPT immer wichtiger werden und wir mit ihrer Hilfe großartige Ergebnisse erzielen können. Dies gelingt jedoch nur, wenn wir in der Lage sind, den Prompt (also die Mitteilung an die KI) so zu formulieren, dass uns das Programm richtig versteht und uns optimal helfen kann. Da wir in ChatGPT keine starren Formeln eintippen (welche richtig oder falsch sein könnten), sondern in freien Sätzen kommunizieren, ist dies eine durchaus anspruchsvolle Aufgabe! Auch ich stehe hier erst am Anfang. In diesem Beitrag ging es mir darum, meine Erfahrungen mit Ihnen zu teilen. Ich hoffe dies hilft Ihnen dabei, selbst erfolgreich mit der künstlichen Intelligenz zu arbeiten und hilfreiche Prompts für Ihren Arbeitsalltag zu erzeugen.


Quellen

Andreas Berens, Carsten Bolk: Content Creation mit KI, 1. Auflage, Bonn: Rheinwerk Verlag, 2023, S. 66-67