在昨天的文章中有说到目前版本的PowerBI有Bug会导致使用UNICHAR返回字符时有问题,但是目前在计算组中仍然是正常使用的。
说到计算组,即便是已经有了字段参数的今天,仍要说这是近三年PowerBI最强大的功能。当然,也不是没有缺点,缺点就是两年多过年了,书写计算组仍然要通过外部工具,比如常用的Tabular Editor。
计算组有两个表达式,一个是计算表达式,一个是格式表达式。计算表达式我们应该并不陌生了,它可以做很多事,比如常见的用法有:
• 时间智能,减少度量值数量
• 切换下单日期、发货日期等
• 动态显示最近N个月数据
• blank替换为0
• TopN和其他
• 切换显示货币
• 重新计算范围,实现双算
格式表达式也有很多种用法:
• 统一格式化度量值
• 自动切换单位, PowerBI自动切换中英文单位
• 同时显示值和百分比, 控制度量值显示格式
• 度量值说明, 使用计算组在工具提示中解释度量值
今天我们主要是介绍格式表达式,在正式介绍之前先来回顾下通常我们是怎么设置度量值格式的,在格式下拉选择度量值的类型或者直接直接输入自定义的格式字符串
在计算组中没有下拉选项来供我们选择,所以通常是用格式字符串,就像下面这样
这样写没有任何问题,在报表中效果如下
接下来,我们就可以统一来格式化度量值,但是这里有个前提就是度量值命名时我们要区分不同类型的度量,比如标题里含有title,百分比里含有%,就像下面这样当度量值名称含有不同的字符时进行不同的格式化显示
效果如下,无论是日期还是百分比都有按我们期望的进行格式化显示
首先我们先来尝试使用FORMAT函数进行格式化
度量值并没有被格式化
其实要解决这个问题也比较简单,只需要在表达式前加两个双引号就好了,
前面也有介绍到UNICHAR,所以使用UNICHAR(34)代替"“”"也行。
解决了这个问题,我们就可以来给数值自动加单位,毕竟PowerBI中自动单位并不算好用,比如我们想实现万,PowerBI的格式字符串中只有千分位符,我们是没办法通过使用千分位符来切换成万的,但是使用格式表达式前加"“”"方式我们可以实现万的切换
效果如下,如果不加"“”",结果就是错误的,有兴趣的可以再尝试下
从上面的示例可以总结出如果要在格式表达式中使用FORMAT,则前面需要加"“”"来避免错误,掌握这一点,我们就可以来做些更特别的,比如同时显示值和百分比。就像下面这样
这里在显示值时分了三部分
• 原始的度量值
• 同比增加或下降的符号
• 同比的值
借助于这种方法,我们也可以显示成这样
使用计算组中的格式表达式我们能够实现一些特殊的场景,但是目前也并不是PowerBI中的所有视觉对象都支持,虽然微软早上2020年时就宣布要修复该问题,毕竟Bug微,至今还未得到修复。但是,这并不影响我们去学习并探索计算组中格式表达式的更多用途。