powerbi - 在 Power BI 报表中设置活动页面
问题描述
我的报告中有 4 页。我需要根据客户当前正在查看的网站显示不同的页面。最初,我有 4 种不同的配置来加载报告 4 次。当然,这对性能产生了巨大影响,根本不是正确的解决方案。
起初,我试过这个
var report = powerbi.embed($reportContainer.get(0), embedConfigurationMain);
report.setFilters([basicFilterMain, stocktakeIdFilterMain]);
var page = report.page('ReportSectionxxxxxxxxx');
page.setActive();
但它仍然显示报告的默认页面。
然后我在这里找到了有类似问题的人https://community.powerbi.com/t5/Developer/set-active-page-in-report-with-JavaScript-API/mp/93716#M ..。并尝试了建议的解决方案,但出现以下错误:
Uncaught TypeError: Cannot read property 'setActive' of undefined
然后我继续检查 Power BI Playground 并使用他们在那里提供的确切代码,即
report.getPages()
.then(function (pages) {
pages[0].setActive()
.then(function () {
Log.logText("Active page was set to: \"" + pages[0].displayName + "\"");
})
.catch(function (errors) {
Log.log(errors);
});
})
.catch(function (errors) {
Log.log(errors);
});
但仍然没有喜悦,什么也没有发生。甚至没有在控制台中收到消息。
在 JavaScript API 中设置活动报告页面的正确方法是什么?我正在使用最新版本的 Power BI Embedded SDK。
解决方案
有一种解决方法可以满足您的目的。正如您所说,您有不同的网站,并且您希望根据来自哪个网站的请求在报告中显示不同的页面。
您可以在 Power BI 服务的报告中列出不同页面的浏览器 URL。只需转到报告的不同页面,您将获得页面链接。你可以看到,同一个页面总是会在浏览器中生成唯一的 URL。因此,如果您的报告中有 4 个页面,您将从浏览器中获得 4 个唯一 URL。
现在,您可以在您网站的链接中设置目标 URL(特定于页面)。希望这个技巧能奏效。
推荐阅读
- curl - 使用 Rest API 和 CURL 更新 Jira 选择列表自定义字段
- node.js - 使用传统工作者或使用节点服务器处理作业?
- angular - 如何从订阅者对象获取信息
- try-catch - 如何使用 try catch 或条件列来解决 power bi 中的 csv 问题
- java - 如何修复“对象不是此领域架构的一部分”
- machine-learning - 没有标签的深度学习分类
- angular - Angular 7 将变量从组件传递到 app.component.ts
- firebase - 我在使用 Firebase Auth-UI 用户元数据时遇到问题
- reactjs - Bootstrap 4 - 反应 - 多行代码块
- r - 将点添加到条形图