加入 PowerBI自己学 知识星球:下载源文件,边学边练;遇到问题,提问交流,有问必答。
Excel中的迷你图(Sparklines)方便在单元格大小的空间内查看趋势。
PowerBI也继承了这一功能,可以在表和矩阵视觉对象中添加迷你图。
美中不足的是,PowerBI是在当前上下文的更细颗粒度展示趋势,如果展示趋势的颗粒度的字段展开显示了(比如分天的销量矩阵),每个值上的迷你图就没有意义了。
解决方案
有两种方案,一种是隐藏列,一种是SVG。
方案一 隐藏列
通过拉窄列的宽度、取消自动换行,就能将不需要显示的迷你图隐藏,优点是使用原生功能并能快捷实现,缺点是随着模型刷新,可能产生新列,仍然需要手工拉窄隐藏列。
方案二 SVG
借助SVG,可以在单元格内显示迷你图。如果把SVG迷你图度量值添加到上方矩阵的值中,同样会产生无意义的列,此时可以不把销量度量值和SVG迷你图度量值同时放到值中,而是写一个条件判断度量值,当遇到日期字段时返回销量数字,遇到总计时返回迷你图,进而实现在总计列显示迷你图的效果。
操作步骤
模型
销量表
STEP 1 书写SVG迷你图度量值,迷你图使用polyline,销售数字使用text,并在菜单栏度量工具中将数据类别改为图像URL。SVG的参数可按需调整。
STEP 2 把相应字段拖入矩阵视觉对象后,在视觉对象格式中,将列小计标签改为Trend by Date,然后调整图像大小,让其略大于SVG的大小,以便完整显示。
结果如下:
对比原生迷你图,SVG迷你图与其背后逻辑类似,只是宽和高是手动的不能随列宽自动变化。