在 Power BI 报表中删除视觉对象的筛选器
Remove Filter for a Visual in PowerBI Report
我有一个嵌入了一些视觉效果的 Power BI 报告。如果我们应用视觉过滤器,它会过滤所有视觉对象。我想要的是,如果我 select 任何特定的 Visual,则应删除应用于该 Visual 的过滤器。我怎样才能做到这一点?
使用 dataSelected
事件来 select 特定的视觉效果。要从 selected 视觉对象中删除过滤器,请使用 updateFilters
。这是代码:
// report.on 将添加一个事件侦听器。
report.on("dataSelected", function (event) {
const pages = await report.getPages();
// Retrieve the active page.
let page = pages.filter(function (page) {
return page.isActive
})[0];
const visuals = await page.getVisuals();
// Select the Visual
let data = event.detail;
// Retrieve the target visual.
let visual = visuals.filter(function (visual) {
return visual.name === data.visual.name;
})[0];
// Remove the filters applied to the visual
await visual.updateFilters(models.FiltersOperations.RemoveAll);
});
参考文献:
https://docs.microsoft.com/javascript/api/overview/powerbi/handle-events#dataselected
https://docs.microsoft.com/javascript/api/overview/powerbi/control-report-filters#filters-operation
我有一个嵌入了一些视觉效果的 Power BI 报告。如果我们应用视觉过滤器,它会过滤所有视觉对象。我想要的是,如果我 select 任何特定的 Visual,则应删除应用于该 Visual 的过滤器。我怎样才能做到这一点?
使用 dataSelected
事件来 select 特定的视觉效果。要从 selected 视觉对象中删除过滤器,请使用 updateFilters
。这是代码:
// report.on 将添加一个事件侦听器。
report.on("dataSelected", function (event) { const pages = await report.getPages();
// Retrieve the active page.
let page = pages.filter(function (page) {
return page.isActive
})[0];
const visuals = await page.getVisuals();
// Select the Visual
let data = event.detail;
// Retrieve the target visual.
let visual = visuals.filter(function (visual) {
return visual.name === data.visual.name;
})[0];
// Remove the filters applied to the visual
await visual.updateFilters(models.FiltersOperations.RemoveAll);
});
参考文献:
https://docs.microsoft.com/javascript/api/overview/powerbi/handle-events#dataselected https://docs.microsoft.com/javascript/api/overview/powerbi/control-report-filters#filters-operation