SELECTEDVALUE函数同样也是与筛选相关的,但我们把它单独作为一篇,因为它比较特殊,可以获取到当前筛选上下文中选择的内容,因此可以协助我们实现一些特殊的计算逻辑及显示效果。
函数功能
SELECTEDVALUE函数接受一个列作为参数传入,并计算该列在当前筛选上下文中是否只有一个值,若判断为真则返回该值,为否则返回指定的替换值,默认为空。
SELECTEDVALUE(列名,替换值)
例如在示例文件中创建如下度量值:selectedvalue = SELECTEDVALUE('国家表'[国家名称],"无")
可以看到,在每个国家行中,因为该列只筛选出了一个值,因此返回了当前的国家名称,而总计行由于包含全部国家名称,是多个值,所以返回了我们要求的替代值“无”。
需要注意的是,该函数并不要求有直接作用于该列的筛选,例如下图中,我们将矩阵中的行字段替换为国家编码,依然能够返回对应的国家名称。
觉见应用
单位切换
在报表中,有时会需要实现点击按钮切换数据的显示单位,此时就需要用selectedvalue来辅助判断当前选择的单位,并对度量值的计算逻辑进行调整,这在金额类数据中较为多见。
基础原理
首先建一张辅助表:
这样当我们将该字段放入切片器中,就可以利用selectedvalue函数来获取它被筛选的值,然后搭配逻辑判断类函数来进行对应的单位换算了。如下图所示,也可以将切片器样式设置为“磁贴”,这样会更类似于按钮。
接下来创建一个示例用度量值: