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

效果:




相关推荐
宝桥南山2 天前
Microsoft Fabric - 简单尝试一下Microsoft Fabric .NET SDK
microsoft·微软·.net·.netcore·powerbi·fabric
Sharewinfo_BJ7 天前
Power BI 四种核心文件格式解析:PBIX、PBIT、PBIP、PBIR
powerbi
y5236489 天前
Powerbi 动态矩阵
powerbi
宝桥南山21 天前
GitHub Copilot - 尝试配置和使用一下Microsoft Fabric Core MCP Server
运维·microsoft·ai·微软·powerbi·fabric
迅易科技2 个月前
Power BI 新功能解读:重构 AI 时代的企业数据建设内核
微软·big data·powerbi
维C°2 个月前
PowerBI数据准备—合并文件夹中同表头Excel或csv
excel·powerbi
维C°2 个月前
PowerBI数据准备—合并同表头的sheet
powerbi
维C°2 个月前
PowerBI数据准备—获取Sharepoint/Onedrive上的Excel
powerbi·sharepoint
Sharewinfo_BJ3 个月前
当 BI 遇上 AI:到底是谁在帮谁?
大数据·人工智能·ai·数据分析·微软·powerbi
牛猫Data4 个月前
POWER BI技巧:报告名称的Emoji符号妙用
microsoft·数据分析·数据可视化·powerbi