函数周期表丨筛选丨值丨SELECTEDVALUE

函数周期表丨筛选丨值丨SELECTEDVALUESELECTEDVALU 函数 SELECTEDVALU 函数属于 筛选 类函数 隶属于 表函数 微软官方介绍是这么说的 当指定列当前上下文中只有一个非重复值时 返回该值 否则返回替代结果 省略则返回空值 其实按照白茶的理解 通俗点来说 就是根据当前上下文匹配相关值 用途 通常用于度量值中 获取外部筛选器 语法 DAX SELECTEDVALU 列 备用值 参数列 固定现有列 不能是表达式 备用值 可选项 如果第一参数上下文判定为空 或者 备用值 列

函数周期表丨筛选丨值丨SELECTEDVALUE

SELECTEDVALUE函数

SELECTEDVALUE函数属于“筛选”类函数,隶属于“表函数”。

微软官方介绍是这么说的:

当指定列当前上下文中只有一个非重复值时,返回该值;

否则返回替代结果,省略则返回空值;

其实按照白茶的理解,通俗点来说,就是根据当前上下文匹配相关值。

用途:通常用于度量值中,获取外部筛选器。

语法

DAX= SELECTEDVALUE( 
  <列>
    [, 
   <备用值>
     ]) 
    
  

参数

列:固定现有列,不能是表达式;

备用值:可选项,如果第一参数上下文判定为空,或者出现多个重复值时,返回备用值;默认不填返回结果为空。

返回结果

例子

模拟数据:

image

例子1:

SELECTEDVALUE例子1 = SELECTEDVALUE ( '例子'[组别], FALSE () ) 

结果:

函数周期表丨筛选丨值丨SELECTEDVALUE

从上图我们可以看出,在当前[类别]上下文中,只有部分[组别]是非重复唯一值,因此返回正确结果,其他返回FALSE。

更换当前上下文,咱们对比一下:

函数周期表丨筛选丨值丨SELECTEDVALUE

将[组别]作为当前上下文,可以看出每个类别都返回正确值,只有总计栏上下文为空,返回FALSE。


其效果,等同于以下代码:

等同代码 = IF ( HASONEVALUE ( '例子'[组别] ), VALUES ( '例子'[组别] ), FALSE () ) 

对比结果:

函数周期表丨筛选丨值丨SELECTEDVALUE

其效果是等同的,但是SELECTEDVALUE的写法更简洁明了。

例子2:用来切换动态数据。

这种用法是我们所熟知的用法,也是使用频率较高的用法。

通常可以用来动态的切换数据。

SELECTEDVALUE例子2 = SWITCH ( TRUE (), SELECTEDVALUE ( '财务维度'[财务维度] ) = "利润", [利润], SELECTEDVALUE ( '财务维度'[财务维度] ) = "销售金额", [销售金额], BLANK () ) 

具体的案例文章,白茶写过很多期了,这里就不赘述了,感兴趣的小伙伴可以自行点击查看。

丨传送门:销售需求丨动态数据


小伙伴们❤GET了么?

白茶会不定期的分享一些函数卡片

(文件在知识星球[PowerBI丨需求圈])

函数周期表丨筛选丨值丨SELECTEDVALUE

这里是白茶,一个PowerBI的初学者。

函数周期表丨筛选丨值丨SELECTEDVALUE

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/224159.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午12:34
下一篇 2026年3月17日 下午12:35


相关推荐

  • Win10 下报错 WerFault.exe -解决方法亲测有效

    Win10 下报错 WerFault.exe -解决方法亲测有效Win10WerFault.exe错误装了后经常出现WerFault.exe的应用程序错误提示。内存*****地址不能为read.解决方法两种:1.系统设置2.管理员运行cmd命令行模式我机器用的第二种方式。1.系统设置1.1本地组策略gpedit.msc用户配置-管理模块-Windows组件-Windows错误报告-禁用1.2…

    2022年6月29日
    25
  • jsp和servlet区别

    jsp和servlet区别基本介绍Servlet:Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该…

    2022年6月29日
    23
  • php中常见的大坑,开发中应尽量避免

    php中常见的大坑,开发中应尽量避免

    2022年2月20日
    50
  • 阿里云服务器从购买到网站部署

    阿里云服务器从购买到网站部署

    2021年10月3日
    48
  • cpu用户态和内核态区别_内核拷贝数据到用户态

    cpu用户态和内核态区别_内核拷贝数据到用户态这里写目录标题内核态与用户态的区别用户态到内核态的切换操作系统需要两种CPU状态:内核态(KernelMode):运行操作系统程序,操作硬件用户态(UserMode):运行用户程序操作系统有三个特权级别:R0、R1、R2和R3。R0相当于内核态,R3相当于用户态,不同级别能够运行不同的指令集合。内核态与用户态的区别用户态的程序运行在3级特权级上,因为这是最低特权级,是普通的用户进程运行的特权级,大部分用户直接面对的程序都是运行在用户态。内核态的程序运行在0级特权级上。处于用户态执行时

    2026年1月19日
    2
  • Navicat for MySQL的使用

    Navicat for MySQL的使用首先要下载安装 NavicatforMy 建议支持正版 也可以在百度上下载激活成功教程版的也可以用 还要保证你开启了你的 MySQL PS MySQL 的默认端口号是 3306 建议不要改 接下来我们开始使用 NavicatforMy 打开你的 navicat 你会看到如下图所示的界面如果是第一次使用是需要先创建连接的哦 2 然后我们开始创建本地的数据库 进入到 localh

    2026年3月19日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号