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

Power BI实现排除切片值的时间序列平均值可视化需求

需求实现:指定序列与其他序列平均值(不含自身)的对比可视化

需求说明

需要创建可视化图表,默认展示事实表中所有Person的Score平均值;添加Person切片器,选中某Person时,该Person的Score平均值单独展示,同时整体平均值自动排除该Person的数据,实现「选中序列与其他序列平均值(不含自身)」的对比。

示例数据

DatePersonScore
1/1/2023Bob140
1/1/2023Sarah125
1/1/2023Sam140
1/1/2023Alex155
2/1/2023Bob50
2/1/2023Sarah185
2/1/2023Sam200
2/1/2023Alex215
3/1/2023Bob230
3/1/2023Sarah245
3/1/2023Sam260
3/1/2023Alex275
4/1/2023Bob290
4/1/2023Sarah305
4/1/2023Sam320
4/1/2023Alex335
5/1/2023Bob350
5/1/2023Sarah365
5/1/2023Sam380
5/1/2023Alex395

实现方案(DAX度量值为主,无需计算表)

1. 创建独立的Person维度表

直接用事实表的Person列做切片器会过滤整个事实表,导致无法计算排除后的数据,所以先创建独立维度表:

Person维度 = DISTINCT('事实表'[Person])

(将事实表替换为你的实际表名)

2. 创建两个核心DAX度量值

选中人员得分平均值

选中人员得分平均值 = 
VAR 选中人员 = SELECTEDVALUE('Person维度'[Person])
RETURN
CALCULATE(
    AVERAGE('事实表'[Score]),
    '事实表'[Person] = 选中人员
)

其他人员平均值(不含自身)

其他人员平均值(不含自身) = 
VAR 选中人员 = SELECTEDVALUE('Person维度'[Person])
VAR 总得分 = CALCULATE(SUM('事实表'[Score]), ALL('事实表'))
VAR 选中人员得分 = CALCULATE(SUM('事实表'[Score]), '事实表'[Person] = 选中人员)
VAR 总数据量 = CALCULATE(COUNT('事实表'[Score]), ALL('事实表'))
VAR 选中人员数据量 = CALCULATE(COUNT('事实表'[Score]), '事实表'[Person] = 选中人员)
RETURN
IF(
    ISBLANK(选中人员),
    AVERAGE('事实表'[Score]),
    DIVIDE(总得分 - 选中人员得分, 总数据量 - 选中人员数据量)
)
  • 逻辑说明:未选中任何人员时,返回所有数据的平均值;选中人员后,用总得分减去选中人员得分、总数据量减去选中人员数据量,通过DIVIDE安全计算排除后的平均值(避免除零错误)。

3. 可视化配置

  • 添加切片器:选择Person维度表的Person列作为筛选条件
  • 创建图表(推荐簇状柱形图/组合图):将「选中人员得分平均值」和「其他人员平均值(不含自身)」拖入值区域,即可实现需求效果——默认展示整体平均值,选中人员后同时展示该人员平均值与其余人员平均值的对比。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 07:07:48