Power BI 模拟京东读书排行榜
京东读书APP有一个排行榜,如下图所示。最大特点是书籍封面上带有一个五边形,五边形上方是名次。

书籍封面可以在豆瓣获取,标记为图像URL即可在Power BI表格正常显示:

封面上方的名次如何实现?新建一个SVG度量值:
SVG图标 =
VAR Color =
SWITCH(SELECTEDVALUE('榜单'[名次]),1,"gold",2,"silver",3,"brown")
RETURN/
/公众号:wujunmin
"data:image/svg+xml;utf8,<svg width='30' height='30' xmlns='http://www.w3.org/2000/svg'>
<path d='M0 0L0 20 15 30 30 20 30 0Z' fill='" & Color &"' /> <
text x='15' y='20' text-anchor='middle' font-size='18' fill='white'>" & SELECTEDVALUE('榜单'[名次]) & "
</text>
</svg>"
度量值中path为五边形,text用来显示名次。把上方度量值放入封面图片列的条件格式图标:

排名能不能放到封面上?最简单的方法是相同表格叠图,上方的表格显示名次,下方的表格显示详细内容,名次表格略微向右拖拽。

不叠图的实现方法是封面图像URL和名次图标全部包裹在SVG图形中。很遗憾表格矩阵目前不支持网络图片URL嵌入SVG。
此时有两个办法解决这一问题,第一是把封面下载到本地,转换为BASE64编码(参考:Power BI本地图片显示最佳解决方案),BASE64嵌入SVG在表格矩阵是可以显示的。
另外就是放弃内置视觉对象,使用HTML Content显示,HTML Content无论是网络图片还是Base64均支持,以下是不叠图的显示效果:

相关文章:
还没人转发这篇日记