SELECTEDVALUE函数也是使用频率比较高的一个函数,经常用于获取切片器或矩阵行列标签等筛选器中被筛选的单个值。
语法和作用
语法:
SELECTEDVALUE(columnName[,alternateResult])
作用:如果指定列的可见数据去重后只有一个值,则返回该值;否则返回第二参数的备选结果,备选结果可省略,默认为空。
注意:SELECTEDVALUE函数的内部实现中使用了VALUES函数,因此需要考虑参照完整性不匹配时添加的空行。
辅助理解的例子
1、SELECTEDVALUE函数的作用可以用其他函数来实现,其等价写法如下:
SELECTEDVALUE(Table[Column],备选结果)
等价于:
IF(HASONEVALUE(Table[Column]),VALUES(Table[Column]),备选结果)
2、使用SELECTEDVALUE函数实现:当切片器单选时则正常计算所选的产品类别的销售额,当切片器多选时则返回默认的电脑外设的销售额。如下图所示:
3、使用SELECTEDVALUE函数获取切片器中所选择的参数,并在用户多选参数时弹出报错提示,如下图所示:
4、SELECTEDVALUE函数判断的是指定列的可见数据去重后是否只有单个值,所以不一定需要被筛选,假如某个字段的所有数据恰好去重后只有一个值,那么HASONEVALUE函数也会返回该值的。
这与HASONEVALUE函数的行为是一致的,具体可参考SELECTEDVALUE函数的等价写法。
总结
SELECTEDVALUE函数兼具判断切片器多选和获取单选时的值的作用,特别适合用于获取参数切片器的值,并可以通过备选结果参数来实现一些人性化提示或默认选项。