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ür embedURLangegeben haben, wird der hostname 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.

    Screenshot eines eingebetteten paginierten Power B I-Berichts Der Parameterbereich befindet sich ganz oben und ist rot hervorgehoben.

    • 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 lautet false, ist die Schaltfläche Parameter nicht verfügbar.

    • Standardmäßig reduziert die API den Parameterbereich. Wenn Sie die Eigenschaft des Bereichs expanded auf truefestlegen, 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 .

  • 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äfix rdl:) 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.

Nächste Schritte