注意!避免计算组覆盖!

问题描述:
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判断度量值名称,这种方式就要求计算组判断的度量值,没有被其他可视化图形引用,不然引用的地方,也会进行格式转换。


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • PowerBI中,我们经常使用柱形图来进行趋势对比分析,通过柱形图我们可以直观展示每个月之间的差异。 但是在实际需...
    Fabric丨白茶阅读 1,111评论 0 0
  • PowerBI中,通常我们会使用折线图来展示数据的趋势情况。但是当数据类别过多的时候,需求也在进一步深入,往往还需...
    Fabric丨白茶阅读 1,469评论 0 0
  • 计算组最重要的用途,按照白茶的理解,有两个:1.相同逻辑的度量值,可避免重复造轮子;2.可自定义DAX格式而不改变...
    Fabric丨白茶阅读 1,196评论 0 0
  • 计算组最重要的用途,按照白茶的理解,有两个:1.相同逻辑的度量值,可避免重复造轮子;2.可自定义DAX格式而不改变...
    Fabric丨白茶阅读 1,651评论 1 3
  • PowerBI自带的数据显示单位有千、百万、十亿等,很明显这些数据单位有些时候是不太符合国人的使用习惯的。 在计算...
    Fabric丨白茶阅读 1,748评论 0 0