Dynamisches Binden von Datasets an einen paginierten Bericht

Power BI-Berichte und paginierte Berichte werden basierend auf einem vorhandenen Dataset erstellt. Dieses Dataset definiert das Datenschema, das von den Berichtsvisuals verwendet wird. Mithilfe der dynamischen Bindung können Sie beim Einbetten eines paginierten Berichtsvisuals ein Dataset direkt auswählen.

Die ausgewählten Datasets müssen dasselbe Datenschema verwenden. Wenn Sie über mehrere Datasets mit demselben Datenschema verfügen, kann Ihr Bericht dynamisch eine Verbindung mit jedem dieser Datasets herstellen oder binden. Sie können dann je nach Ihren Anforderungen verschiedene Erkenntnisse anzeigen.

Die dynamische Bindung bietet auch andere Vorteile. Sie müssen keine Kopie desselben Berichts mit einem anderen Dataset für jeden Benutzer erstellen. Ein Bericht kann mehrere Benutzer bedienen. Dieses Feature reduziert dann die Anzahl der verwalteten Elemente und verbessert die Behandlung des Anwendungslebenszyklus. Dadurch vereinfacht die dynamische Bindung das Onboarding für Neukunden.

Dynamisches Verbinden eines Berichts mit mehreren Datasets

Ihre Berichte und Datasets können sich in separaten Arbeitsbereichen befinden, beide Arbeitsbereiche müssen jedoch über eine Kapazität verfügen.

Wenn Sie für Kunden einbetten, muss das Einbettungstoken Berechtigungen sowohl für den Bericht als auch für das dynamisch gebundene Dataset enthalten. Verwenden Sie die neue API, um ein Einbettungstoken zu generieren, das Power BI-Elemente wie Berichte und Dashboards unterstützt.

Wenn Sie für Ihre organization einbetten, muss das verwendete Azure Active Directory-Token (AD) des Benutzers über die entsprechenden Berechtigungen für alle Power BI-Elemente verfügen.

Beispiel 1: Einbetten eines paginierten Berichts mit dynamischer Bindung

Um einen eingebetteten paginierten Bericht mithilfe der dynamischen Bindung zu implementieren, fügen Sie die datasetBindings -Eigenschaft dem Einbettungskonfigurationsobjekt hinzu, wie im folgenden Beispiel gezeigt.

let config = {
    type: 'report',
    tokenType: models.TokenType.Embed,
    accessToken: accessToken,
    embedUrl: embedUrl,
    id: "reportId",
    permissions: permissions,
    datasetBindings: [{
            sourceDatasetId: "originalDatasetId",
            targetDatasetId: "notOriginalDatasetId"
        }]
};

// Get a reference to the embedded report HTML element.
let embedContainer = $('#embedContainer')[0];

// Embed the report and display it within the div container.
let report = powerbi.embed(embedContainer, config);

Beispiel 2: Einbetten eines paginierten Berichtsvisuals mit dynamischer Bindung

Ein Visueller paginierter Bericht ist ein paginierter Bericht, der in einen Power BI-Bericht eingebettet ist. Um ein eingebettetes visuelles paginiertes Berichtsvisual mithilfe der dynamischen Bindung zu implementieren, fügen Sie die datasetBinding -Eigenschaft dem Einbettungskonfigurationsobjekt hinzu, wie im folgenden Beispiel gezeigt.

let config = {
    type: 'report',
    tokenType: models.TokenType.Embed,
    accessToken: accessToken,
    embedUrl: embedUrl,
    id: "reportId",
    permissions: permissions,
    datasetBinding: {
        datasetId: "notOriginalDatasetId",
        paginatedReportBindings: [{
            sourceDatasetId: "originalDatasetId",
            targetDatasetId: "notOriginalDatasetId"
        }]
    }
};

// Get a reference to the embedded report HTML element.
let embedContainer = $('#embedContainer')[0];

// Embed the report and display it within the div container.
let report = powerbi.embed(embedContainer, config);

Überlegungen und Einschränkungen

  • Das dynamisch ausgewählte Dataset muss dasselbe Datenschema im Bericht verwenden.
  • Generieren Sie beim Einbetten für Kunden mithilfe der neuen API ein Einbettungstoken .
  • Stellen Sie beim Einbetten für Ihre organization sicher, dass der Benutzer über Berechtigungen sowohl für den Bericht als auch für das Dataset verfügt.
  • Die datasetBinding Eigenschaft darf nicht leer sein. Sie sollte, datasetId, paginatedReportBindingsoder beides enthalten.
  • Die Werte für datasetId und targetDatasetId müssen nicht identisch sein. Die Bindung funktioniert unabhängig von PBIX - und paginierten Berichten.
  • Die datasetBinding -Eigenschaft kann mehrere Objekte enthalten.

Nächste Schritte