Power BI 动态格式 (万|亿)

174_技巧_Power BI 动态格式(万|亿)

一、背景

Power BI 2023年4月份更新,新增加了一个预览功能:动态格式(Dynamic format strings for measures),度量值的结果可以动态的显示为不同的格式。

今天我们主要来看一个技巧,如何在 Power BI 动态的根据数值的大小显示单位为或者亿

Power BI 公共 web 效果:https://demo.jiaopengzi.com/pbi/174-full.html

二、单位展示

常规

常规显示,只加上千分号,显示为整数。

图-01

  • 绝对值小于1万的数值,显示为整数,加上千分号。
  • 绝对值大于等于1万的数值,显示万为单位的1位小数,加上千分号。

图-02

万亿

  • 绝对值小于1万的数值,显示为整数,加上千分号。
  • 绝对值大于等于1万小于1亿的数值,显示万为单位的1位小数,加上千分号。
  • 绝对值大于等于1亿的数值,显示亿为单位的2位小数;加上千分号。

图-03

KMB

符合西数的阅读习惯,K:千,M:10万,B:10亿。

  • 绝对值小于1千的数值,显示为整数,加上千分号。

  • 绝对值大于等于1千小于10万的数值,显示K为单位的1位小数,加上千分号。

  • 绝对值大于等于10万小于10亿的数值,显示M为单位的1位小数,加上千分号。

  • 绝对值大于等于10亿的数值,显示B为单位的2位小数,加上千分号。

图-04

三、动态格式

当前时间动态格式还是预览功能。升级到2023年4月份版本+;具体打开操作如下。

  1. 打开预览功能:度量值的动态格式字符串。随着时间推移会加入到正式功能里面则不需要再勾选预览功能。

图-05

  1. 写好度量值后,在度量值工具=>格式=>动态

    图-06

  2. 选择动态格式的度量值,会出现一个度量值和格式相互切换的下拉框。

    图-07

  3. 根据业务需求设置对应的显示格式。

四、计算组

在动态格式功能出现前,如果想实现度量值动态一般会使用计算组来实现。在这里我们把度量值实现的方式也一并给出。

  1. 对需要使用动态格式单位的度量值进行名称打标,比如这里我们度量值名称打标_单位
  2. 通过度量值打标后,写入计算组。
  3. 在画布中加入计算组的切片器实现动态的切换单位。

计算组功能实现可以参看B站视频:https://www.bilibili.com/video/BV16x4y1T7Fe

五、DAX

  • 基础度量值:sumOfValue
sumOfValue = SUM ( 'simple-data'[value] )

  • 使用计算组实现动态单位的度量值:sumOfValue_单位_计算组
sumOfValue_单位_计算组 = SUM ( 'simple-data'[value] )
  • 使用新功能动态格式实现动态单位的度量值:sumOfValue_动态格式

    度量值

sumOfValue_动态格式 = 
VAR initial_value = SUM ( 'simple-data'[value] )

/*==========以下内容为配置无需修改==========*/
VAR unit_ = SUM ( '动态格式'[单位类别ID] )
VAR w = IF ( ABS ( initial_value ) >= 1E4, initial_value * 100, initial_value )
VAR wy =
    SWITCH (
        TRUE (),
        ABS ( initial_value ) >= 1E8, initial_value * 10000,
        ABS ( initial_value ) >= 1E4, initial_value * 100,
        initial_value
    )
VAR result =
    SWITCH (
        TRUE (),
        unit_ = 1, initial_value,
        unit_ = 2, w,
        unit_ = 3, wy,
        unit_ = 4, initial_value,
        initial_value
    )
RETURN
    result

格式

VAR unit_ = SUM ( '动态格式'[单位类别ID] )
VAR sm = SELECTEDMEASURE ()
VAR _default = "#,0"
VAR w = IF ( ABS ( sm ) >= 1E6, "#,0,,.0万", _default )
VAR wy =
    SWITCH (
        TRUE (),
        ABS ( sm ) >= 1E12, "#,0,,,,.00亿",
        ABS ( sm ) >= 1E6, "#,0,,.0万",
        ABS ( sm ) >= 0, "#,0",
        SELECTEDMEASUREFORMATSTRING ()
    )
VAR kmb =
    SWITCH (
        TRUE (),
        ABS ( sm ) >= 1E9, "#,0,,,.00B",
        ABS ( sm ) >= 1E6, "#,0,,.0M",
        ABS ( sm ) >= 1E3, "#,0,.0K",
        SELECTEDMEASUREFORMATSTRING ()
    )
VAR format_ =
    SWITCH (
        TRUE (),
        unit_ = 1, _default,
        unit_ = 2, w,
        unit_ = 3, wy,
        unit_ = 4, kmb,
        SELECTEDMEASUREFORMATSTRING ()
    )
RETURN
    format_

六、总结

  • 计算组和动态格式功能都能实现动态的单位。

  • 计算组的优势在于打标后无需对度量值本身再做过多操作,能满足一处设定处处使用。

    图-08

  • 动态格式功能可以在不借助三方工具的情况下自主设定,这一点比较对于初学者比较友好,降低门槛。需要设置的度量值都要单独去设置一点,复用性不如计算组。

  • 由于动态格式功能是2023年4月新增的预览功能,在世纪互联的 Power BI 暂时还无法使用。

    图-09

附件下载

https://jiaopengzi.com/2973.html


请关注

全网同名搜索 焦棚子

如果对你有帮助,请 点赞关注三连 支持一下,这是我们更新的动力。

图-10

by 焦棚子