Freigeben über


Einbetten eines paginierten Berichts

Trinkgeld

Versuchen Sie, einen paginierten Bericht einzubetten oder mit unseren Client-APIs im abschnitt Erkunden Sie unsere APIs Abschnitt des Power BI Embedded Analytics Playground.

In diesem Artikel werden die Schritte zum Einbetten eines paginierten Berichts in Ihre Anwendung behandelt. Erfahren Sie mehr über paginierte Berichte in Was sind paginierte Berichte in Power BI Premium?.

So betten Sie einen paginierten Bericht ein

Wenn Sie Power BI-Inhalte in eine App einbetten, definieren Sie den Inhalt und geben dessen 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 gewährt, 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 sind:

    Es wird empfohlen, Berichtsparameter mithilfe der unten beschriebenen parameterValues Eigenschaft an den Bericht zu übergeben. Sie können jedoch auch Parameter an den Bericht übergeben, indem Sie die Abfragezeichenfolge am Ende der Einbettungs-URL hinzufügen. Weitere Informationen zum Übergeben von URL-Parametern in paginierten Berichten. Beispiele für Ü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 souveräne Cloud verwenden, geben Sie hier die URL an. Wenn Sie einen Wert für embedURLangegeben haben, wird der hostname ignoriert.

  • Einstellungen - Ein Konfigurationsobjekt vom Typ IPaginatedReportSettings. Dieses Objekt gibt Informationen zur Darstellung des Berichtsparameterbereichs an. Der Parameterbereich ist die Leiste unterhalb der Aktionsleiste, die erweitert oder ausgeblendet werden kann.

    Screenshot mit einem eingebetteten Power B I-Paginated-Bericht. Der Parameterbereich befindet sich in der Nähe des oberen Bereichs 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 enabled Eigenschaft des Panels so konfigurieren, dass sie falseist, ist die Schaltfläche Parameter nicht verfügbar.

    • Standardmäßig reduziert die API den Parameterbereich. Wenn Sie die expanded Eigenschaft des Panels auf truefestlegen, lädt die API den Bericht mit diesem Panel erweitert.

    • Dieser Code zeigt eine Möglichkeit zum Konfigurieren der settings-Eigenschaft:

      settings: {
          commands: {
              parameterPanel: {
                  enabled: true,
                  expanded: true
              }
          }
      }
      
  • tokenType – Die Art des Tokens, das Ihnen Zugriff auf die Power BI-Daten ermöglicht, die Sie einbetten.

    • Verwenden Sie models.TokenType.Aad, wenn Sie für Ihre Organisation einbetten (Benutzer besitzen Daten).
    • Verwenden Sie models.TokenType.Embed, wenn Sie ihre Kunden einbetten (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. Zum 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 (parameter mit einem URL-Präfix rp:) zu übergeben und nicht rdl-Parameter (mit dem URL-Präfix rdl:).

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 einschließen, die für die Bindung im Multiressourceneinbettungstokenverwendet werden.

Überlegungen und Einschränkungen

  • Informationen zur Verwendung der dynamischen Bindung finden Sie unter Dynamische Bindung von Datasets an einen paginierten Bericht.
  • Die bootstrapped-Methode wird für paginierte Berichte nicht unterstützt.
  • Mehrwertige Parameter werden beim Einbetten eines paginierten Berichts nicht unterstützt.
  • Die parameterValues-Eigenschaft kann nur für Berichtsparameter verwendet werden. Er kann nicht für RDL-Parameter verwendet werden.
  • Das Einbetten eines paginierten Berichts mit einem Echtzeit-Dataset (Push-Dataset) wird nicht unterstützt.