Der noch relativ neue Power Automate Button in Power BI Desktop eröffnet tolle Möglichkeiten zur Prozessautomatisierung in Power BI. Mit dieser Funktion können wir beispielsweise Backend Prozesse direkt aus einem Dashboard heraus aufrufen. Der ausführende User benötigt dabei nur das Recht auf den Flow, nicht aber auf den ausgeführten Prozess selbst. Damit ergeben sich sehr interessante Gestaltungsmöglichkeiten.
Im folgenden Beispiel bauen wir einen Button in ein Dashboard ein, der das Processing des zugrundeliegenden Datasets - also die Aktualisierung der Daten aus den Datenquellen - auslöst.
1. Ausgangssituation
Im Power BI Service erfolgt die Datenaktualisierung - also der Datenimport - entweder zeitplangesteuert oder über die Refresh Now Funktion am Dataset:
Der Refresh Button in den Reports und Dashboards startet dagegen keine Datenaktualisierung im zugrundeliegenden Dataset sondern aktualisiert lediglich die Visuals (für den Fall, daß sich seit der letzten Aktivität im Dashboard die Daten im Dataset geändert haben sollten):
2. Erstellen des Flows mit dem Power Automate Button
Die Aktualisierung des Datasets kann auch mit einem sogenannten Flow im Tool Power Automate automatisiert werden. Power Automate ist ein Tool aus der Power Platform, zu der auch Power BI gehört.
Mit dem Visual Power Automate kann direkt in Power BI ein Flow angelegt werden. Nach der Anlage des Visuals wird erst mal eine (nützliche) Anleitung zur Erstellung eines Flows angezeigt:
Die Belegung des Visuals mit Columns und/oder Measures aus dem Datamodel ist in unserem Fall nicht notwendig, da wir keine Datenübergabe aus der PBI Anwendung benötigen (was unserern Fall hier auch sehr einfach macht). Daher gehen wir gleich weiter zu Schritt 2 und starten die Edit Funktion über das 3-Punkte-Menü des Visuals:
Das Visual wird automatisch in den Focus Mode (= Ausfüllen der gesamten Canvas Fläche) geschalten und die Programmoberfläche von Power Automate gezeigt. Dort legen wir mit dem Button New einen neuen Instant cloud flow an:
Der erste Step des Flows ist das Betätigen des Buttons, dieser Step wird automatisch hinzugefügt. Mit New Step fügen wir die Aktion hinzu, die bei Drücken des Buttons ausgeführt werden soll:
Einfach Power BI als Suchbegriff eingeben und die Aktion Refresh a dataset auswählen:
Anschließend wird der gewünschte Workspace (hier: Linearis Training) und das gewünschte Dataset (hier: AW Reseller Sales) für die Datenaktualisierung hinterlegt:
Abschließend definieren wir durch neuerliches Drücken des Buttons New Step und anschließender Auswahl der Aktion Mail den Versand eines E-Mails zur Dokumentation des durchgeführten Processings:
In den Parameterfeldern des E-Mails können statische Texte mit den vorgeschlagenen dynamischen Feldern der Anwendung verbunden werden:
Jetzt wird der Name des Flows (hier: "Refresh Dataset - AW Reseller Sales") vergeben, mit dem Button Save werden sämtliche Konfigurationen gespeichert und mit dem Zurück Button (links oben, aber nicht ganz oben) schließen wir die Bearbeitung des Flows ab:
Jetzt sehen wir einen Screen mit den wichtigsten Eckdaten des Flows. Jetzt betätigen wir noch den Apply Button, um den Flow mit dem Button in Power BI zu verknüpfen:
3. Testen des Flows
Um die grundsätzliche Funktionsfähigkeit des Flows zu testen, den Button Run drücken und mit Run Now die Ausführung starten:
Wichtig ist hier erst mal nur die Erfolgsmeldung, ob das Dataset tatsächlich aktualisiert wird, prüfen wir im nächsten Schritt:
4. Platzieren des Buttons
Mit dem Link Back to Report (links oben) verlassen wir den Power Automate Editor und sehen einen viel zu großen Button in Power BI Desktop. Anstelle der initial gezeigten Step-by-Step Beschreibung zur Erstellung des Flows sehen wir jetzt das Play Smbol mit dem Text Run Now:
Der Button kann jetzt auf Normalgröße reduziert werden und an der gewünschten Stelle in der Power BI Anwendung platziert werden:
5. Verwenden des Power Automate Buttons
Nach dem Upload der PBIX Datei steht der Button auch den Usern der Anwendung zur Verfügung. Wird der Button gedrückt, startet der Flow und es wird der Text Triggering und anschließend Triggered angezeigt:
Jetzt können wir beobachten, daß der Flow tatsächlich auch die Aktualisierung des Datasets auslöst:
Troubleshooting
Erstes Thema: ich bekomme das Bestätigungsmail nicht.
Dazu am besten die Programmoberfläche von Power Automate (emea.flow.microsoft.com) aufrufen und unter Meine Flows den betreffenden Flow selektieren. Im unteren Bereich sind die Stati der einzelnen Ausführungen zu sehen, da wählen wir die letzte Ausführung aus ...
... und sehen, daß tatsächlich ein Fehler bei der Ausführung der Mail-Versenden-Aktion aufgetreten ist:
Der Fehler liegt darin, daß der von mir gewählte Mail Connector derzeit nicht funktioniert und ich die Empfehlung bekomme, einen anderen Mail Connector zu verwenden. Da habe ich jetzt dazu gelernt, daß nicht immer alle Connectoren funktionieren ... den Hinweis hätte ich allerdings gerne schon weiter oben bei der Auswahl des Connectors gehabt. :)
Zweites Thema: bei der Betätigung des Buttons durch einen End User (Rolle Viewer am Workspace) zeigt der Button die Meldung Unsuccessfully:
In diesem Fall wird der Flow gar nicht gestartet und es gibt auch keine Fehlermeldungen im Power Automate Portal zu analysieren. Die Ursache liegt in diesem Fall darin, daß der ausführende User keine Berechtigung auf den Flow hatte - diese kann ebenfalls im Power Automate Portal vergeben werden:
Fazit
Power Automate ist ein sehr einfach zu handhabendes Tool. Obwohl ich bisher kaum Erfahrung damit hatte, war es ganz einfach, den Flow aufzusetzen. Natürlich gehört der hier beschriebene Anwendungsfall zu den ganz einfachen, es lassen sich ja auch wesentlich anspruchsvollere Aufgaben mit dem Tool lösen und dann wird es sicherlich spezifischer.
Im letztenAbschnitt Troubleshooting war auch zu sehen, daß trotz der Einfachheit des Tools Erfahrungswerte wichtig sind und es noch einiges zu lernen gibt - beispielsweise was den aktuell nicht funktionierenden E-Mail Connector betrifft.
Sehr viele Möglichkeiten eröffnet der Umstand, daß der ausführende User lediglich die Berechtigung auf den Flow benötigt, nicht aber auf den ausgeführten Prozess. In unserem Anwendungsfall kann also auch ein End User - dieser ist entweder über eine App / ein Share berechtigt oder hat am Workspace maximal die Viewer Rolle - einen Backend Prozess wie die Ausführung des Processings starten. Dadurch lassen sich Prozessrollen umsetzen, die mit Power BI alleine nicht umsetzbar wären.
Weiters lassen sich mit dem Power Automate Button Backend Prozesse wie die spontane Datenaktualisierung dann auch bequem über die Power BI mobile App am Smartphone oder Tablet ausführen, ohne in das Backend einsteigen zu müssen.
In der Praxis setze ich den Processing Button nicht in ein Dashboard, da es zumindest in den mir bekannten Fällen weder sinnvoll noch erwünscht ist, alle End User eines Dashboards die Datenaktualisierung auslösen zu lassen. Stattdessen setze ich den Button auf eine ausgeblendete Page, die nur über einen berechtigten Button (wir nennen das "Navigation Security") für die entsprechende User Gruppe der Anwendung erreichbar ist.
Über Feedback und Erfahrungswerte freue ich mich!
Quellen:
1 Gedanke zu „Processing in Power BI mit dem Power Automate Button starten“
…leider fehlt bei mir die Action: „refresh a dataset“ und ich komme somit nicht weiter