Einbetten eines paginierten Berichts
Tipp
Versuchen Sie, einen paginierten Bericht einzubetten, oder experimentieren Sie mit unseren Client-APIs im Abschnitt Erkunden unserer APIs des Power BI Embedded Analytics Playground.
In diesem Artikel werden die Schritte zum Einbetten eines paginierten Berichts in Ihre Anwendung beschrieben. Weitere Informationen zu paginierten Berichten finden Sie unter Was sind paginierte Berichte in Power BI Premium?.
Einbetten eines paginierten Berichts
Wenn Sie Power BI-Inhalte in eine App einbetten, definieren Sie den Inhalt und geben seine Einstellungen in einem Konfigurationsobjekt an. Anschließend übergeben Sie dieses Objekt an die API.
Wenn Sie einen paginierten Bericht einbetten, verwenden Sie ein Konfigurationsobjekt vom Typ IPaginatedReportLoadConfiguration
:
export interface IPaginatedReportLoadConfiguration {
accessToken: string;
id: string;
embedUrl?: string;
settings?: IPaginatedReportSettings;
tokenType?: TokenType;
type?: string;
parameterValues?: IPaginatedReportParameter[];
}
Diese Schnittstelle enthält die folgenden Eigenschaften:
accessToken : Das Token, das Ihnen Zugriff auf die Power BI-Daten ermöglicht, die Sie einbetten. Weitere Informationen zu Zugriffstoken finden Sie unter Grundlegendes zu den verschiedenen Einbettungslösungen .
embedUrl : Die URL des Berichts, den Sie einbetten. Diese URL wird zur Quelle des HTML-iframe-Elements, das den eingebetteten Bericht enthält. Insbesondere weist die API die URL dem
src
Attribut des iframe zu. Sie können eine Berichts-API verwenden, um diese URL abzurufen. Zwei Beispiele:Es wird empfohlen, Berichtsparameter mithilfe der unten beschriebenen Eigenschaft an den
parameterValues
Bericht zu übergeben. Sie können jedoch auch Parameter an den Bericht übergeben, indem Sie die Abfragezeichenfolge am Ende der Einbettungs-URL hinzufügen. Erfahren Sie mehr über das Übergeben von URL-Parametern in paginierten Berichten. Siehe Beispiele für das Übergeben von Parametern an eine URL.id : Die ID des Power BI-Berichts, den Sie einbetten.
hostname : Der Standardwert
hostname
ist app.powerbi.com. Wenn Sie eine sovereign Cloud verwenden, geben Sie hier die URL an. Wenn Sie einen Wert fürembedURL
angegeben haben, wird derhostname
ignoriert.settings : Ein Konfigurationsobjekt vom Typ IPaginatedReportSettings. Dieses Objekt gibt Informationen zur Darstellung des Parameterbereichs des Berichts an. Der Parameterbereich ist die Leiste unter der Aktionsleiste, die erweitert oder ausgeblendet werden kann.
Sie können den Parameterbereich ein- oder ausblenden, indem Sie auf der Aktionsleiste auf die Schaltfläche Parameter klicken. Diese Schaltfläche ist standardmäßig verfügbar. Wenn Sie jedoch die Eigenschaft des Bereichs
enabled
so konfigurieren, dass sie lautetfalse
, ist die Schaltfläche Parameter nicht verfügbar.Standardmäßig reduziert die API den Parameterbereich. Wenn Sie die Eigenschaft des Bereichs
expanded
auftrue
festlegen, lädt die API den Bericht mit diesem erweiterten Bereich.Dieser Code zeigt eine Möglichkeit zum Konfigurieren der
settings
Eigenschaft:settings: { commands: { parameterPanel: { enabled: true, expanded: true } } }
tokenType : Die Art des Tokens, mit dem Sie auf die einbettenden Power BI-Daten zugreifen können.
- Verwenden Sie
models.TokenType.Aad
diese Option, wenn Sie für Ihre organization einbetten (benutzereigene Daten). - Verwenden Sie
models.TokenType.Embed
diese Option, wenn Sie für Ihre Kunden einbetten (Die App besitzt Daten).
Weitere Informationen finden Sie unter Grundlegendes zu den verschiedenen Einbettungslösungen .
- Verwenden Sie
parameterValues – Ein Konfigurationsobjekt vom Typ
IPaginatedReportParameter
. Legen Sie die Berichtsparameter mithilfe dieser Eigenschaft fest. Diese Methode verwendet das JavaScript SDK und ist die bevorzugte Methode zum Übergeben von Berichtsparametern. Beispiel:parameterValues: [ {name: "State", value: "WA"}, {name: "City", value: "Seattle"}, {name: "City", value: "Bellevue"}, {name: "City", value: "Redmond"} ]
Diese Methode kann nur verwendet werden, um Berichtsparameter (die Parameter mit einem URL-Präfix
rp:
) und nicht rdl-Parameter (mit dem URL-Präfixrdl:
) zu übergeben.
Beispiel
Das folgende Beispiel zeigt, wie Sie einen paginierten Bericht einbetten:
// Set up the configuration object that determines what to embed and how to embed it.
let embedConfiguration = {
accessToken: anAccessToken,
embedUrl: anEmbedUrl,
uniqueId: aReportId,
tokenType: aTokenType,
type: 'report',
datasetBindings: [{
sourceDatasetId: "originalDatasetId",
targetDatasetId: "notOriginalDatasetId"
}]
};
// Get a reference to the HTML element that contains the embedded report.
let embedContainer = $('#embedContainer')[0];
// Embed the report.
let report = powerbi.embed(embedContainer, embedConfiguration);
Stellen Sie sicher, dass Sie alle DatasetIds, die für die Bindung verwendet werden, in das Einbettungstoken mit mehreren Ressourcen einschließen.
Überlegungen und Einschränkungen
- Informationen zur Verwendung der dynamischen Bindung finden Sie unter Dynamisches Binden von Datasets an einen paginierten Bericht.
- Die bootstrapped-Methode wird für paginierte Berichte nicht unterstützt.
- Mehrwertparameter werden beim Einbetten eines paginierten Berichts nicht unterstützt.
- Die
parameterValues
-Eigenschaft kann nur für Berichtsparameter verwendet werden. Es kann nicht für rdl-Parameter verwendet werden. - Das Einbetten eines paginierten Berichts mit einem Echtzeitdataset (Pushdataset) wird nicht unterstützt.