使用 Power REST API - 获取组中的页面时,有没有办法从报告中过滤掉 "Hidden" 页面
Is there a way to filter out "Hidden" Pages from a Report when using the Power REST API - Get Pages in Group
我正在尝试在 Angular 应用程序中构建一个组件来嵌入报告。
使用的技术:
- Angular 8
- ngx-powerbi npm 包
- PowerBI REST API
- PowerBI Pro 帐户
我们正在调用位于此处的 Get Pages in Group 端点:
https://docs.microsoft.com/en-us/rest/api/power-bi/reports/getpagesingroup
- 我们的配置设置中有工作区或组 ID
- 我们调用 Get Reports in Group(通过此工作区)。这将用于填充 FE 中的报告下拉列表。
- 对于每个选择的报告,我们调用 Get Pages in Group 并传入相同的工作区 ID 和报告 ID。这些页面将显示为选项卡式视图 material 组件(与在报告中使用默认页面选择器相反)
发生的事情是 app.powerbi.com 工作区的报告中存在“隐藏”页面。检索报告页面时,它会恢复所有页面,甚至是隐藏的页面。
这些页面是旧页面或 WIP,最终用户不应看到这些页面。
在上面链接的 PowerBI REST API 端点中是否有过滤这些的方法?
目前我能看到的解决方案只有:
- 返回使用报告中内置的默认 page/section 选项卡(用户不喜欢这样)
- 在“隐藏”页面名称前加上“WIP -”之类的前缀,我们可以在代码中将其过滤掉。我觉得有点脏。
希望有人能提供帮助。 :) 如果需要,很乐意添加更多信息。
您可以使用报告页面的可见性 属性,然后相应地过滤页面。
标记为隐藏的页面的可见性 属性 设置为 1。
请参考以下代码片段:
async function showPages() {
// Use getPages API to get the list of pages
pages = await report.getPages();
for (let i=0; i < pages.length; i++) {
// Check visibility property of the page object
if (pages[i].visibility) {
continue;
}
// Append page name to the dropdown
$('#selectBox').append($('<option />').text(pages[i].displayName))
}
}
现在,隐藏的页面将不会显示在下拉列表中。
也可以参考https://docs.microsoft.com/en-us/javascript/api/powerbi/powerbi-client/page.page#visibility
我正在尝试在 Angular 应用程序中构建一个组件来嵌入报告。
使用的技术:
- Angular 8
- ngx-powerbi npm 包
- PowerBI REST API
- PowerBI Pro 帐户
我们正在调用位于此处的 Get Pages in Group 端点: https://docs.microsoft.com/en-us/rest/api/power-bi/reports/getpagesingroup
- 我们的配置设置中有工作区或组 ID
- 我们调用 Get Reports in Group(通过此工作区)。这将用于填充 FE 中的报告下拉列表。
- 对于每个选择的报告,我们调用 Get Pages in Group 并传入相同的工作区 ID 和报告 ID。这些页面将显示为选项卡式视图 material 组件(与在报告中使用默认页面选择器相反)
发生的事情是 app.powerbi.com 工作区的报告中存在“隐藏”页面。检索报告页面时,它会恢复所有页面,甚至是隐藏的页面。
这些页面是旧页面或 WIP,最终用户不应看到这些页面。
在上面链接的 PowerBI REST API 端点中是否有过滤这些的方法?
目前我能看到的解决方案只有:
- 返回使用报告中内置的默认 page/section 选项卡(用户不喜欢这样)
- 在“隐藏”页面名称前加上“WIP -”之类的前缀,我们可以在代码中将其过滤掉。我觉得有点脏。
希望有人能提供帮助。 :) 如果需要,很乐意添加更多信息。
您可以使用报告页面的可见性 属性,然后相应地过滤页面。
标记为隐藏的页面的可见性 属性 设置为 1。
请参考以下代码片段:
async function showPages() {
// Use getPages API to get the list of pages
pages = await report.getPages();
for (let i=0; i < pages.length; i++) {
// Check visibility property of the page object
if (pages[i].visibility) {
continue;
}
// Append page name to the dropdown
$('#selectBox').append($('<option />').text(pages[i].displayName))
}
}
现在,隐藏的页面将不会显示在下拉列表中。
也可以参考https://docs.microsoft.com/en-us/javascript/api/powerbi/powerbi-client/page.page#visibility