Share via


以動態方式將數據集系結至編頁報表

Power BI 報表和編頁報表是根據現有的數據集所建置。 該數據集會定義報表視覺效果所使用的數據架構。 藉由使用動態系結,您可以在內嵌編頁報表視覺效果時即時選取數據集。

您選取的數據集需要使用相同的數據架構。 如果您有多個具有相同數據架構的數據集,您的報表可以動態地連線或系結至每個數據集。 然後,您可以視需求顯示不同的深入解析。

動態系結也提供其他優點。 您不需要為每個使用者建立具有不同數據集的相同報表複本。 一份報表可為多個使用者提供服務。 這項功能接著會減少維護的項目數目,並改善應用程式生命周期處理。 因此,動態系結可簡化新客戶的上線作業。

如何將報表動態連線到多個數據集

您的報表和數據集可以位於不同的 工作區中,不過這兩個工作區都必須有容量。

當您為客戶內嵌時,內嵌令牌必須同時包含報表和動態綁定數據集的許可權。 使用新的 API 來產生支援 Power BI 專案的 內嵌令牌 ,例如報表和儀錶板。

當您為組織內嵌時,使用者的 Azure Active Directory (AD) 令牌,您所使用的令牌必須具有所有 Power BI 專案的適當許可權。

範例 1:使用動態系結內嵌編頁報表

若要使用動態系結實作內嵌編頁報表,請將 datasetBindings 屬性新增至內嵌組態物件,如下列範例所示。

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);

範例 2:使用動態系結內嵌編頁報表視覺效果

編頁報表視覺效果是內嵌在Power BI報表中的編頁報表。 若要使用動態系結實作內嵌編頁報表視覺效果,請將 datasetBinding 屬性新增至內嵌組態物件,如下列範例所示。

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);

考量與限制

  • 動態選取的數據集必須在報表中使用相同的數據架構。
  • 為客戶內嵌時,請使用新的 API 產生 內嵌令牌
  • 為組織內嵌時,請確定使用者具有報表和數據集的許可權。
  • 屬性 datasetBinding 不能是空的。 它應該包含 、 datasetIdpaginatedReportBindings或兩者。
  • targetDatasetId 的值datasetId不一定相同。 系結適用於 .pbix 和編頁報表。
  • 屬性 datasetBinding 可以包含多個物件。

下一步