PowerBI Javascript - 设置页面过滤器而不先设置报表过滤器
PowerBI Javascript - Set page filters without set report filter first
自上周以来,当我尝试在未先设置报告过滤器的情况下应用页面过滤器时,我在控制台上收到错误消息:Unhandled Promise rejection: Failed to execute 'postMessage' on 'Window': TypeError : 无法读取未定义的 属性 'instanceOfIVisualLevel' 无法克隆...
使用演示可以对此进行测试:https://microsoft.github.io/PowerBI-JavaScript/demo/v2-demo/index.html#
- 样本报告
- 点击"Run"
- 点击"Interact"
- 转到 "Filters & Slicers" 并单击 "Set page filters"
- 单击运行应用页面过滤器
- 检查浏览器控制台
问题是什么?演示中是否缺少某些内容?
原来这是Power BI Embedded后端的问题...
Customers may receive an error while setting or getting page-level filters or visual-level filters using the Power BI embedded javascript API. As a workaround, customers can pass in any filter object in load config. Engineers are investigating the issue. Next update @ 9/10/18 at 9:00AM PDT.
然而,截至此答案发布之时,问题尚未解决,Power BI 支持页面指出下一次更新将在 9 月 14 日(2018 年)10:00 PDT。
但是,有一个非常简单的解决方法。确保将空过滤器数组传入嵌入配置对象,一切正常。
var embedConfig = {
...
filters: [] //Empty array of filters.
};
var $reportContainer = $('#reportContainer');
var report = powerbi.embed($reportContainer.get(0), embedConfiguration);
那么您应该能够按照您喜欢的顺序明确设置 report/page/visual 过滤器。
自上周以来,当我尝试在未先设置报告过滤器的情况下应用页面过滤器时,我在控制台上收到错误消息:Unhandled Promise rejection: Failed to execute 'postMessage' on 'Window': TypeError : 无法读取未定义的 属性 'instanceOfIVisualLevel' 无法克隆...
使用演示可以对此进行测试:https://microsoft.github.io/PowerBI-JavaScript/demo/v2-demo/index.html#
- 样本报告
- 点击"Run"
- 点击"Interact"
- 转到 "Filters & Slicers" 并单击 "Set page filters"
- 单击运行应用页面过滤器
- 检查浏览器控制台
问题是什么?演示中是否缺少某些内容?
原来这是Power BI Embedded后端的问题...
Customers may receive an error while setting or getting page-level filters or visual-level filters using the Power BI embedded javascript API. As a workaround, customers can pass in any filter object in load config. Engineers are investigating the issue. Next update @ 9/10/18 at 9:00AM PDT.
然而,截至此答案发布之时,问题尚未解决,Power BI 支持页面指出下一次更新将在 9 月 14 日(2018 年)10:00 PDT。
但是,有一个非常简单的解决方法。确保将空过滤器数组传入嵌入配置对象,一切正常。
var embedConfig = {
...
filters: [] //Empty array of filters.
};
var $reportContainer = $('#reportContainer');
var report = powerbi.embed($reportContainer.get(0), embedConfiguration);
那么您应该能够按照您喜欢的顺序明确设置 report/page/visual 过滤器。