人生没有彩排
每一天都是现场直播

41、理解SELECTEDVALUE函数

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函数兼具判断切片器多选和获取单选时的值的作用,特别适合用于获取参数切片器的值,并可以通过备选结果参数来实现一些人性化提示或默认选项。

未经允许不得转载:夕枫 » 41、理解SELECTEDVALUE函数