In Power BI können mit dem Custom Visual HTML Content nicht nur Texte und Bilder im HTML Format angezeigt werden, sondern mit dem <iframe> Befehl auch Webseiten und ganze Webanwendungen eingebettet werden. Die Möglichkeiten sind zwar begrenzt, aber dennoch interessant. Daher möchten wir in diesem Blogbeitrag zeigen, wie eine Website und anschließend eine Webanwendung wie data1.io in Power BI eingebettet werden kann. Dieser Blogbeitrag schließt thematisch an den Beitrag data1.io Datenerfassung mit dem Power BI Custom Visual an.
Fertige Anwendung
Das Visual HTML Content von Daniel Marsh-Patrick (vormals: HTML Viewer) kann hier in der eingebetteten Power BI Anwendung "in action" getestet werden. Bitte auf Seite 2 navigieren und dann das Power BI Anwendungsfenster am besten auf die volle Bildschirmgröße maximieren:
Custom Visual "HTML Content"
Das Custom Visual ist in AppSource ("Marketplace") für Power BI Visuals frei verfügbar:
Was das Visual kann: jegliche Art von HTML Code rendern und darstellen.
Nach dem Hinzufügen des Visuals zur PBIX Anwendung kann ein erstes Visual angelegt werden, dieses zeigt vorerst einen Infotext zur Erläuterung:
Einbetten einer Website
In unserer Anwendung haben wir einen Parameter Table erstellt mit 3 URLs, die mittels Calculated Column in einen sog. <iframe>-Code eingebettet werden:
HTML = "<iframe src=" & [URL] & " sandbox=""allow-same-origin allow-scripts allow-popups allow-forms"" style='position: fixed; width: 100%; height: 100%'></iframe>"
Wird die Column HTML aus dem Parameter Table dem Visual HTML Content hinzugefügt, passiert erst mal - gar nichts:
Die Anzeige von Webseiten funktioniert in Power BI Desktop nicht (siehe hier), aber nach dem Upload der Anwendung in den Power BI Cloud Service wird die (im Slicer oberhalb) ausgewählte Website angezeigt:
Einbetten der Webanwendung data1.io
data1.io ist eine cloud-basierte Software, mit der im Rahmen eines Datensammlungsprozesses (= Workflow) IST- und/oder PLAN-Daten von einer kleinen oder großen Anzahl von Personen (= Collector User) automatisiert und mit einer excel-ähnlichen Oberfläche im Browser (= Excel Web Client) eingesammelt werden können. Die von den Usern erfassten Daten werden in der Cloud gespeichert und können von dort komfortabel und effizient mit der sogenannten ODATA Schnittstelle nach Power BI, nach Excel oder ERP/CRM/CPM Systemen weiterverwendet werden.
Schnupüern Sie hier in unseren Public Showcases:
Zurück zum HTML Content Visual. Wird nun im Slicer die URL für die data1.io Webanwendung ausgewählt, so zeigt das Custom Visual die Login Seite für den Cloud Service data1.io:
Im Custom Visual können jetzt - wie auch im normalen Web Client von data1.io - Elemente aus dem Dimension Tree selektiert werden und Daten auf diese Knoten erfasst und verspeichert werden:
Bei Selektion eines Summenknotens werden vom System automatisch und in Echtzeit die aggregierten Werte ermittelt:
Fazit
Das Custom Visual HTML Content bietet eine interessante Möglichkeit, um ganze Webanwendungen in Power BI mit einfachsten Mitteln einzubetten.
Allerdings ist die Lösung aufgrund folgender Einschränkungen nicht ganz praxistauglich:
- Unsere Anwendung data1.io wird nur im Firefox Browser ausgeführt (nicht: Chrome, Edge)
- Wird in Power BI die Seite gewechselt, so muß beim Zurücknavigieren von neuem eingeloggt werden
- Leider ist derzeit keine Interaktion zwischen dem Power BI Bericht und der Webanwendung möglich (bspw. Übergabe von Filter)
Aus unserer Sicht wünschenswert wäre ein vollwertiges "Azure Apps" Visual analog zum bereits verfügbaren "Power Apps Visual", das auch die Interaktion zwischen dem PBI Report und der Webanwendung ermöglicht. Mal sehen, ob es so etwas geben wird!