
在微信公众号后台,内容分析中有个昨日关键指标对比,对比周期分为日、周、月。

在用户分析环节也有类似的模块,微信官方对日、周、月的解释如下:

Power BI如何实现类似的可视化?
首先是指标的计算,日、周、月可以使用DATEADD函数倒推,参考此文业绩相关指标的计算(完成率、同比、环比、累计业绩)
增长率度量值如下:
对比_日 = DIVIDE([指标]-[昨日],[昨日])
对比_周 = DIVIDE([指标]-[7天前],[7天前])
对比_月 = DIVIDE([指标]-[30天前],[30天前])图表的实施方法是DAX嵌入SVG矢量图代码生成。下图展示了三种效果:

微信公众号的方式是居中对齐,使用度量值可以灵活的进行调整。以下给出居中对齐的度量值,其他两种方式可以按下方示例自行调整,主要是改变text anchor的值。
图表_居中对齐 =
VAR SVG =
"data:image/svg+xml;utf8," & "
<svg xmlns='http://www.w3.org/2000/svg' height='100' width='100'>
<g><title>公众号、知乎、B站:wujunmin</title>
<text x='50' y='20' font-size='25' text-anchor='middle' dominant-baseline='middle' font-weight='bold'>"
& FORMAT ( [指标], "#,##" ) & "
</text>
<text font-size='15' text-anchor='middle'>
<tspan x='50' y='50'>日 "
& IF ( [对比_日] > 0, "😄 ", IF ( [对比_日] < 0, "😭 ", "--" ) )
& FORMAT ( [对比_日], "0%" ) & "</tspan>
<tspan x='50' y='70'>周 "
& IF ( [对比_周] > 0, "😄 ", IF ( [对比_周] < 0, "😭 ", "--" ) )
& FORMAT ( [对比_周], "0%" ) & "</tspan>
<tspan x='50' y='90'>月 "
& IF ( [对比_月] > 0, "😄 ", IF ( [对比_月] < 0, "😭 ", "--" ) )
& FORMAT ( [对比_月], "0%" ) & "</tspan>
</text>
</g>
</svg> "
RETURN
IF ( HASONEVALUE ( '日期表'[Date] ), SVG, BLANK () )实现的方式是DAX嵌入SVG的text标签,text标签通过坐标轴位置变化(XY)确定布局,并与对应指标联动;emoji符号用来展示上升或下降。将度量值标记为图像URL可以在表格或矩阵使用。也可以放入视觉对象Image by CloudScope当作卡片图使用。
