Testing wird im Bereich Business Intelligence noch immer unterschätzt. Dabei sollten (Berichts-) Daten, ETL-Prozesse z.B. auf Basis von Power Query, als auch KPIs mit DAX systematisch getestet werden. Schließlich sind SQL Statements, Power Query Abfragen und DAX Code nichts anderes als Software, die - wie jede andere Software auch - getestet werden sollte. Mit der Einführung von AI zur Generierung von KPIs gewinnt Testing eine zusätzliche Bedeutung: die Korrektheit von KPIs muss dauerhaft gewährleistet sein, auch nach einer Änderung des Codes. Außerdem können von Menschen erstellte Tests auch zur Validierung oder Zieldefinition von KI-Prozessen gehören. Diese Tatsache gilt unabhängig davon, ob ein KPI von einem BI Spezialisten per Hand oder eben per KI erzeugt wurde.
Testing ist jedoch aus praktischen Gründen nicht immer einfach durchzuführen. Im Bereich des Microsoft BI Stacks bestehend aus Power BI, Power Query oder anderen Fabric Produkten und DAX fehlen sowohl Konzepte für Testing, als auch entsprechende Schnittstellen in den zu testenden Produkten. Power Query Code lässt sich nur innerhalb der Applikation (Excel, Power BI) interaktiv testen. Das Gleiche gilt für DAX KPIs.
Abhilfe sollen drei Tools liefern, die ich als kostenlose Versionen zur Verfügung stelle. Mit NAF Power Query lässt sich zum Einen Power Query Code interaktiv in einer StandAlone Applikation erzeugen inkl. Intellisense, KI Prompt und diversen Edit-Features, zum Anderen kann ein Generator eine Commandline erzeugen, die an das Tool geschickt wird und ein Resultset ausspuckt. Das Versenden von Statements an das Tool per Commandline und das Entgegennehmen des Ergebnisses ermöglicht es, Power Query Code per Commandline zu testen und in ein Testing Framework zu integrieren.
Ähnlich funktioniert NAF DAX. Auch hier gibt es einen KI Prompt, visuelle Features und eine Commandline-Integration.
NAF Testing wiederum integriert das Testen von SQL Statements, Power Query Statements und DAX Code in ein Framework. Es vergleicht die Ergebnisse der verschiedenen Abfragen mit erwarteten Ergebnissen, die in einer Datenbank abgelegt sind und gibt ein Testergebnis zurück.
Durch NAF Testing werden Anwender in die Lage versetzt, Tests interaktiv über eine Oberfläche zu definieren und auszuführen. Die Oberfläche kann aber auch wie bei den anderen Tools als Generator verwendet werden und die Tests können automatisch ausgeführt werden. Auf diese Weise wird das Entwickeln von Berichten, ETL-Prozessen und Measure Definitionen professionalisiert, ohne dass Anwender das Coding erlernen müssen. Testen ist nun mehr, als einen Kollegen zu bitten, mal ein wenig im Bericht herumzuklicken. In Zeiten, wo Anwender mit Hilfe von KI Measures entwickeln, kann NAF Testing auch dabei helfen, die Qualität des KI generierten Codes sicherzustellen.
Bitte beachten: die drei Tools lassen sich herunterladen und installieren, werden aber erst in den nächsten Wochen signiert.