PowerBI 字段参数的层次用法,以及DAX获取选中字段和选中字段的值

1.假设有销量表如下:

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


  1. 再新建另一个相同字段的字段参数"选择明细",并添加切片器到页面。

选中它,在"字段"菜单上右键,选择"显示所选字段的值"

  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('销量表'[手机]),[手机],",")
)

效果:




相关推荐
数据科学小丫4 小时前
PowerBI 可视化操作——常用视觉对象(堆积条形图、折线图、堆积柱形图、着色地图、丝带图、分解树、瀑布图、散点图...共计 16 种视觉对象)
数据分析·数据可视化·powerbi
Sharewinfo_BJ6 小时前
上北智信携“智信BI”闪耀2026上海全球数据周,以灵活部署方案赋能企业数据价值跃升
大数据·人工智能·ai·数据挖掘·微软·powerbi
维C°2 天前
报表设计-7
powerbi
宝桥南山8 天前
Microsoft Fabric - 尝试一下使用Shortcut Transformation进行数据同步
microsoft·ai·微软·database·powerbi·fabric
SL-staff13 天前
中小企业 BI 选型:帆软、Power BI、JVS-BI 性价比与架构对比
数据分析·数据可视化·powerbi·帆软·bi工具·部署架构·jvs-bi
哥本哈士奇14 天前
Power BI学习笔记第12篇:DAX 高级计算与性能优化
powerbi
哥本哈士奇14 天前
Power BI学习笔记第17篇:Power BI Dashboard 常用布局方案推荐
前端·powerbi
哥本哈士奇15 天前
Power BI学习笔记第20篇:面试题汇总 · 第三篇:高级应用与最佳实践篇
powerbi
哥本哈士奇15 天前
Power BI学习笔记第19篇:面试题汇总 · 第二篇:数据建模与 DAX 篇
powerbi