0
点赞
收藏
分享

微信扫一扫

注意!避免计算组覆盖!


注意!避免计算组覆盖!_PowerBI

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

案例

注意!避免计算组覆盖!_PowerQuery_02

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

计算组格式 =
SUM ( [计算组值] )

其他度量值 =
SUM ( '案例数据'[其他值] )

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

注意!避免计算组覆盖!_格式转换_03

打开Tabular,添加计算组

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

注意!避免计算组覆盖!_PowerBI_04


注意!避免计算组覆盖!_格式转换_05

SELECTEDMEASURE()

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

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

注意!避免计算组覆盖!_格式转换_06

产生原因

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

解决办法

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

注意!避免计算组覆盖!_数据_07

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

注意!避免计算组覆盖!_PowerQuery_08

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

最终展示结果如下:

注意!避免计算组覆盖!_数据_09

注意!避免计算组覆盖!_格式转换_10

代码解释

  • 通过SELECTEDMEASURENAME来获取度量值的名称,或通过ISSELECTEDMEASURE来判断是不是需要转换格式的度量值
  • 只有符合条件的度量值才会进行格式转换
  • 不符合条件的度量值会按照原本的格式进行输出
  • SELECTEDMEASUREFORMATSTRING是获取当前度量值的数据格式
注意

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

注意!避免计算组覆盖!_数据_11



举报

相关推荐

0 条评论