PowerBI Javascript - 首先设置页面过滤器而不设置报告过滤器

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

从上周开始,当我尝试应用页面过滤器而没有先设置报表过滤器时,我在控制台上出现错误:未处理的Promise拒绝:无法在'Window'上执行'postMessage':TypeError:无法读取未定义的属性'instanceOfIVisualLevel'无法克隆......

使用该演示可以测试这个:https://microsoft.github.io/PowerBI-JavaScript/demo/v2-demo/index.html#

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

问题是什么?是否遗漏了演示中的内容?

javascript powerbi powerbi-embedded
1个回答
0
投票

事实证明,这是Power BI Embedded后端的问题......

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

使用Power BI嵌入式JavaScript API设置或获取页面级过滤器或可视级过滤器时,客户可能会收到错误。作为一种解决方法,客户可以在load config中传入任何过滤器对象。工程师正在调查这个问题。下次更新@ 9/10/18,太平洋时间上午9:00。

截至本答复时,该问题尚未得到解决,Power BI支持页面指出下一次更新将于9月14日(2018年),太平洋时间10:00举行。

但是,有一个简单的解决方法。确保将空的过滤器数组传入embed配置对象,一切正常。

var embedConfig = {
  ...
  filters: [] //Empty array of filters.
};

var $reportContainer = $('#reportContainer');
var report = powerbi.embed($reportContainer.get(0), embedConfiguration);

然后,您应该能够以您喜欢的顺序显式设置报表/页面/可视过滤器。

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