Einbetten von paginierten Power BI-Berichten
Mit eingebetteten Power BI-Analysen können Sie Power BI-Inhalte erstellen, die paginierte Berichte in einer vollständig integrierten und interaktiven Anwendung anzeigen. Betten Sie paginierte Berichte mit der Lösung ein, die für Sie am besten geeignet ist, für Ihre Kunden einbetten oder für Ihre Organisation einbetten.
In diesem Artikel wird beschrieben, wie Sie paginierte Berichte mithilfe von Beispieltutorials einbetten.
Voraussetzungen
Zunächst benötigen Sie Folgendes:
einen Dienstprinzipal
Ihr eigenes Microsoft Entra-Mandanten-Setup
Eine Kapazität
Wenn Sie kein Azure-Abonnement haben, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.
Methode
Führen Sie die folgenden Schritte aus, um einen paginierten Bericht mithilfe der Beispiel-App einzubetten:
Schritt 1: Erstellen eines Arbeitsbereichs
Da Sie einen Dienstprinzipal verwenden, um sich bei Ihrer Anwendung anzumelden, müssen Sie einen Arbeitsbereich erstellen.
Ihr Dienstprinzipal muss ein Administrator oder ein Mitglied der Power BI-Arbeitsbereiche sein.
Schritt 2: Erstellen einer Kapazität
Bevor Sie einen einzubettenden paginierten Bericht importieren oder hochladen, müssen Sie den Arbeitsbereich, der den Bericht enthält, einer Kapazität zuweisen. Sie können zwei Arten von Kapazität auswählen:
- Power BI Premium: Zum Einbetten eines paginierten Berichts benötigen Sie eine EM- oder P-SKU. Weitere Informationen zu diesem Abonnement finden Sie unter Was ist Power BI Premium?.
- Azure Power BI Embedded: Sie können eine Kapazität im Microsoft Azure-Portal erwerben. Dieses Abonnement verwendet die A-SKUs. Weitere Informationen zum Erstellen einer Power BI Embedded-Kapazität finden Sie unter Erstellen einer Power BI Embedded-Kapazität im Azure-Portal.
In der folgenden Tabelle werden die Ressourcen und Beschränkungen der einzelnen SKUs beschrieben. Um zu bestimmen, welche Kapazität sich optimal für Ihre Anforderungen eignet, lesen Sie die Tabelle Welche SKU soll ich für mein Szenario erwerben.
Kapazitätsknoten | Virtuelle Kerne | RAM (GB) |
---|---|---|
EM1/A1 | 1 | 2.5 |
EM2/A2 | 2 | 5 |
EM3/A3 | 4 | 10 |
P1/A4 | 8 | 25 |
P2/A5 | 16 | 50 |
P3/A6 | 32 | 100 |
Schritt 3: Zuweisen eines Arbeitsbereichs zu einer Kapazität
Nachdem Sie eine Kapazität erstellt haben, weisen Sie Ihren App-Arbeitsbereich dieser Kapazität zu.
Mit der Power BI-REST-API können Sie einem Arbeitsbereich über einen Dienstprinzipal eine Kapazität zuzuweisen. Wenn Sie die Power BI-REST-APIs verwenden, sollten Sie darauf achten, die Dienstprinzipalobjekt-ID zu verwenden.
Hinweis
Sie können auch paginierte Berichte mithilfe der Power BI-REST-APIs in einen Arbeitsbereich importieren.
Schritt 4 – Erstellen und Hochladen eines paginierten Berichts
Sie können paginierte Berichte mithilfe des Power BI-Berichts-Generators erstellen und dann den Bericht in den Dienst hochladen.
Hinweis
Die Person, die den paginierten Bericht hochlädt, muss über eine Power BI Pro- oder Premium-Einzelbenutzerlizenz verfügen, um in einem Arbeitsbereich veröffentlichen zu können.
Schritt 5 – Einbetten von Inhalten mit der Beispielanwendung
Führen Sie die Schritte im Tutorial zum Einbetten von Inhalten für Ihre Kunden aus. Überspringen Sie Schritt 4: Erstellen und Veröffentlichen eines Power BI-Berichts, und verwenden Sie anstelle des im Tutorial vorgeschlagenen Beispielberichts den von Ihnen hochgeladenen paginierten Bericht.
So verwenden Sie ein Power BI-semantisches Modell als Datenquelle:
- Vergewissern Sie sich, dass die Mandanteneinstellung Zulassen von XMLA-Endpunkten und „In Excel analysieren“ mit lokalen Datasets aktiviert ist.
- Legen Sie wie im Abschnitt zum Aktivieren des Lese- bzw. Schreibzugriffs für eine Premium-Kapazität beschrieben im Power BI-Portal den XMLA-Endpunkt auf Schreibgeschützt oder Lesen und schreiben fest. Sie müssen den Endpunkt nur einmal pro Kapazität einrichten.
- Generieren Sie ein Einbettungstoken für mehrere Ressourcen mit der in der Anforderung angegebenen Dataset-ID, und legen Sie XmlaPermissions auf Schreibgeschützt fest.
Gehen Sie wie folgt vor, um eine Datenquelle zu verwenden, für die das einmalige Anmelden (SSO) aktiviert ist:
- Power BI unterstützt Datenquellen, für die SSO aktiviert ist, wenn die Datenquellen eine direkte Verbindung zum paginierten Bericht oder eine Verbindung zu einem Power BI-semantischen Modell herstellen, das als Datenquelle für den paginierten Bericht verwendet wird.
- Wenn Sie einen paginierten Bericht mit Datenquellen einbetten, für die SSO aktiviert ist, muss das Identitätsblob für die Datenquelle in
DatasourceIdentity
bereitgestellt werden, wenn Sie ein Einbettungstoken für mehrere Ressourcen generieren.
Weitere Informationen zum Einbetten von Token finden Sie unter Eingebettete Analysezugriffstoken.
Überlegungen und Einschränkungen
- Eine vollständige Liste der unterstützten Datasets sowie deren Authentifizierungsmethoden finden Sie unter Unterstützte Datenquellen für paginierte Power BI-Berichte.
- Sie müssen einen Dienstprinzipal verwenden. Sie können keinen Hauptbenutzer haben.
- Sie können nicht mit einer Premium-Einzelbenutzerlizenz arbeiten.
- Wenn Sie einen paginierten Bericht in ein Power BI-semantisches Modell einbetten, gelten zwei Bedingungen:
- Der paginierte Bericht und das Power BI-semantische Modell müssen in einem Arbeitsbereich mit Premium-Kapazitätslizenz oder in einem Embedded Premium-Arbeitsbereich befinden (sie können sich in zwei verschiedenen Arbeitsbereichen befinden).
- Die Person, die das Einbettungstoken generiert, muss über Schreibberechtigungen in den Arbeitsbereichen des Berichts und des semantischen Modells verfügen.
- Das Einbetten eines paginierten Berichts, der mit Azure Analysis Services verbunden ist, ist derzeit nicht möglich, wenn einmaliges Anmelden (Single Sign-on, SSO) aktiv ist.
- Paginierte Berichte unterstützen keine clientseitigen Ereignisse (z. B.
loaded
oderrendered
). - Paginierte Berichte unterstützen keine clientseitige SetAccessToken-API (Sie können das Acccess-Token nicht aktualisieren, ohne den Bericht neu zu laden).
- Das Einbetten von paginierten Berichten mit einem Echtzeitdataset (push dataset) wird nicht unterstützt.