Power BI地图如何叠加任意迷你图?比方在地图上显示业绩的柱形(虚拟若干省份数据,本文涉及地图仅供学习和交流):
或者横过来:
或者是任意图案:
也就是说,地图上可以叠加任意常见图表的迷你图,如柱形图、条形图、气泡图、折线图、华夫饼图等等,也可以放你想要显示的任意照片,迷你图表和照片都会随数据大小变化而变化。
内置图表和第三方图表都没有这样的任性功能,我们可以使用简短的DAX实现,本文以叠加迷你柱形图为例讲解如何操作。
首先,需要准备一份SVG地图,地图的范围按照你的业务范围,全球、全国或者省市区县都可以。如果手头没有地图资源,可以在本公众号后台回复“SVG地图”获取下载链接。
用记事本打开地图,复制里面的全部内容,新建一个度量值,将里面的代码粘贴到度量值中。度量值样例如下图所示,只需要知道这个地图宽度width为649,高度height为640,不需要理解度量值里面其他的内容。
将该度量值拖入HTML Content这个视觉对象,可以看到地图的形状:
第二步,为每个地理位置确定迷你图想要显示的位置,即XY坐标系。已知示例地图的宽度和高度分别为649和640像素。最左上角的XY值为0,0。黑龙江在地图的最上边和最东边,可知它的X值很大,Y值较小。迷你图可以显示在510,100这个位置。
每个地理位置都如此确定,第一遍需要大致猜测,后面可以依据显示效果微调。此工作可能比较枯燥,好在可以复用在多个模型中。
第三步,为每个位置画个柱形图,并且加载到原地图中,度量值如下,说明见注释:
把该度量值放入HTML Content视觉对象,叠加柱形迷你图的地图即完工,并且可以与切片器交互:
类似的,其他类型的图表也可以使用DAX定义,叠加到地图上。本公众号已讲述过多种类型的图表DAX定义方案,读者可以在此目录检索,应用到地图上。