在 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