You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerBI:账户筛选致事件类型筛选失效,如何让度量值保留所需筛选?

PowerBI度量值筛选冲突问题解决

问题背景

数据集包含多账户的MDR事件表(IncidentsData)和MITRE技术表(TechniquesList)。现有度量值IsPresentMeasureFull通过REMOVEFILTERS(IncidentsData[Column1.account])忽略账户筛选,统计某技术对应的全量唯一涉事账户数。但遇到以下问题:

  • 用筛选器排除特定事件类型(如“Audit”)时,度量值能正常响应该筛选;
  • 若同时筛选无该类型事件的账户,该事件类型的筛选选项会消失,且度量值不再统计该类型的事件数据;
  • 硬编码类型筛选无法满足灵活修改筛选条件的需求。

核心需求:让度量值仅忽略账户筛选,保留其他所有筛选(如事件类型、时间等)的作用。

解决方案

修改度量值,精准控制忽略筛选的范围,仅清除Column1.account字段的筛选,同时完整保留其他筛选上下文的作用。

修改后的DAX代码

IsPresentMeasureFull = 
    VAR CurrentID = SELECTEDVALUE(TechniquesList[Column2])
    // 仅清除账户字段筛选,保留其他所有外部筛选(如事件类型)
    VAR FilteredIncidents = CALCULATETABLE(
        IncidentsData,
        REMOVEFILTERS(IncidentsData[Column1.account]),
        CONTAINSSTRING(IncidentsData[Column1.labels.Techniques], CurrentID)
    )
    VAR accountCounts = COUNTROWS(DISTINCT(SELECTCOLUMNS(FilteredIncidents, "account", IncidentsData[Column1.account])))
    RETURN accountCounts

关键调整说明

  1. 精准清除筛选:仅针对Column1.account字段清除筛选,而非影响整个表的筛选上下文,确保事件类型、时间等其他筛选条件完全生效;
  2. 简化筛选逻辑:将CONTAINSSTRING条件直接放入CALCULATETABLE参数中,避免外层FILTER造成的筛选上下文混淆,同时提升计算效率;
  3. 继承全局筛选:CALCULATETABLE会自动继承当前页面的所有筛选(除了被REMOVEFILTERS指定清除的账户字段),满足灵活修改筛选条件的需求。

验证步骤

  1. 添加事件类型切片器,选择排除“Audit”类型;
  2. 添加账户切片器,选择一个无“Audit”事件的账户;
  3. 查看度量值结果:应仍统计所有账户中符合技术ID且排除“Audit”类型的事件对应的唯一账户数,同时“Audit”类型的筛选选项不会消失。

内容的提问来源于stack exchange,提问作者pocpoc47

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 01:26:08