Power BI中的自定义显示标签
在Power BI 2023.5的更新中,微软又加入了一个新的功能:自定义标签,这个功能可以更方便的在图表展现更多的内容。只不过,毕竟微软嘛,这个功能目前还有一些bug。当然在这个功能推出之前也有其他功能可以实现,比如早在20年就更新的计算组,还有今年更新度量值动态格式化。这部分内容可以阅读之前的文章
- [[计算组格式表达式]]
- [[Power BI动态格式化]]
更多关于该功能的介绍可以查看官方文档
Power BI Report Server May 2023 Feature Summary | Microsoft Power BI 博客 | Microsoft Power BI — Power BI 报表服务器 2023 年 5 月功能摘要 | Microsoft Power BI 博客 |微软 Power BI
接下来正式使用该功能,比如下面这个图表,其中使用了Margin这个度量,如果打开数据标签,默认显示的也是这个度量的的值
现在把Margin %放上去会怎样呢,此时心中未免一个C开头的字飘过,这显示的究竟是什么玩意儿。
虽然是个bug,但问题不大,只需要把显示单位切换为无就好了。不过这里其实还是有个问题,Margin %这个度量我其实是设置了格式是百分比了的,但是这里显示的时候还是小数。
那么,如果,一定要显示为百分比应该怎么办呢?比如新建一个度量值使用FORMAT转换为字符串,再来看效果会发现即使把单位调整成自动也正常显示了。
label.Margin % =
format( [Margin %], "0.00%")
使用度量值
接下来就可以尝试展现更多内容了,而且使用新的自定义标签不会有使用计算组时坐标轴的bug(使用计算组实现过的同时展现值和率时坐标轴也会变,需要再放一个其他不受计算组影响的度量上去才能正常)
修改上面的标签度量如下,确实达到了效果,
label.Margin % =
format( [Margin], "0,0")
& " | " &
format( [Margin %], "0.00%")
但是长度好像有那么一丢丢长,有两种思路来缩短长度,一种是数值自动切换显示万、百万、亿等单位([[计算组格式表达式]]中有详细介绍),另一种就是换行显示。先来尝试第一种切换单位,万恶的不支持中文,希望微软可以尽快修复。。。
label.Margin % =
format( [Margin], "#,0, 千")
& " | " &
format( [Margin %], "0.00%")
接下来尝试第二种思路,换行显示,首先想到的肯定是加换行符,不出所料,首先毙掉的也是这个方案。
label.Margin % =
format( [Margin], "0,0")
& " | " & UNICHAR(10) &
format( [Margin %], "0%")
那,还只就能重叠大法了,这个还是受sqlbi的启发controlling-format-strings-in-calculation-groups/,复制一个Margin度量,但是在视觉上要取消显示复制的这个度量,之后在标签显示时,原始Margin度量正常显示,复制的度量显示为标签度量,为了视觉上的统一,位置需要选择高于或者下
这里其实就又可以好好说道下了,如果只为了显示值和率,直接使用折线和簇状柱形图就好了。所以不要盲目地为了使用新技术而使用新技术,适合的才是最好的。
使用字段
但是这个功能让我一度怀疑人生,无论我拖放哪个数据字段,都无法拖放成功,于是只能回去阅读官方博客,看到这段话,我悟了,意思是我还有很多bug,你们先别急着用。
那就换个官方的示例数据集来试试
总结
自定义标签确实是补足了计组和动态格式化上的一些不足,但仍有不足,期待微软未来几个月带来的更新会让该功能更强大。