注意!避免计算组覆盖!

问题描述:
PowerBI在实际使用中,针对于某些数据,需要呈现文本类型的标签,一般这类需求,都是通过计算组来解决的。
但计算组在使用中,也会存在一些问题,就是一旦点击交互,就会影响到其它度量值。

案例

案例数据非常的简单,我们继续添加如下度量值。

计算组格式 =
SUM ( [计算组值] )
其他度量值 =
SUM ( '案例数据'[其他值] )

将其拖拽到可视化中呈现如下:

打开Tabular,添加计算组

也可以直接在PowerBI中添加,看个人操作习惯。

SELECTEDMEASURE()
IF ( SELECTEDVALUE ( '案例数据'[维度] ) = "A", "上升", "下降" )

将计算组添加到页面切片器,结果如下:

产生原因

SELECTEDMEASURE会根据上下文,获取当前计算项的度量值,因此,会获取到页面的所有度量值进行覆盖。

解决办法

对度量值添加条件判断即可:

IF (
    SELECTEDMEASURENAME () = "计算组格式",
    IF ( SELECTEDVALUE ( '案例数据'[维度] ) = "A", "上升", "下降" ),
    SELECTEDMEASUREFORMATSTRING ()
)
IF (
    ISSELECTEDMEASURE ( [计算组格式] ),
    IF ( SELECTEDVALUE ( '案例数据'[维度] ) = "A", "上升", "下降" ),
    SELECTEDMEASUREFORMATSTRING ()
)

最终展示结果如下:

代码解释

  • 通过SELECTEDMEASURENAME来获取度量值的名称,或通过ISSELECTEDMEASURE来判断是不是需要转换格式的度量值

  • 只有符合条件的度量值才会进行格式转换

  • 不符合条件的度量值会按照原本的格式进行输出

  • SELECTEDMEASUREFORMATSTRING是获取当前度量值的数据格式

注意

通过SELECTEDMEASURENAME判断度量值名称,这种方式就要求计算组判断的度量值,没有被其他可视化图形引用,不然引用的地方,也会进行格式转换。

版权声明:
作者:lichengxin
链接:https://www.techfm.club/p/138690.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>