Fabric • CRM – Dataverse • Power BI Report

Power Apps · Power BI Embedding

Gefilterte Power BI Reports in Power Apps Formulare einbetten

Embed Filtered Power BI Reports in Power Apps Forms

Von der Vorbereitung über die nötigen Berechtigungen bis zum Tooling: so bringst du kontextbezogene, datensatzgefilterte Power-BI-Reports auf ein Dataverse-Formular.

From preparation to the required permissions and tooling: how to bring contextual, record-filtered Power BI reports onto a Dataverse form.

Model-Driven Apps Form XML XrmToolBox Power BI / Fabric

Vorbereitung

Preparation

Power BI Embedding aktivieren, Report freigeben, Workspace- und Report-ID ermitteln.

Enable Power BI embedding, share the report, find workspace and report ID.

🔒

Berechtigungen

Permissions

Schreibrechte auf Systemformulare sowie eine passende Power-BI-Lizenz und RLS.

Write access to system forms, plus a matching Power BI license and RLS.

Tools

Tools

XrmToolBox mit FormXml Manager oder klassischer Solution-Export/-Import.

XrmToolBox with FormXml Manager, or classic solution export/import.

Warum überhaupt Form-XML?

Why edit form XML at all?

Der Formular-Designer bietet bis heute keinen Baustein zum Einbetten eines kontextgefilterten Power-BI-Reports per Drag & Drop. Kontextfilterung — also „zeige mir nur die Daten zum aktuell geöffneten Datensatz“ — funktioniert ausschließlich über einen zusätzlichen <PowerBIFilter>-Parameter im Formular-XML. Das lässt sich entweder über den offiziellen Weg (Solution exportieren, XML bearbeiten, wieder importieren) oder deutlich schneller über XrmToolBox erledigen.

The form designer still doesn’t offer a drag-and-drop building block for a contextually filtered Power BI report. Context filtering — showing only the data for the currently open record — only works through an additional <PowerBIFilter> parameter in the form XML. You can either use the official route (export solution, edit XML, re-import) or the much faster XrmToolBox route.

Schritt für Schritt

Step by step

1
Voraussetzungen prüfen Check prerequisites

Power-BI-Einbettung in der Umgebung aktivieren (Power Platform Admin Center → Einstellungen → Funktionen). Der Report muss mit den Zielnutzern geteilt sein, alle Nutzer benötigen eine Power BI Pro- oder Fabric-Lizenz. Cross-Tenant-Embedding wird nicht unterstützt.

Enable Power BI embedding for the environment (Power Platform Admin Center → Settings → Features). The report must be shared with the target users, and everyone needs a Power BI Pro or Fabric license. Cross-tenant embedding isn’t supported.

2
Berechtigungen sicherstellen Ensure permissions

Zum Publizieren des Formulars wird das Privileg prvWriteSystemForm auf der Entität „Systemformular“ benötigt — enthalten in den Rollen Systemanpasser oder Systemadministrator. Fehlt es, bricht die Veröffentlichung mit einer Berechtigungsfehlermeldung ab. Sicherheit im Report selbst wird unabhängig davon ausschließlich über Row-Level Security (RLS) in Power BI geregelt, nicht über Dataverse-Sicherheitsrollen.

Publishing the form requires the prvWriteSystemForm privilege on the „System Form“ entity — included in the System Customizer or System Administrator role. Without it, publishing fails with a permission error. Security within the report itself is governed entirely by Power BI Row-Level Security (RLS), not by Dataverse security roles.

3
Platzhalter-Sektion im Formular anlegen Add a placeholder section to the form

Im Formular-Editor eine Sektion bzw. ein Subgrid an der gewünschten Stelle einfügen und eindeutig beschriften — darüber findest du sie später leichter im XML wieder.

In the form editor, insert a section or subgrid where you want the report to appear, and label it clearly — that makes it easier to find again in the XML later.

4
Report-IDs und Embed-URL ermitteln Find the report IDs and embed URL

Workspace-ID und Report-ID über Datei → Einbetten → Website oder Portal im Report holen. Die im Browser sichtbare Fabric-Portal-URL (app.fabric.microsoft.com/groups/…/reports/…) ist nicht die Embed-URL — benötigt wird das Format app.powerbi.com/reportEmbed?reportId=…&groupId=….

Get the workspace ID and report ID via File → Embed → Website or portal on the report. The Fabric portal URL you see in the browser (app.fabric.microsoft.com/groups/…/reports/…) is not the embed URL — you need the app.powerbi.com/reportEmbed?reportId=…&groupId=… format.

5
Filter konfigurieren Configure the filter

Im PowerBIFilter-Parameter müssen Tabelle und Spalte exakt wie im Power-BI-Datenmodell benannt sein — nicht wie der Dataverse-Tabellenname. Der Alias-Wert dagegen ist der Logical Name des Dataverse-Feldes, dessen Inhalt zur Laufzeit eingesetzt wird. Bei Text-Spalten müssen die Werte in Anführungszeichen stehen, bei numerischen Spalten nicht.

In the PowerBIFilter parameter, the table and column must exactly match the Power BI data model — not the Dataverse table name. The alias value, on the other hand, is the logical name of the Dataverse field whose value gets substituted at runtime. Text columns need quoted values, numeric columns don’t.

6
Form-XML bearbeiten und veröffentlichen Edit and publish the form XML

Im FormXml Manager (XrmToolBox) die richtige Entität und das richtige Formular auswählen, die Platzhalter-Sektion durch den Control-Block mit classid="{8C54228C-1B25-4909-A12A-F2B968BB0D62}" ersetzen, dann Update & Publish. Alternativ: Solution unmanaged exportieren, customizations.xml bearbeiten, wieder importieren.

In FormXml Manager (XrmToolBox), select the right entity and form, replace the placeholder section with the control block using classid="{8C54228C-1B25-4909-A12A-F2B968BB0D62}", then Update & Publish. Alternatively: export the solution as unmanaged, edit customizations.xml, re-import.

7
Testen und typische Fehler ausschließen Test and rule out common errors

Datensatz öffnen, Browser neu laden. Zeigt der Report ungefiltert alle Daten an, ist meist der Tabellen-/Spaltenname im Filter falsch oder das referenzierte Dataverse-Feld beim Testdatensatz leer. Erscheint der Report gar nicht, im Formular-Designer einmal ohne Änderung speichern, um das Formular-JSON neu zu generieren.

Open a record, reload the browser. If the report shows all data unfiltered, the table/column name in the filter is usually wrong, or the referenced Dataverse field is empty on the test record. If the report doesn’t appear at all, open and save the form once in the form designer without changes to regenerate the form JSON.

Praxis-Hinweise

Practical notes

  • Tabellen-/Spaltennamen im Filter beziehen sich auf das Power-BI-Modell, nicht auf Dataverse-Logical-Names.
  • Bei Workspaces ungleich „Mein Arbeitsbereich“ muss die Group-ID zusätzlich als &groupId=… in der TileUrl stehen.
  • String-Filterwerte gehören in Anführungszeichen (["$a"]), numerische nicht ([$a]).
  • Ist das gefilterte Dataverse-Feld beim Datensatz leer, wird der Report oft ungefiltert statt leer angezeigt — ein bekanntes Verhalten.
  • Tiles können nur ohne Kontextfilter eingebettet werden — für Interaktivität und Filterung wird immer ein voller Report benötigt.
  • Funktioniert nur im Unified Interface, nicht in klassischen Formularansichten.
  • Table/column names in the filter refer to the Power BI model, not Dataverse logical names.
  • For workspaces other than „My workspace“, the group ID must also appear as &groupId=… in the TileUrl.
  • String filter values need quotes (["$a"]), numeric ones don’t ([$a]).
  • If the filtered Dataverse field is empty on the record, the report is often shown unfiltered rather than blank — a known behavior.
  • Tiles can only be embedded without contextual filtering — interactivity and filtering always require a full report.
  • Only works in the Unified Interface, not in classic form views.

Fazit

Summary

Kontextgefilterte Power-BI-Reports auf Power-Apps-Formularen bleiben Handarbeit im Form-XML — mechanisch unverändert seit Jahren, aber mit ein paar Stolperfallen bei IDs, Berechtigungen und Namenskonventionen. Mit der richtigen Reihenfolge aus Vorbereitung, Berechtigungen und sauberer Filterkonfiguration ist das Ergebnis aber zuverlässig reproduzierbar.

Contextually filtered Power BI reports on Power Apps forms remain manual work in the form XML — mechanically unchanged for years, but with a few pitfalls around IDs, permissions and naming conventions. With the right order of preparation, permissions and clean filter configuration, the result is reliably reproducible.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert