1.假设有销量表如下:

- 新建字段参数"按类查看",并添加单选切片器到页面


- 再新建另一个相同字段的字段参数"选择明细",并添加切片器到页面。
选中它,在"字段"菜单上右键,选择"显示所选字段的值"

- 然后我们在数据面板,选中"选择明细"。
确保第三个字段(数字),在"按类查看"和"选择明细"里正好是相反的,如果不是,可以手动修改:
按类查看 = {
("门店", NAMEOF('销量表'[门店]), 0),
("手机", NAMEOF('销量表'[手机]), 1)
}
选择明细 = {
("门店", NAMEOF('销量表'[门店]), 1),
("手机", NAMEOF('销量表'[手机]), 0)
}
5.给两个字段参数表建立关系:

6.这样就可以显示层次关系了
当按门店查看,我们可以选择手机作为明细,当按手机查看,我们可以选择门店作为明细


7.如何通过DAX获取字段参数的所选字段?
通过字段参数表的第三个字段获取:
选中类别 =
SWITCH(
SELECTEDVALUE('按类查看'[按类查看 个订单]),
0, "按门店查看",
1, "按手机查看"
)
效果:


注意:这里的中文版本其实翻译不太准确,原本的三个字段分别是Parameter, ParameterField,Parameter Order。其中,第一个字段是无法用SELECTEDVALUE去获取的,我们通常用第三个地段来判断切片器的选中
8.如何通过DAX获取所选字段的值?
这里不能直接通过字段参数表"选择明细"去获取,需要通过它的字段引用的原表,比如这里,字段都来自"销量表",那么就应该这么写:
选中的明细 =
IF(
//先获取选中的字段
SELECTEDVALUE('按类查看'[按类查看 个订单]) = 1, //注意这里的顺序是反的
//从原表中获取选中字段的值(单选用SELECTEDVALUE)
CONCATENATEX(VALUES('销量表'[门店]),[门店],","),
CONCATENATEX(VALUES('销量表'[手机]),[手机],",")
)
效果:

