回忆是一座桥
却是通往寂寞的牢

PowerBI自定义数据标签与动态数据格式

通过自定义数据标签或设置度量值的动态数据格式,可以根据不同的条件来显示不同的格式或内容,从而使数据的呈现方式变得更加灵活。

自定义数据标签

在PowerBI最新版本中,折线图、柱形图以及条形图等视觉对象的数据标签已经支持度量值。因此可以通过度量值来返回与实际数据不一致的数据标签。

如下图所示,柱形图的数据标签默认显示的是作为值字段的度量值的内容。

下面,新建一个格式化度量值,将小于1的值显示为百分比格式,大于1的值则显示为整数,并将该格式化度量值作为柱形图的数据标签。

从上图的结果中可以看到,最后两项的值因为小于1,因此以百分比的样式显示,其他大于1的则显示为整数,与度量值的逻辑是一致的。

另外需要注意的是,虽然数据标签已经显示成了另一个度量值的内容,但Y轴与工具提示里显示的仍然是真正作为值字段的度量值的内容与格式。如下图所示,在格式化度量值里,将真正的值加上了999,并且数据标签也是显示的增加了999后的值,但是Y轴与工具提示里的数字仍然显示的是原来的。

数据标签与工具提示等的内容不一致,这可能会给用户带来一定的困扰,所以在使用度量值来自定义数据标签时,最好不要更改原值,而是添加单位等的描述性内容。如果有更改原值,那么最好关掉工具提示与Y轴。

动态数据格式

在PowerBI最新版本中,可以将度量值的数据格式设置为动态,如下图所示:

设置成动态数据格式后,在公式编辑栏的左边将出现切换选项,可以分别设置度量值的值与格式,两者都支持表达式,并且计值环境一致。

通过度量值的动态数据格式,可以给任意视觉对象的数据标签进行修改与调整,不像自定义数据标签功能那样只支持部分视觉对象。

下面来看一下该功能的使用,同样的,将小于1的值显示为百分比格式,大于1的值则显示为整数,如下图所示:

在格式表达式里不需要使用等号开头,直接书写表达式即可,并且可以引用自身的度量值,从而不需要重新计算。另外,观察上图,可以看到第三行里做了一个判断,但却没有使用FORMAT函数,在解释原因之前,先来看一下加上了FORMAT函数后的结果。如下图所示:

可以看到,加上FORMAT函数后,其中的ItemA与ItemB对应的结果变得有点奇怪。造成该结果的原因很简单,因为动态数据格式虽然可以使用表达式返回任意内容,但其实它最终需要的是一个格式化字符串,在格式化字符串中,0是数值的占位符,因此凡是返回的结果中含有0的,其中的0都会被替换成该度量值原来的值,这就是ItemA与ItemB的数值看起来有点奇怪的原因。

在实际上,格式化字符串中的占位符不仅仅只有0,还有其他的字符,因此使用度量值的动态数据格式时,最好使表达式最终的结果为格式化字符串,这是最基本的用法,也最安全。

而进阶用法则是使格式表达式返回的结果不包含任意占位符,这样就可以显示任意想显示的内容,这有两种方法实现:

1、可以将格式表达式的结果中的所有占位符进行转义,如下图所示,将0替换成\0,这样0就不再是占位符了,而是0本身。

2、在格式表达式的结果两边拼接双引号,由于双引号括起来的内容都是文本,因此也不会被识别成格式化字符串。

上面两种方法也适用于计算组的动态数据格式部分,并且强烈推荐第二种拼接双引号的方案,因为格式化字符串中的占位符有许多,采取第一种对占位符进行转义的方案则容易漏掉一些占位符,从而导致错误,而第二种方案则没有这种困扰,是最佳方案。

另外,动态数据格式修改后的内容可以显示在Y轴与工具提示里,如下图所示:

以上就是动态数据格式的使用与注意事项了,注意与自定义数据标签功能做区分。

总结

相比于自定义数据标签,动态数据格式的应用更加广泛,而且工具提示等的内容也是一致的,但需要注意格式化字符串的占位符问题,否则很容易就会出错,甚至有时候会因为数据暂时不包含占位符而忽略了这个问题,从而埋下了隐患。

而自定义数据标签则比较简单,所见即所得,不存在占位符替换等问题,但工具提示是硬伤,因此只适合添加描述性内容的场景。

未经允许不得转载:夕枫 » PowerBI自定义数据标签与动态数据格式
订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论