PowerBI Javascript - 设置页面筛选器而不先设置报表筛选器



自上周以来,当我尝试在没有先设置报告过滤器的情况下应用页面过滤器时,我在控制台上收到错误:未处理的承诺拒绝:无法在"窗口"上执行"postMessage":类型错误:无法读取未定义的属性"实例IVisualLevel"无法克隆...

使用演示可以对此进行测试:https://microsoft.github.io/PowerBI-JavaScript/demo/v2-demo/index.html#

  1. 样本报告
  2. 点击"运行"
  3. 点击"互动"
  4. 转到"过滤器
  5. 和切片器",然后单击"设置页面过滤器"
  6. 单击运行以应用页面筛选器
  7. 检查浏览器控制台

问题出在哪里?演示中是否缺少某些内容?

事实证明,这是 Power BI 嵌入式后端的问题...

https://community.powerbi.com/t5/Developer/Problem-using-page-getFilters/m-p/511911/highlight/true#M15792

客户在使用 Power BI 嵌入式 JavaScript API 设置或获取页面级筛选器或视觉对象级筛选器时可能会收到错误。作为解决方法,客户可以在加载配置中传入任何筛选器对象。工程师正在调查此问题。下一次更新 @ 9/10/18 在 9:00AM PDT。

但是,截至本答复时,该问题尚未解决,Power BI 支持页面指出下一次更新时间为 9 月 14 日(2018 年(太平洋夏令时 10:00。

但是,有一个非常简单的解决方法。确保将空筛选器数组传入嵌入配置对象,并且一切正常。

var embedConfig = {
...
filters: [] //Empty array of filters.
};
var $reportContainer = $('#reportContainer');
var report = powerbi.embed($reportContainer.get(0), embedConfiguration);

然后,您应该能够以您喜欢的任何顺序显式设置报表/页面/视觉对象筛选器。

最新更新