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

Power BI中如何仅筛选可视化对象而不影响底层数据?

Power BI可视化筛选不影响底层数据统计的解决方案

核心思路

不直接对flow_start_date设置可视化级筛选(会过滤底层数据),而是通过DAX度量值实现两个目标:

  1. 矩阵仅显示t、t-1、t-2三个日期作为行标签
  2. 每个日期行的统计值包含所有仍在流程中的数据(包括flow_start_date < t-2的记录)

具体步骤

1. 定义当前日期t

根据你的报表逻辑创建DAX度量值获取t:

  • 若基于数据表中最新的日期:
当前日期 t = MAX('你的数据表'[flow_start_date])
  • 若使用当前系统日期:
当前日期 t = TODAY()

2. 创建统计度量值

编写度量值统计所有仍在流程中的数据,不受后续可视化筛选的影响:

在流程中数量 = 
VAR CurrentDate = [当前日期 t]
RETURN
CALCULATE(
    COUNT('你的数据表'[记录ID]), -- 替换为实际统计字段
    -- 替换为判断数据是否在流程中的逻辑,比如用结束日期为空表示未完成
    ISBLANK('你的数据表'[flow_end_date]),
    '你的数据表'[flow_start_date] <= CurrentDate
)

3. 控制矩阵行标签显示范围

  • 将flow_start_date拖入矩阵的行区域
  • 对行标签设置可视化级筛选:选择「高级筛选」,设置规则为:
    flow_start_date 大于或等于 [当前日期 t] - 2
    且
    flow_start_date 小于或等于 [当前日期 t]
    
    这样矩阵仅显示t、t-1、t-2三个日期行

4. 适配行级统计(可选)

如果需要每个日期行显示「截至该日期仍在流程中的总数据量」,修改度量值为:

截至行日期的在流程数量 = 
VAR RowDate = SELECTEDVALUE('你的数据表'[flow_start_date])
RETURN
CALCULATE(
    COUNT('你的数据表'[记录ID]),
    ISBLANK('你的数据表'[flow_end_date]),
    '你的数据表'[flow_start_date] <= RowDate
)

此时矩阵的t、t-1、t-2行,会分别展示截至对应日期、所有仍在流程中的数据总量(包含更早启动的记录)。

关键说明

可视化级筛选仅控制矩阵显示哪些行,不会过滤度量值计算时调用的底层数据,完全满足你“计入统计但不显示早于t-2日期行”的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 22:41:10