Excel 2016 Power Pivot多对多关系下如何使用切片器?
问题描述
我在Excel 2016中搭建了包含Curators(管理者)、Pupils(学员)以及两者分配关系Assignments的Power Pivot模型,已经实现按任务数量排序的管理者列表透视表。现在需要添加基于多对多关系的切片器进行筛选:
- 管理者可掌握多种外语
- 管理者拥有多种“偏好任务类型”
我知道如何在度量值中处理多对多关系,但不清楚在这类关系中能否使用切片器?
以下是示例数据集(用作曲家-语言的多对多场景模拟问题):
作曲家表
Cid Name B Bach M Mozart H Haydn
作品表
Cid Work B Johannes-Passion B Mattheus-Passion B H-Moll Messe B Well-Tempered M Cosi fan tutte M Requiem H The Seasons H Die Schöpfung H Il Mondo della Luna
语言表
Lid Language DE Deutsch IT Italiano EN English FR Français
作曲家-语言关联表
Cid Lid B DE M DE M IT M FR H DE H EN
目前已生成按作曲家统计作品数量的透视表:
行标签 作品数量 Bach 4 Haydn 3 Mozart 2 总计 9
但尝试添加语言切片器筛选透视表时,因ComposerLanguage到Composer的筛选方向错误导致无法生效。
解决方案
在Excel 2016 Power Pivot的多对多关系中,完全可以使用切片器,以下针对你的示例场景给出两种可行方法:
方法1:调整关系筛选方向(推荐)
- 打开Power Pivot窗口,切换到关系图视图
- 选中
作曲家表和作曲家-语言关联表之间的关系线 - 在右侧关系属性面板中,将筛选方向从默认的单方向(仅从作曲家表到关联表)改为双向
- 返回Excel界面,将语言表中的
Language字段添加为切片器,此时选择任意语言,透视表会自动筛选出掌握该语言的作曲家及其作品数量
注意:双向筛选可能影响模型内其他关系的筛选逻辑,若模型还有其他关联表,需验证是否产生冲突。
方法2:通过度量值实现筛选(适合无法开启双向筛选的场景)
如果不能开启双向筛选,可修改作品数量的度量值,主动识别切片器的筛选条件:
- 在Power Pivot中新建度量值,替换原有的“作品数量”度量:
筛选后作品数量 = CALCULATE( COUNT('作品表'[Work]), FILTER( '作曲家表', COUNTROWS( FILTER( '作曲家-语言关联表', '作曲家-语言关联表'[Cid] = '作曲家表'[Cid] && '作曲家-语言关联表'[Lid] IN VALUES('语言表'[Lid]) ) ) > 0 ) )
- 将透视表中的“作品数量”替换为这个新度量值
- 添加语言表的
Language字段作为切片器,选择语言后,度量值会自动筛选出符合条件的作曲家并统计其作品数量
适配“偏好任务类型”多对多场景
上述方法可直接复用:
- 若任务类型有独立表+管理者-任务类型关联表,按方法1调整双向筛选,直接用任务类型字段做切片器
- 或按方法2修改度量值,将语言相关的筛选逻辑替换为任务类型的关联筛选即可
内容的提问来源于stack exchange,提问作者dami
相关产品推荐
相关产品推荐

