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

Power BI矩阵实现:基于切片器选择与聚合的多维度对比

实现自定义分组的矩阵展示方案

步骤1:创建行分组辅助表

首先需要一个自定义表来定义矩阵的行维度,包含你需要的四个分组标签。可以用DAX创建:

MatrixRows = DATATABLE("分组", STRING, {{"全国"}, {"选中州"}, {"选中办公室1"}, {"选中办公室2"}})

也可以通过「输入数据」手动录入这四个标签。

步骤2:准备独立的办公室筛选列

因为两个办公室切片器不能共用同一列(会导致筛选冲突),需要复制原表的Office Name列,分别命名为Office Name 1和Office Name 2,对应两个切片器的数据源。

步骤3:编写动态度量值

替换原有的平均等待时间和面试时长度量,根据辅助表的分组返回对应维度的计算结果:

动态平均等待时间

动态平均等待时间 = 
SWITCH(
    SELECTEDVALUE(MatrixRows[分组]),
    "全国", CALCULATE(AVERAGE('面试表'[Wait Time]), ALL('面试表')),
    "选中州", CALCULATE(AVERAGE('面试表'[Wait Time]), ALLSELECTED('面试表'[State])),
    "选中办公室1", CALCULATE(AVERAGE('面试表'[Wait Time]), ALLSELECTED('面试表'[Office Name 1])),
    "选中办公室2", IF(ISFILTERED('面试表'[Office Name 2]), CALCULATE(AVERAGE('面试表'[Wait Time]), ALLSELECTED('面试表'[Office Name 2])), BLANK())
)

动态平均面试时长

动态平均面试时长 = 
SWITCH(
    SELECTEDVALUE(MatrixRows[分组]),
    "全国", CALCULATE(AVERAGE('面试表'[Interview Length]), ALL('面试表')),
    "选中州", CALCULATE(AVERAGE('面试表'[Interview Length]), ALLSELECTED('面试表'[State])),
    "选中办公室1", CALCULATE(AVERAGE('面试表'[Interview Length]), ALLSELECTED('面试表'[Office Name 1])),
    "选中办公室2", IF(ISFILTERED('面试表'[Office Name 2]), CALCULATE(AVERAGE('面试表'[Interview Length]), ALLSELECTED('面试表'[Office Name 2])), BLANK())
)

步骤4:配置矩阵视觉

  • 将辅助表的MatrixRows[分组]拖入矩阵的行区域
  • 将上述两个动态度量拖入矩阵的值区域
  • 分别设置三个切片器:州切片器绑定State列,办公室1切片器绑定Office Name 1列,办公室2切片器绑定Office Name 2列
  • 在矩阵的视觉设置中开启「隐藏空行」,这样当办公室2未选中时,该行会自动隐藏

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 10:14:56