从asp.net MVC以编程方式将参数传递给power bi filter

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

我已经开发了powerBI报告并在Workspace中部署了相同的报告。 从PowerBI界面我查看了报告,并且能够像这样添加过滤器:filter = tablename~2Fcolumnname eq 4条件从界面正常工作。但是,当我在我的asp.ner MVC应用程序的代码中添加过滤条件时,过滤器不起作用。

条件从界面正常工作。但是,当我在我的asp.ner MVC应用程序的代码中添加过滤条件时,过滤器不起作用。

我的示例代码:

var client = new PowerBIClient(new Uri(ApiUrl), tokenCredentials);
var reports = await client.Reports.GetReportsInGroupAsync(WorkspaceId);
report = reports.Value.FirstOrDefault(r => r.Id == "aa07v254-8t46-2387-4k53-2725y90n3456");

report.EmbedUrl = report.EmbedUrl + "?filter=tablename/columnname%20eq%204";

请帮我诊断一下,为什么过滤器不能正常工作。

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

您无需更改嵌入网址,而是尝试使用以下示例:

// Build the filter you want to use. For more information, See Constructing
// Filters in https://github.com/Microsoft/PowerBI-JavaScript/wiki/Filters.
const filter = {
    $schema: "http://powerbi.com/product/schema#basic",
    target: {
        table: "Geo",
        column: "Region"
    },
    operator: "In",
    values: ["West"]
};

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

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

// Set the filter for the report.
// Pay attention that setFilters receives an array.
report.setFilters([filter])
    .then(function () {
        Log.logText("Report filter was set.");
    })
    .catch(function (errors) {
        Log.log(errors);
    }); 
© www.soinside.com 2019 - 2024. All rights reserved.