Power BI中如何配置slicer使其作用于矩阵的Grand Total字段
Power BI 矩阵切片器配置问题
现状说明
当前报告内的三个数值型切片器分别对应MB Data Used(流量使用量)、Calls Made(通话次数)、SMS Sent(短信发送量):
- 三个切片器当前可正常实现明细行级别的数值过滤,该表现符合预期
- 现存问题:切片器的过滤逻辑无法作用于矩阵最右侧的
Grand Total(总计)列,不匹配实际业务需求
核心需求
切片器的过滤规则需要调整为按指定时间范围内的累计汇总值筛选,而非仅匹配单条明细记录的数值:
典型应用场景:当三个切片器均设置为筛选值0、时间范围选定1/1/19-1/2/19时,仅展示该周期内三类使用量全周期累计为0的手机号(即示例基础数据中的ph_id 3),而非误过滤掉单条记录中数值为0的条目。
基础源表结构与示例数据
---------------------------------------------------- |ph_id | month | data_used | calls_made | sms_sent | | 1 | 1/1/19| 123 | 0 | 33 | | 2 | 1/1/19| 87 | 22 | 0 | | 3 | 1/1/19| 0 | 0 | 0 | | 1 | 1/2/19| 0 | 55 | 33 | | 2 | 1/2/19| 87 | 22 | 77 | | 3 | 1/2/19| 0 | 0 | 0 | ----------------------------------------------------
注:该基础表已关联其他维度表,用于补充匹配相关的属性数据
问题根因与调整方向
默认配置下,直接绑定源表明细列的切片器会在行级上下文触发直接过滤,自然无法作用于矩阵总计行的聚合计算结果。要实现目标效果,需完成以下调整:
- 断开三个切片器与源表
data_used/calls_made/sms_sent明细列的直接绑定 - 以
ph_id为唯一汇总粒度,新建独立的计算表,逐行存储每个手机号在当前筛选时间范围内的三类使用量累计值 - 将三个切片器的绑定源切换为独立计算表的对应列,让过滤逻辑匹配矩阵总计行的聚合粒度,即可实现筛选全周期无使用记录手机号的需求,避免单条记录值为0就被误判的问题
内容的提问来源于stack exchange,提问作者Nathan Wilson
相关产品推荐
相关产品推荐

