建立、編輯及儲存內嵌報表

Power BI 內嵌式分析可讓您建立、編輯及儲存內嵌報表。 您可以根據現有的資料集建立報表,也可以編輯現有的報表。 您也可以在建立或編輯報表之後儲存報表。

如何建立報表

瞭解如何從現有的資料集建立新的空白報表。

建立報表所需的存取權杖許可權

產生具有資料集存取權的內嵌權杖。 如果您使用 主要使用者 驗證方法,請確定您的應用程式具有下列範圍: Dataset.Read.AllContent.CreateWorkspaces.ReadWrite.all 。 如需詳細資訊,請參閱 內嵌權杖 - 產生權杖

建立報表所需的用戶端許可權

建立報表需要下列用戶端許可權:

  • 建立 - 使用者可以建立新的報表。

  • 全部 - 使用者可以建立、檢視、編輯、儲存及儲存報表複本。

建立新的報表

從現有的資料集建立新的空白報表。 您將需要資料集識別碼和內嵌 URL。 例如,您可以使用 getDatasetsInGroup REST API 並擷取 CreateReportEmbedURL 。 如需詳細資訊,請參閱 資料集 - 取得群組中的資料集

注意

您必須擁有資料集的建置或寫入權限,才能建立新的報表。

let embedCreateConfiguration = {
    tokenType: tokenType,
    accessToken: accessToken,
    embedUrl: embedURL,
    datasetId: datasetId,
    settings: settings,
    theme: theme, // optional
};

// Grab the reference to the div HTML element that will host the report
let embedContainer = $('#embedContainer')[0];

// Create report
let report = powerbi.createReport(embedContainer, embedCreateConfiguration);

您也可以選擇建立已套用主題的報表。 新增至報表的新視覺效果將遵守主題樣式。 如需詳細資訊,請參閱 套用報表主題

如何編輯報表

瞭解如何編輯現有的報表,並在 [檢視] 和 [編輯] 模式之間切換。

編輯所需的存取權杖許可權

產生具有報表存取權的內嵌權杖。 如果您使用 主要使用者 驗證方法,請確定您的應用程式具有下列範圍: Dataset.ReadWrite.AllReport.ReadWrite.All 。 您也必須為使用者需要編輯的每個報表設定 allowEdit: true 旗標。 如需詳細資訊,請參閱 內嵌權杖 - 產生權杖

編輯所需的用戶端許可權

編輯報表需要下列用戶端許可權:

  • 複製 - 使用者可以使用另存新檔來儲存報表的複本。

  • ReadWrite - 使用者可以檢視、編輯及儲存報表。

  • 全部 - 使用者可以建立、檢視、編輯、儲存及儲存報表複本。

編輯報表

以編輯模式載入現有的報表。 報表必須與應用程式內嵌一般報表的方式相同,而且檢視模式必須在 [編輯] 中。 請確定您已將 viewMode 參數設定為 models.ViewMode.Edit ,而且您擁有正確的用戶端許可權。

let config = {
    type: 'report',
    tokenType: models.TokenType.Aad or models.TokenType.Embed,
    accessToken: YourAccessToken,
    embedUrl: YourEmbedUrl,
    id: YourEmbedReportId,
    permissions: models.Permissions.All,
    viewMode: models.ViewMode.Edit,
};

// Grab the reference to the div HTML element that will host the report
let embedContainer = $('#embedContainer')[0];

// Embed report
let report = powerbi.embed(embedContainer, config);

您的使用者現在可以根據已啟用 的許可權 編輯報表。

您也可以在載入報表之後切換 [編輯] 和 [檢視] 模式。

report.switchMode("view");

若要切換至編輯模式:

report.switchMode("edit");

如何儲存報表

瞭解如何儲存報表,包括儲存報表複本,以及將報表儲存至另一個工作區等其他選項。

儲存所需的存取權杖許可權

產生具有報表和資料集存取權的內嵌權杖。 如果您想要將報表儲存至另一個工作區,權杖必須具有目標工作區的存取權。 如果您使用 主要使用者 驗證方法,請確定您的應用程式具有下列範圍: Report.ReadWrite.All 、 和 Workspaces.ReadWrite.all 。 您也必須設定 allowEdit: true 客戶需要編輯之每個報表的旗標。 如需詳細資訊,請參閱 內嵌權杖 - 產生權杖

儲存所需的用戶端許可權

儲存報表需要下列用戶端許可權:

  • ReadWrite - 使用者可以檢視、編輯及儲存報表。

  • 建立 - 使用者可以建立新的報表。

  • 複製 - 使用者可以使用另存新檔來儲存報表的複本。

  • 全部 - 使用者可以建立、檢視、編輯、儲存及儲存報表複本。

儲存報表

建立報表時,除非您從檔案功能表或 JavaScript 呼叫 save 作業,否則不會儲存報表。

report.save();

儲存報表複本

以不同的名稱儲存其他複本。 報表的複本將會儲存至與報表資料集相同的工作區。

let saveAsParameters = {
    name: "newReport"
};

report.saveAs(saveAsParameters);

您也可以將報表儲存到另一個工作區。 請確定您具有目標工作區的正確許可權。

let saveAsParameters = {
    name: "newReport"
    targetWorkspaceId: "13bbf317-fe2b-4b15-a081-94b0921c28e5"
};

report.saveAs(saveAsParameters);

確認已儲存報表

呼叫 report.isSaved 以確定已儲存報表。 這個方法有助於防止遺失未儲存的變更。

let isReportSaved = await report.isSaved();

建立自訂 saveAs 體驗

您可以將報表設定新增至組態物件, useCustomSaveAsDialog: true 以建立自訂 saveAs 對話方塊。 此設定會隱藏預設 UI 對話方塊。

當使用者 saveAsTriggered 在 UI 中按一下 [另 存新檔 ] 時,就會引發此事件。 使用此資訊來顯示您的自訂對話方塊。

report.on("saveAsTriggered", function (event) {
    console.log(event);
});

若要執行另存新檔作業,您可以從自訂對話方塊呼叫 report.saveAs 。 如需詳細資訊 ,請參閱儲存報表的複本

let saveAsParameters = {
    name: "newReport"
    targetWorkspaceId: "13bbf317-fe2b-4b15-a081-94b0921c28e5"
};

report.saveAs(saveAsParameters);

接聽 save 和 saveAs 事件

saved當 UI 中的 或 saveAs 動作或使用 API 觸發 save 儲存時,就會引發 事件。 如需詳細資訊 ,請參閱如何處理事件

report.on("saved", function (event) {
    console.log(event);
});

下一步