问题描述
我正在使用Power BI嵌入式图表,其中包含从Javascript传入的过滤器。由于在数据库中定义了过滤器的方式,可能会以错误的类型应用过滤器(例如,为期望整数的过滤器提供的字符串)。如果发生这种情况,则该过滤器无效且未应用,这意味着用户可能会看到不该看到的信息。
设置图表的代码为:
var powerBiDashboard = powerbi.load(embedContainer,config);
powerBiDashboard.on('error',function () {
console.log('error');
});
powerBiDashboard.on('loaded',function (event) {
console.log('Loaded');
powerBiDashboard.setFilters(
[{ $schema: "http://powerbi.com/product/schema#basic",filterType: 1,target:
{ table: "DummyData",column: "Count" },operator: "In",values: ["150"],displaySettings: { isLockedInViewMode: true }
}])
.catch(function (errors) {
console.log(errors);
});
powerBiDashboard.render();
});
(请注意整数过滤器的值“ 150”不正确)
这会在过滤器中生成一个带有以下内容的图表:
...而不是:
如果发生这种情况,我不想显示图表,而是转到错误页面。
所以...我怎么知道过滤器是否无效?错误事件不会在powerBiDashboard对象上触发,并且setFilters方法调用的catch也不会执行。而且在powerBiDashboard对象上找不到任何有帮助的属性。
谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)