在 Power BI 工作区集合中保存报表
了解如何在 Power BI 工作区集合中保存报表。 保存报表需要有适当的权限才能成功执行。
重要
Power BI 工作区集合已弃用,到 2018 年 6 月 或合同指示时可用。 建议你规划到 Power BI Embedded 的迁移以避免应用程序中断。 有关如何将数据迁移到 Power BI Embedded 的信息,请参阅如何将 Power BI 工作区集合内容迁移到 Power BI Embedded。
在 Power BI 工作区集合中,可编辑和保存现有报表。 还可以创建一个新报表,然后将它另存为新报表来创建另一个报表。
若要保存报表,首先需要为特定的报表创建具有适当范围的令牌:
- 若要启用“保存”,需要 Report.ReadWrite 范围
- 若要启用“另存为”,需要 Report.Read 和 Workspace.Report.Copy 范围
- 若要启用“保存”和“另存为”,需要 Report.ReadWrite 和 Workspace.Report.Copy
若要在文件菜单中相应地启用“保存”/“另存为”按钮,需要在嵌入报表时,在 Embed 配置中提供适当的权限:
- models.Permissions.ReadWrite
- models.Permissions.Copy
- models.Permissions.All
注意
访问令牌也需要适当的范围。 有关详细信息,请参阅范围。
嵌入处于编辑模式的报表
假设要在应用中嵌入一个处于编辑模式的报表,为此,只需在 Embed 配置中传递适当的属性,并调用 powerbi.embed()。 提供权限和 viewMode 才能在编辑模式下看到“保存”和“另存为”按钮。 有关详细信息,请参阅嵌入配置详细信息。
例如,在 JavaScript 中:
<div id="reportContainer"></div>
<script>
// Get models. Models, it contains enums that can be used.
var models = window['powerbi-client'].models;
// Embed configuration used to describe the what and how to embed.
// This object is used when calling powerbi.embed.
// This also includes settings and options such as filters.
// You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details.
var config= {
type: 'report',
accessToken: 'eyJ0eXAiO...Qron7qYpY9MI',
embedUrl: 'https://embedded.powerbi.com/appTokenReportEmbed',
id: '5dac7a4a-4452-46b3-99f6-a25915e0fe55',
permissions: models.Permissions.All /*both save & save as buttons will be visible*/,
viewMode: models.ViewMode.Edit,
settings: {
filterPaneEnabled: true,
navContentPaneEnabled: true
}
};
// Get a reference to the embedded report HTML element
var reportContainer = $('#reportContainer')[0];
// Embed the report and display it within the div container.
var report = powerbi.embed(reportContainer, config);
</script>
现在,会在应用中嵌入一个处于编辑模式的报表。
保存报表
使用适当的令牌和权限嵌入处于编辑模式的报表后,可以通过文件菜单或 JavaScript 保存该报表:
// Get a reference to the embedded report.
report = powerbi.get(reportContainer);
// Save report
report.save();
另存为
// Get a reference to the embedded report.
report = powerbi.get(reportContainer);
var saveAsParameters = {
name: "newReport"
};
// SaveAs report
report.saveAs(saveAsParameters);
重要
只有在调用“另存为”之后,才能创建新报表。 保存后,画布仍显示处于编辑模式的旧报表,而不是新报表。 嵌入已创建的新报表。 嵌入新报表需要获取新的访问令牌,因为令牌是针对每个报表创建的。
然后,需要在执行“另存为”操作后加载新报表。 加载新报表类似于嵌入任何报表。
<div id="reportContainer"></div>
<script>
var embedConfiguration = {
accessToken: 'eyJ0eXAiO...Qron7qYpY9MJ',
embedUrl: 'https://embedded.powerbi.com/appTokenReportEmbed',
reportId: '5dac7a4a-4452-46b3-99f6-a25915e0fe54',
};
// Grab the reference to the div HTML element that will host the report
var reportContainer = $('#reportContainer')[0];
// Embed report
var report = powerbi.embed(reportContainer, embedConfiguration);
</script>
另请参阅
示例入门
嵌入报表
从数据集创建新报表
在 Power BI 工作区集合中进行身份验证和授权
Power BI Desktop
JavaScript 嵌入示例
更多问题? 尝试参与 Power BI 社区