建立、編輯及儲存內嵌報表
Power BI 內嵌式分析可讓您建立、編輯及儲存內嵌報表。 您可以根據現有的資料集建立報表,也可以編輯現有的報表。 您也可以在建立或編輯報表之後儲存報表。
如何建立報表
瞭解如何從現有的資料集建立新的空白報表。
建立報表所需的存取權杖許可權
產生具有資料集存取權的內嵌權杖。 如果您使用 主要使用者 驗證方法,請確定您的應用程式具有下列範圍: Dataset.Read.All
、 Content.Create
和 Workspaces.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.All
和 Report.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);
});