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:
Gehen wir einmal davon aus, dass dies die Tabelle ist, mit der meine Leserin arbeitet. Die Tabelle hat den Namen „Bezeichnungen“:
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:
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:
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:
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