将报告级别过滤器从asp.net mvc应用程序传递给power bi

问题描述 投票:0回答:1

我在asp.net mvc应用程序中嵌入了power bi报告。它工作正常,正在显示数据。我遇到一个问题,在我的应用程序中,每个客户都有几个分支机构,例如城市。该客户端的每个用户都可以访问所有或某些分支,并且基于该访问,当该用户登录系统时,我们将显示数据。

我希望在Power Bi中实现相同的功能,即当用户登录系统并查看报告时,它应该显示他/她有权访问的分支的数据。我找到了一个解决方案[Can I pass a dynamic query parameter to an embedded Power BI report in ASP.Net MVC?,我们可以在程序端设置过滤器值。我在自己的视图中应用了此方法,但仍在获取所有数据。

    const branchFilter = {
        $schema: "http://powerbi.com/product/schema#basic",
        target: {
            table: "tblWorkhistory",
            column: "BranchID"
        },
        operator: "In",
        values: [1],
        filterType: models.FilterType.BasicFilter
    }

        var config = {
        type: 'report',
        tokenType: models.TokenType.Embed,
        accessToken: accessToken,
        embedUrl: embedUrl,
        id: embedReportId,
        permissions: models.Permissions.All,
        viewMode: models.ViewMode.View,
        filters: [branchFilter],
        settings: {
            filterPaneEnabled: true,
            navContentPaneEnabled: true
        }
    };

这里,我想在其中应用过滤器的地方,它将仅显示id为1的分支的数据,但它显示的是所有数据。我在这里想念什么吗?在此代码之后我还需要做任何报告方面的事情吗?

关于,沙湾

asp.net-mvc powerbi powerbi-embedded powerbi-filters
1个回答
0
投票

要显示基于登录到您的应用程序的用户的数据,您必须先在Power Bi报告中应用Row Level Security(RLS),然后按照以下文章https://docs.microsoft.com/en-us/power-bi/developer/embedded-row-level-security的步骤进行操作>

© www.soinside.com 2019 - 2024. All rights reserved.