Datenerfassung in Power BI mit PowerApps: Einfacher Einstieg

Mit dem October 2019 Release von Power BI Desktop ist das Visual PowerApps for Power BI vom Market Place ("Custom Visuals") in den Standardumfang ("Built-in Visuals") aufgestiegen, bereits im Vormonat ist der Wechsel aus dem Preview Status in den GA (Generally Available) Status passiert. Das Visual kann - ähnlich wie das R- oder Python-Visual - in die Kategorie Embedded Applications eingeordnet werden, es wird also ein externes Programm in den Canvas und insbesondere in den Filter Context einer Power BI Page eingebettet.

PowerApps ist eine cloud-basierte Technologie, mit der web-basierte Anwendungen und mobile Apps ohne Programmierkenntnisse ("low code / no code") recht einfach und responsive erstellt werden können. Ein großes Anwendungsgebiet liegt in der Erweiterung von Office 365 (insbesondere SharePoint Online) und Dynamics 365 Anwendungen um individuelle Workflows. Aber auch in Verbindung mit Power BI bieten sich zahlreiche Anwendungsgebiete zur Anzeige und insbesondere zur Erfassung von Daten, Kommentaren, Bildern und vieles mehr. Microsoft spricht bei der Kombination der Produkte Power BI, PowerApps und Flow übrigens von der Microsoft Power Platform.

Im folgenden Beitrag wird eine sehr einfache Anwendung erstellt, mit der die Stammdaten einer Dimensionstabelle (im Importmodus) direkt in Power BI bearbeitet werden kann.

Schritt 1: Power BI Anwendung (im Importmodus)

Die Power BI Anwendung wurde auf Basis einer data1.io Application - also unserer hauseigenen cloud-basierten Lösung für Datensammlung - zur Verwaltung von Projekten und zum Einsammeln des wöchentlichen Projektfortschritts in Power BI Desktop erstellt. Die Tabellen sind über den ODATA-Konnektor direkt mit der SaaS Anwendung verbunden (im Importmodus, nicht Direct Query).

Der Report zur Visualisierung der Projektstammdaten wurde folgendermaßen aufgebaut, über das Power Apps Visual sollen die Volumina und die Projektlaufzeit editiert werden können:

Die zugrundeliegende Dimensionstabelle Project Master Data hat folgenden Aufbau:

Das Datenmodell ist sehr simpel. Die From-Until Information aus der Dimensionstabelle wird über den disconnected Table Date Dimension (Master Data) und dem Measure Anzahl Projekte visualisiert (im eingangs gezeigten Report sind das die beiden unteren Visuals):

Schritt 2: Start mit dem Visual "PowerApps for Power BI"

Es ist vorteilhaft, die folgenden Schritte im Power BI Cloud Service (und nicht in Power BI Desktop) durchzuführen, da nach unseren bisherigen Erfahrungen die Verbindung mit PowerApps im Cloud Service sehr zuverlässig funktioniert.

Zuerst wird das neue Visual PowerApps for Power BI eingefügt und in der Größe an den vorhandenen Platz angepaßt. Sehr einladend wirkt das kleine Tutorial, das im Visual angezeigt wird:

Als nächstes wird das Visual mit jenen Feldern aus dem Power BI Datamodel belegt, die interaktiv aus dem Filter Context der Report Page an die PowerApps Anwendung übergeben werden sollen. In unserem Fall ist es ausreichend, den Project Key zu übergeben, da die Datenerfassung auf dieser Ebene erfolgen soll und die Anzeige der Projektnummer in der sog. Gallery (siehe Schritt 3) ausreichend ist.

Sobald das Visual mit zumindest 1 Feld aus dem Datamodel belegt ist, werden im Visual ein Choose app und ein Create new Button angezeigt:

Schritt 3: Entwicklung der Anwendung zur Datenerfassung in "PowerApps Studio"

Der Create new Button öffnet die cloud-basierte Anwendung PowerApps Studio, in dem wir uns zuvor schon mit unserem Office 365 Account angemeldet hatten und daher jetzt schon automatisch eingeloggt werden:

Der Aufruf aus dem Power BI Visual führt zur automatischen Anlage des Objektes PowerBIIntegration - dieses dient zur Aufnahme der Project Keys aus dem Filter Context der Power BI Report Page - und eines Screens mit einem sogenannten Gallery Objekt. Letzteres wird aus der PowerBIIntegration mit den (im aktuellen Filter Context) verfügbaren Project Keys versorgt, die dem User zur Selektion angeboten werden und damit zur Navigation innerhalb der Power Apps Anwendung dient:

Wir haben die Erfahrung gemacht, daß am besten gleich zu Beginn - jedenfalls aber vor dem ersten Speichern der Anwendung - das Hoch-/Querformat festgelegt werden sollte:

Die automatisch erzeugte Gallery kann jetzt formatiert, sprechend benannt und mit einer Überschrift versehen werden:

Als nächstes wird ein Formular zur Bearbeitung der Daten eingefügt:

Das Formular muß mit der Datenquelle direkt verbunden werden, um die Daten bearbeiten und rückschreiben zu können. Wir haben dazu zuvor eine SQL Azure Verbindung zur data1.io Cloud Datenbank erstellt, da leider in PowerApps derzeit kein ODATA Konnektor verfügbar ist. Nach der Verknüpfung des Formulars mit der gewünschten Tabelle in der Datenquelle geht es in die Feldauswahl und in die Definition, in welchen Feldern Eingaben möglich sein sollen:

Daraus wird ein Standardformular erzeugt ...

... das wir in folgendes Layout bringen (es sind noch keine Daten zu sehen):

Das Erfassungsformular wird jetzt mit der Gallery verknüpft, und zwar durch Einsetzen eines Lookup Befehls in die item Eigenschaft. Ab sofort werden im Formular die korrekten Daten angezeigt, mit der ALT-Taste können in der Gallery auch schon Selektionen getroffen werden, um die Funktionalität zu testen:

Jetzt fehlt nur noch der Button zum Writeback bei Änderungen an den Formulardaten:

In Power BI wird während der Bearbeitung ein Infotext samt Link zum PowerApps Studio angezeigt:

Die PowerApps Anwendung muß nämlich erst noch gespeichert werden, um in Power BI angezeigt zu werden:

Die erste Version einer PowerApps Anwendung ist sofort online. Bei der Überarbeitung einer bereits bestehenden Anwendung muß die neue Version noch in zweiten Schritt veröffentlicht werden:

Der Hinweis zur Freigabe ist grundsätzlich nützlich, da das Berechtigungssystem der Power BI Anwendung nicht übertragen wird. Für die Demo in diesem Blogbeitrag ist die Freigabe aber nicht relevant:

Da die Anwendung jetzt gespeichert und veröffentlicht ist, wird diese auch in Power BI geladen und ist einsatzbereit:

Schritt 4: Interaktive Anwendung in Power BI

Der Filter Context aus der Report Page wird jetzt automatisch auf das PowerApps Visual übertragen und filtert dort die Liste der verfügbaren Project Keys, über das Gallery Objekt erfolgt die Selektion auf ein bestimmtes Projekt:

Die Datenerfassung im PowerApps Visual funktioniert sehr unkompliziert und flüssig: einfach die Werte in den gelben Zellen mit den gewünschten Werten überschreiben und den Button Submit betätigen, der Writeback-Prozess ist in weniger als 1 sec erledigt. Allerdings aktualisieren die Werte in den anderen Power BI Visuals (noch) nicht:

Die Werte im Power BI Datamodel werden erst aktualisiert, nachdem eine Aktualisierung des Datasets ausgelöst und ein Refresh des Reports ausgeführt wurde:

Evaluierung und Restriktionen

Die Aktualisierung des Datamodels ist das dominierende Thema von Planungslösungen in Power BI. Dazu stehen jedenfalls folgende Varianten zur Verfügung:

  • Werden die erfassten Daten nur im PowerApps Visual angezeigt und nicht auch in den anderen Power BI Visuals, dann braucht es keine Aktualisierung des Datamodels und es stellen sich keine weiteren Fragen.

  • Datasets im Importmodus im Power BI Cloud Service können derzeit nur 8x pro Tag zeitgesteuert aktualisiert werden. Mit der neuen Microsoft Flow Refresh a dataset action kann bei jeder Änderung in der Writeback-Tabelle ein Dataset Refresh in Power BI ausgelöst werden. Allerdings zählen auch diese Refreshes zu den maximal 8x pro Tag Aktualisierungen. In Power BI Premium kann der Refresh bereits heute beliebig oft ausgeführt werden.

  • Datasets im Importmodus auf Basis eines SQL Server Tabular Model können über einen SQL Agent Job in kurzen Intervallen aktualisiert werden, sodaß die Daten bspw. im Minutentakt aktuell sind.

  • Datasets im Direct Query Modus (sowohl im Power BI Cloud Service als auch auf Basis SQL Server Tabular Model) fragen die Werte bei jedem Klick live aus der Datenquelle ab und zeigen damit immer aktuelle Werte.

  • Nach der Aktualisierung des Datasets stellt sich als zweite Herausforderung die Aktualisierung der Reports. Ein geöffneter Report erhält weder im Import- noch im DQ-Modus einen automatischen Aktualisierungsimpuls nachdem das zugrundeliegende Dataset bzw. die zugrundeliegenden Daten aktualisiert wurden.
    Im Importmodus muß der User den (im Submenü versteckten) Refresh Button im Menü betätigen. Im DQ-Modus werden die Werte im Report jedenfalls bei der nächsten Interaktion durch den User aktualisiert, es kann aber auch beim Writeback in der PowerApps Anwendung ein Refresh des Power BI Reports ausgelöst werden, sodaß in diesem Szenario bereits heute eine optimale User Experience umsetzbar ist (siehe nächster Blogbeitrag). Weiters wurde mit dem October 2019 Release in Power BI Desktop ein automatischer (intervallgesteuerter) Aktualisierungsimpuls für DQ (als Preview Feature) eingeführt, dieser steht aber derzeit noch nicht im Power BI Service zur Verfügung.

Im Zuge der Erstellung dieser einfachen Anwendung haben wir folgende Erfahrungen gesammelt:

  • Die Erstellung der Anwendung im PowerApps Studio und die Integration in Power BI funktioniert sehr gut und ist verhältnismäßig einfach.

  • Das Hoch-/Querformat der PowerApps Anwendung kann nach dem ersten Speichern zwar im PowerApps Studio geändert werden, das PowerApps Visual in Power BI zeigt die Anwendung aber weiterhin im ursprünglichen Format. Das Hoch-/Querformat sollte als gleich am Beginn - jedenfalls aber vor dem ersten Speichern - festgelegt werden.

  • Es stehen offenbar nur zwei vordefinierte Pixelformate (eines im Hoch- und eines im Querformat) zur Verfügung, eine Änderung der Canvas Größe im PowerApps Studio ist uns bisher nicht gelungen. Das Power BI Visual fügt dunkle Ränder entweder seitlich oder ober-/unterhalb hinzu, wenn das Power BI Visual nicht exakt die richtige Höhe/Breite hat.

  • Die Sitzung im PowerApps Visual läuft bei längerer Inaktivität ab, diese kann aber sehr einfach wieder reaktiviert werden:

  • Die Verbindung zur PowerApps Anwendung kann auch verloren gehen, eine Wiederherstellung im bestehenden Visual ist uns bisher nicht gelungen. Es kann aber ganz einfach ein neues PowerApps Visual eingefügt werden und nach der Belegung mit dem Project Key mit der Funktion Choose App die bestehende PowerApps Anwendung neue einebunden werden.

  • Solange die PowerApps Anwendung nicht freigegeben wurde, "nervt" das Visual mit einer Überblendung, daß die Anwendung noch nicht geteilt wurde.

  • Die Erstellung einer neuen PowerApps Anwendung funktioniert gleich gut aus Power BI Desktop oder aus dem Power BI Service heraus. Die Bearbeitung einer bereits bestehenden Anwendung (über die Edit Funktion im Kontextmenü des Visuals) funktioniert aber nur im Power BI Service.

Folgende allgemeinen Einschränkungen sind zu beachten:

  • Das PowerApps Visual kann derzeit nicht in der Power BI mobilen App verwendet werden.
  • Das PowerApps Visual kann derzeit nicht iVm Power BI Report Server verwendet werden.
  • Die PowerApps Anwendung kann nicht den Power BI Report filtern (sondern nur andersrum, wie gezeigt).
  • Die PowerApps Anwendung muß seperat von der Power BI Anwendung mit den Anwendern des Reports geteilt (und lizenziert) werden.
  • Je nach Lizenzierungsform bestehen Limits für die Anzahl der täglich maximal möglichen API Requests.

Unverbindliche Informationen zur Lizenzierung

  • Stand Alone Lizenz:
    Per App Lizenz: EUR 8,40 pro User, App und Monat (max 2 Apps und 1 Portal)
    Per User Lizenz: EUR 33,70 pro User und Monat (unlimitierte Apps und Portale)
    PowerApps Portals: alternative login- oder view-abhängige Lizenzierung ...

  • Office 365 Lizenz:
    Kostenlos: in jedem Office 365 Plan steht eine kostenlose PowerApps Lizenz (mit 10.000 User) zur Verfügung -> mit dieser Lizenz wurde dieser Blogbeitrag erstellt, der Funktionsumfang ist allerdings eingeschränkt:

    Plan 1: EUR 5,90 pro User und Monat
    Plan 2 EUR 33,70 pro User und Monat

  • Dynamics 365:
    (nicht recherchiert)

Quellen

https://powerapps.microsoft.com/de-de/
https://docs.microsoft.com/de-de/powerapps/
https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/powerapps-custom-visual
https://www.pass.org/Community/PASSBlog/tabid/1476/entryid/916/adding-powerapps-to-power-bi.aspx
YouTube: Power BI Write Back with PowerApps

Share on linkedin
Share on twitter
Share on facebook

Leave a Replay

Über den Autor

Blog auf Feedly abonnieren

Kategorien

Verwandte Beiträge

Kennen Sie schon data1.io?

data1.io ist unsere innovative Cloud Anwendung zum Sammeln, Aggregieren und Teilen von Geschäftsdaten innerhalb und außerhalb des Unternehmens.

Kostenlos zum Newsletter anmelden

Ihre Anfrage

Schicken Sie uns Ihre Fragen und Anregungen!