在 Power BI 工作区集合中在报表的查看和编辑模式之间切换

了解在 Power BI 工作区集合中如何在报表的查看和编辑模式之间切换。

创建访问令牌

需要创建一个访问令牌,令牌可授予你查看和编辑报表的能力。 要编辑并保存报表,需要 Report.ReadWrite 令牌权限。 有关详细信息,请参阅在 Power BI 工作区集合中进行身份验证和授权

Note

这可以让你编辑现有报表并保存更改。 如果还需要支持“另存为”的功能,则需要提供额外的权限。 有关详细信息,请参阅范围

using Microsoft.PowerBI.Security;

// rlsUsername and roles are optional
string scopes = "Report.ReadWrite";
PowerBIToken embedToken = PowerBIToken.CreateReportEmbedTokenForCreation(workspaceCollectionName, workspaceId, datasetId, null, null, scopes);

var token = embedToken.Generate("{access key}");

嵌入配置

为了在编辑模式下看到“保存”按钮,需要提供权限和 viewMode。 有关详细信息,请参阅 Embed 配置详细信息

例如,在 JavaScript 中:

   <div id="reportContainer"></div>

    // 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.cn/appTokenReportEmbed',
        id:  '5dac7a4a-4452-46b3-99f6-a25915e0fe55',
        permissions: models.Permissions.ReadWrite /*both save & save as buttons will be visible*/,
        viewMode: models.ViewMode.View,
        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);

这表示会根据设置为 models.ViewMode.View 的 viewMode 在查看模式下嵌入报表。

查看模式

如果处于编辑模式下,可以使用以下 JavaScript 切换到查看模式。

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

// Get a reference to the embedded report.
report = powerbi.get(reportContainer);

// Switch to view mode.
report.switchMode("view");

编辑模式

如果处于查看模式下,可以使用以下 JavaScript 切换到编辑模式。

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

// Get a reference to the embedded report.
report = powerbi.get(reportContainer);

// Switch to edit mode.
report.switchMode("edit");

另请参阅

示例入门
嵌入报表
在 Power BI 工作区集合中进行身份验证和授权
CreateReportEmbedToken
JavaScript 嵌入示例
PowerBI-CSharp Git 存储库
PowerBI-Node Git 存储库

有更多问题? 试用 Power BI 社区