我正在尝试使用Power BI SDK从JS动态设置过滤器。
当我选中Power BI服务时,过滤器将“全选”。

然后在我的JS代码中,获取过滤器,如下所示。
rapport.getFilters().then(data => {
console.log("filters data", data)
....我得到一个空数组:

其次,当我尝试使用setFilters应用程序接口设置过滤器时,什么也没有发生。
report.setFilters(filters)下面是我在“filter”中发送的内容

我的代码只在一种情况下有效:
当我进入power bi service并取消选中selectAll,然后手动逐个检查过滤器。

在本例中,当我使用setFilters时,嵌入的视图正在更新。但在我的例子中,我是自动生成报告的,所以我不能转到PBI online并检查每个过滤器,我应该保持默认的“全选”选中,并从前端设置过滤器。
有没有办法在默认选中“全选”的情况下以编程方式设置过滤器?
发布于 2021-02-03 21:49:19
使用getFilters()得到的响应似乎是正确的。要以编程方式设置筛选器,并默认选中“全选”,请使用以下代码。
// Create a filter
const filter = {
$schema: "http://powerbi.com/product/schema#basic",
target: {
table: "<TABLE-NAME>",
column: "<COLUMN-NAME>"
},
operator: "All",
values: []
};// It is recommended to use the updateFilters API to apply filters
report.updateFilters(models.FiltersOperations.Add, [filter]);有关创建和应用过滤器的详细信息,请参阅docs
https://stackoverflow.com/questions/65925416
复制相似问题