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
二、单位展示
常规
常规显示,只加上千分号,显示为整数。
万
- 绝对值小于1万的数值,显示为整数,加上千分号。
- 绝对值大于等于1万的数值,显示万为单位的1位小数,加上千分号。
万亿
- 绝对值小于1万的数值,显示为整数,加上千分号。
- 绝对值大于等于1万小于1亿的数值,显示万为单位的1位小数,加上千分号。
- 绝对值大于等于1亿的数值,显示亿为单位的2位小数;加上千分号。
KMB
符合西数的阅读习惯,K:千,M:10万,B:10亿。
-
绝对值小于1千的数值,显示为整数,加上千分号。
-
绝对值大于等于1千小于10万的数值,显示K为单位的1位小数,加上千分号。
-
绝对值大于等于10万小于10亿的数值,显示M为单位的1位小数,加上千分号。
-
绝对值大于等于10亿的数值,显示B为单位的2位小数,加上千分号。
三、动态格式
当前时间动态格式还是预览功能。升级到2023年4月份版本+;具体打开操作如下。
- 打开预览功能:度量值的动态格式字符串。随着时间推移会加入到正式功能里面则不需要再勾选预览功能。
-
写好度量值后,在度量值工具=>格式=>动态
-
选择动态格式的度量值,会出现一个度量值和格式相互切换的下拉框。
-
根据业务需求设置对应的显示格式。
四、计算组
在动态格式功能出现前,如果想实现度量值动态一般会使用计算组来实现。在这里我们把度量值实现的方式也一并给出。
- 对需要使用动态格式单位的度量值进行名称打标,比如这里我们度量值名称打标
_单位
。 - 通过度量值打标后,写入计算组。
- 在画布中加入计算组的切片器实现动态的切换单位。
计算组功能实现可以参看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_
六、总结
-
计算组和动态格式功能都能实现动态的单位。
-
计算组的优势在于打标后无需对度量值本身再做过多操作,能满足一处设定处处使用。
-
动态格式功能可以在不借助三方工具的情况下自主设定,这一点比较对于初学者比较友好,降低门槛。需要设置的度量值都要单独去设置一点,复用性不如计算组。
-
由于动态格式功能是2023年4月新增的预览功能,在世纪互联的 Power BI 暂时还无法使用。
附件下载
https://jiaopengzi.com/2973.html
请关注
全网同名搜索 焦棚子
如果对你有帮助,请 点赞、关注、三连 支持一下,这是我们更新的动力。
by 焦棚子