前文介绍了如何制作迷你着色地图,本文讲解Power BI中其他迷你图的制作方法。例如:
条形图:表格中条形长度大小表示业绩多少,并且按照业绩规模有颜色变化,下方有数据标签,看上去很像条件格式。
圆:与条形类似,圆的大小随着数据大小而变化。
百分比图:常用来显示占比,例如业绩达成。彩色部分表示达成多少,未达成彩色部分为红色,达成为绿色,灰色部分为未达成比例。
圆和百分比组合下:
以上示例抛砖引玉,均通过DAX修改SVG代码实现,实际上可以发挥你的想象力,迷你图可以是任何样式。
以下给出示例的度量值,注意需要将度量值格式设置为图像URL才可使用。
案例文件下载(复制链接或点击文末左下角阅读原文):
https://mianbaoduo.com/o/bread/YZqWm5py
代码语言:javascript复制条形图 =
VAR W1=MAXX(ALL('数据表'),[数据])/100
VAR W2=[数据]/W1
VAR Color=IF([数据]<100,"#B7472A","#217346")
RETURN
"data:image/svg xml;utf8,"&"<svg xmlns='http://www.w3.org/2000/svg' height='100' width='100'>
<rect width="&"'"&W2&"'"&" height='40'" & " fill="&"'"&Color&"'"&"/>"&"
<text x='0' y='60' fill='black' text-anchor='left' font-size='20'>"&[数据]&"</text>
</svg> "
圆 =
VAR W1=MAXX(ALL('数据表'),[数据])/40
VAR W2=[数据]/W1
VAR Color=IF([数据]<100,"#B7472A","#217346")
RETURN
"data:image/svg xml;utf8,"&"<svg xmlns='http://www.w3.org/2000/svg' height='100' width='100'>
<circle cx='50' cy='50' r="& "'"&W2&"'" &" fill="&"'"&Color&"'"&"/>"&"
<text x='50' y='50' fill='black' text-anchor='middle' font-size='20'>"&[数据]&"</text>
</svg> "
百分比图 =
VAR W1=IF([业绩完成率]<0,0,IF([业绩完成率]>1,100,[业绩完成率]*100))
VAR Color=IF([业绩完成率]<1,"#B7472A","#217346")
RETURN
"data:image/svg xml;utf8,"&"<svg xmlns='http://www.w3.org/2000/svg' height='100' width='100'>
<rect x='0' y='30' width="&"'"&W1&"'"&" height='40'" & " fill="&"'"&Color&"'"&"/>"&"
<rect x="&"'"&W1&"'"&" y='30' width="&"'"&100-W1&"'"&" height='40'" & " fill='Grey' />"&"
<text x='0' y='60' fill='black' text-anchor='left' font-size='20'>"&FORMAT([业绩完成率],"Percent")&"</text>
</svg> "
圆和百分比图 =
VAR W1=IF([业绩完成率]<0,0,IF([业绩完成率]>1,100,[业绩完成率]*100))
VAR Color=IF([业绩完成率]<1,"#B7472A","#217346")
VAR W2=MAXX(ALL('数据表'),[数据])/30
VAR W3=[数据]/W2
RETURN
"data:image/svg xml;utf8,"&"<svg xmlns='http://www.w3.org/2000/svg' height='100' width='100'>
<circle cx='50' cy='30' r="& "'"&W3&"'" &" fill="&"'"&Color&"'"&"/>"&"
<text x='50' y='30' fill='black' text-anchor='middle' font-size='20'>"&[数据]&"</text>
<rect x='0' y='60' width="&"'"&W1&"'"&" height='40'" & " fill="&"'"&Color&"'"&"/>"&"
<rect x="&"'"&W1&"'"&" y='60' width="&"'"&100-W1&"'"&" height='40'" & " fill='Grey' />"&"
<text x='0' y='90' fill='black' text-anchor='left' font-size='20'>"&FORMAT([业绩完成率],"Percent")&"</text>
</svg> "