irpas技术客

PowerBI小技巧--使用换行符打造个性化多行卡_PowerBI木小桼_powerbi多行卡的美化

irpas 7793

3

做了人类想成仙,坐在地上要上天

在做报告的过程中,很多时候需要性展示很长的一段文本来进行辅助说明,为了更好的展示,就需要对文本进行换行,而是PowerBI中进行换行也很简单:

Shift+Enter换行

使用UNICHAR(10)

示例如下:

test1 = "我是中国 人" test2 = "我是中国" & UNICHAR(10) & "人"

效果如下:

这时想起了罗老师的一句话,做人就是要折腾。那么利用换行符还能做些什么呢?

比如,文章标题已经提到的多行卡,PowerBI内置的是有多行卡的,先来看下原生的效果

利用换行符就可以做到标签和数值在一行显示,可以先这样写:

test3 = VAR KPI1 = "Sales YTD: " & [YTD.Sales Amt] VAR KPI2 = "Forecast: " & [YTD.Forecast Amt] VAR KPI3 = "Difference: " & [Diff Actuals vs Forecast] VAR Result = KPI1 & UNICHAR(10) & KPI2 & UNICHAR(10) & KPI3 RETURN Result

因为卡片图是不能设置对齐方式的,所以这里需要插入一个空白按钮,然后设置下对齐方式。这里需要注意按钮宽度不能太宽,不然换行效果无法生效的。效果如下:

当然,上面代码中并未对相应的指标进行格式化,所以显示的小数位数可能不是我们想要的,用FORMATF进行相应的格式化就好。

文本是左对齐的,可能效果不是很好,先来看下空格在PowerBI中的显示效果

test4 = 1234 & REPT(" ", 1) & 6 & UNICHAR(10) & 456789 & UNICHAR(10) & 678919

同样地插入一个空白按钮,将文本设置为该度量值,可以看到虽然第一行加了空格来补位,但是在显示效果上仍然无法和另外两行对齐。

既然左对齐行不通,那我们可以试下右对齐,修改代码如下,然后水平对齐改为右对齐,发现空格并没有生效。

test4 = 1234 & REPT(" ", 1) & 6 & REPT(" ", 4) & UNICHAR(10) & 456789 & REPT(" ", 4) & UNICHAR(10) & 678919 & REPT(" ", 4)

查询相关资料可知空格还可表示为UNICHAR(8197),再来看效果,发现空格生效了。

test5 = 1234 & REPT(UNICHAR(8197), 1) & 6 & REPT(UNICHAR(8197), 4) & UNICHAR(10) & 456789 & REPT(UNICHAR(8197), 4) & UNICHAR(10) & 678919 & REPT(UNICHAR(8197), 4)

接下来就是应用到多行卡中

KPIS = VAR Space = UNICHAR(8197) VAR KPI1_Text = "Sales YTD:" VAR KPI2_Text = "Forecast:" VAR KPI3_Text = "Difference:" VAR KPI1_Value = FORMAT([YTD.Sales Amt], "0,,M" ) VAR KPI2_Value = FORMAT([YTD.Forecast Amt], "0,,M" ) VAR KPI3_Value = FORMAT([Diff Actuals vs Forecast], "0,,M" ) VAR Widths = MAX( MAX( LEN(KPI1_Value), LEN(KPI2_Value)), LEN(KPI3_Value) ) VAR KPI1_ = (Widths - LEN(KPI1_Value) )*2 VAR KPI2_ = (Widths - LEN(KPI2_Value) ) *2 VAR KPI3_ = (Widths - LEN(KPI3_Value) )*2 VAR Result = KPI1_Text & REPT(Space, Widths+KPI1_) & KPI1_Value & REPT(Space, 4) & UNICHAR(10) & KPI2_Text & REPT(Space, Widths+KPI2_) & KPI2_Value & REPT(Space, 4) & UNICHAR(10) & KPI3_Text & REPT(Space, Widths+KPI3_) & KPI3_Value & REPT(Space, 4) RETURN Result

折腾了这么久终于右对齐了,来看下最终效果

总结

之所以有这次尝试或者说折腾,是因为在做报表的过程中会很多时候会遇到用户需要看很多指标,如果全放卡片图的话性能会很差,当然也可以自带的多行卡,或者一些其他第三方图表,学习的过程就是一个不断试错,不断折腾地过程,希望大家在学习PowerBI时可以享受这种过程。


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #powerbi多行卡的美化 #quot我是中国quot #ampamp #UNICHAR10