请在文末下载附件
一、背景
Power BI 2023年4月份更新,新增加了一个预览功能:动态格式(Dynamic format strings for measures),度量值的结果可以动态的显示为不同的格式。
今天我们主要来看一个技巧,如何在 Power BI 动态的根据数值的大小显示单位为万或者亿。
二、单位展示
常规
常规显示,只加上千分号,显示为整数。
万
- 绝对值小于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 暂时还无法使用。
by焦棚子
请点击【立即购买】或者【升级VIP】获得案例附件。
评论