174_技巧_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


请关注

全网同名搜索 焦棚子

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

by 焦棚子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值