AspnetwebformPowerBiembed
Power BI (PBI) wird als appownsData -Modell in ASP.NET -Webformen eingebettet
Der Bericht wird nach der Methode "Service Principal" und nicht mit der "Master User" -Methode eingebettet
Das Archivieren dieses Repositorys als Microsoft fordert die Verwendung neuer ASP.NET -Technologien - MVC und Blazor an. Für WebForms ist Blazor der Empfehlung eines-https://learn.microsoft.com/en-us/dotnet/architecture/blazor-for-web-forms-forms-developers/migration
Ich habe diese Beispiellösung in Visual Studio 2017 erstellt und der Beispielbericht stammt von https://github.com/microsoft/powerbi-desktop-amples/tree/master/2018
Für diese Demo habe ich die Datei "2018SU04 -Blog -Demo - April.Pbix" verwendet
Es gibt zwei Dateien, in die Berichte eingebettet sind.
- Default.aspx - der Bericht ohne Filter enthält
- pbiembeded.aspx - der Bericht mit Filter enthält
Ich habe hier in JavaScript einen grundlegenden Filter angewendet. Weitere Filter finden Sie in dieser Dokumentation https://github.com/microsoft/powerbi-javascript/wiki/filters
Die Implementierungsmethode ähnelt der Power BI - App besitzt Daten (MVC) - https://github.com/microsoft/powerbi-developer-samples/tree/master/app%20owns%20Data
Die Klassendateien sind wie in der App besitzen Daten (MVC).
Wenn die Service Principal -Methode verwendet wird, fügen Sie die Werte in der web.config -Methode den folgenden Dingen hinzu:
Appsetings
-applicationId
-workspaceId
-reportId
ServicePrincipal
-applicationSecret
-tenant
Erstellen Sie vor dem Einbettung bitte einen Power BI -Bericht und veröffentlichen Sie an Power BI O365 -Arbeitsbereich.
Ausführliche Erläuterungen zum Konfigurieren des Service Principal finden Sie in diesem Video https://www.youtube.com/watch?v=ZHMFPDXLIW0
Aber wenn das Video zu dauern scheint, überprüfen Sie bitte die folgende Beschreibung, wie man es beglaubigt ...
Gehen Sie zum Azure Portal
- Gehen Sie zu Azure Active Directory -> App -Registrierungen
- Geben Sie der Anwendung den Namen an
- Wählen Sie für unterstütztes Konto -Typ "Konten in einem organisatorischen Verzeichnis" aus. Diese Option wird ausgewählt, da die Anwendung, in der das PBI eingebettet ist, unabhängig gehostet wird.
- Geben Sie eine Umleitungs -URI (optional) als lokale URL an
- Klicken Sie auf Register und Sie erhalten die folgenden Details - Anwendungs -ID (Client), Verzeichnis (Mieter) ID, Objekt -ID
- Wählen Sie für das Antragsgeheimnis "Zertifikate & Geheimnisse" -> "Neues Client -Geheimnis". Für alte Azure -Portale lautet diese mit dem Namen "Passwort".
- Geben Sie eine Beschreibung und den Ablaufparameter an und klicken Sie auf Hinzufügen
- WICHTIG - Sobald Sie auf Hinzufügen klicken, erhalten Sie das Anwendungsgeheimnis neben dem Beschreibungsnamen. Kopieren Sie das Geheimnis sofort. Wenn Sie denken, können Sie die Anwendung später geheim halten, es wird nicht möglich sein. Sie müssen einen neuen Schlüssel erstellen.
- Damit der Benutzer Power BI -Datei lesen kann, müssen Sie Berechtigungen zur Power BI -APIs bereitstellen
- Navigieren Sie zu API -Perms oder erforderlichen Berechtigungen (altes Portal)
- Klicken Sie unter API -Berechtigungen auf "Hinzufügen einer Erlaubnis hinzufügen".
- Wählen Sie "Power BI Service"
- Nach "delegierten Berechtigungen" und "Antragsberechtigungen" habe ich vorerst alle Berechtigungen erteilt, aber bald aktualisieren, welche Berechtigungen erforderlich sind oder was nicht.
- Jetzt erneut unter "Azure Active Directory" -> "Gruppen" und klicken Sie auf "neue Gruppe"
- Halten Sie den Gruppentyp als Standard und geben Sie einen Gruppennamen an
- Erwähnen Sie unter Besitzern, wer der Eigentümer der Gruppe sein wird
- Erwähnen Sie unter Mitgliedern den zuvor registrierten App -Namen, der zuvor registriert wurde
- Klicken Sie jetzt auf die Schaltfläche "Erstellen", um eine Gruppe zu erstellen
Gehen Sie zum Power BI -Portal unter O365
- Gehen Sie zu Einstellungen und dann "Admin -Portal"
- Gehen Sie unter Admin -Portal zu "Mietereinstellungen" und in diesen "Entwicklereinstellungen"
- Unter "Erlauben Sie den Dienstleistern, Power BI -APIs zu verwenden", aktivierte die Funktion und erwähnen Sie den zuvor erstellten Gruppennamen und klicken Sie auf Bewerben
- Navigieren Sie jetzt im Admin -Portal zu Arbeitsbereichen
- Wählen Sie den Arbeitsbereich aus und klicken Sie auf Zugriff
- Erwähnen Sie den Gruppennamen und mit Admin als die Rolle und klicken Sie auf Hinzufügen
- Öffnen Sie nun für die Arbeitsspace -ID und die Berichts -ID einen Bericht aus dem Arbeitsbereich
- Kopieren Sie in der URL nach dem Schlüsselwort "Gruppen" die Richtlinie, die Ihre Arbeitsbereichs -ID ist
- Kopieren Sie in der URL nach dem Schlüsselwort "Berichte" die Richtlinie, die Ihre Berichts -ID sein wird
Erwähnen Sie diese Werte im web.config und der verbleibende Code hilft beim Einbetten des Berichts.
Happy Coding ...