省流:

使用powerbi进行自定义地图(比如仓库图、区域图、设施分布图等等)绘制并联动需要展示的数据,将自定义地图转为svg格式,使用自制的中文编码器对svg进行处理使得power bi能够识别,最后进行可视化(注意,此方法的操作步骤均免费,无需额外支付费用,主打一个经济实惠~)。

 

目录

一、一些碎碎念

二、基本流程

三、操作步骤

3.1 获取旧版本的synoptic panel

3.2 绘制地图并制作成svg格式

3.3 中文字符转换

3.4 power bi可视化


 

 

一、一些碎碎念

        假期在一家外企的IT部实习,主要是进行一些数字化的工作(好像外企现在都逐渐往数字化这方面走了),需要用到power bi进行一些建模与可视化,其中就包括需要对仓库的地图进行处理,使得在power bi里能点击想看的区域查看相应的数据并识别问题。但是网上相应的资料较少,并且对一些资料实际操作过发现实际出来的结果与资料不符,于是干脆自己研究,最后成功研究出此套方法供大家使用。

二、基本流程

        使用power bi制作自定义地图基本有两种方法,一种是json格式,一种是svg格式,其中,json格式的网上的资料较多,实现起来较简单,但是有个缺点就是制作出来的地图无法显示区域标签,只有鼠标移动到相应的区块后才能看到区域是什么。但是业务需求是需要直观地显示地图,所以需要采用svg格式的方法。操作流程如下:

获取旧版本的synoptic panel并导入进power bi里 -> 获取地图图片 -> 导入进synoptic designer制作svg格式 -> 使用自制编码器进行编码 -> 将文件导入power bi里的synoptic panel实现可视化

三、操作步骤

3.1 获取旧版本的synoptic panel

        使用svg格式的地图在power bi里进行可视化时总绕不开synoptic panel这个插件,但是现在如果直接去power bi里下载这个插件的话,一次只能显示15个区域,再多一些就要买他的license了(旧版本不用收费,怪不得评分从原来的4点多降到2点多了...)。但是新版本有个好处,就是如果区域名称为中文的话,无需进行额外操作,仍然能匹配上名称,目前下载的旧版本就需要对中文字符额外进行处理。

        对于旧版本,我在github上找到了1.4.0和1.4.1的这个版本:旧版本链接,进入链接里下载,解压,打开power bi,找到可视化栏,点击三个点,点击导入:

选择刚刚解压好的文件,点击dist文件夹,两个版本里选一个就行了,成功导入后会看到这个图标,就代表可以使用啦:

 

3.2 绘制地图并制作成svg格式

        制作成svg格式需要地图是图片的样式,制作图片的方式有很多种,市面上各种软件层出不穷,这里就不过多赘述了。制作完图片样式的地图后,进入synoptic designer网站进行制作:synoptic网站 ,制作的教程可以看b站的这个视频:制作视频 ,建议只看synoptic designer的内容,后续的synoptic panel的话实际操作会有区别,我们这里需要进行额外转换,up主那里可以不用转换,猜测是当时版本的问题,22年的时候可能可以直接导入,但是现在由于插件的作者修改了插件,所以可能旧版本的直接转化功能没有了。

        注意,在网站里写区域名称时,尽量避免数字作为开头,因为svg规定了数字不能作为开头,否则到时识别不到,如果是数字开头+英文的话power bi还可以识别,但是数字+中文的话就识别不了了。

 

3.3 中文字符转换

        使用这个旧版本的synoptic panel有个缺点,就是制作出来的svg地图如果标识的区域是中文的话,power bi识别不了,原因是power bi识别中文字符是识别其对应的十六进制的,所以,需要对svg地图里的中文字符进行十六进制的编码(非中文字符无需转换,power bi能直接识别的到,倘若非中文字符转换成十六进制的话power bi反而识别不到;所以编码工具里设定了只转换中文字符,非中文字符跳过)。

        为了方便大家的使用,我使用excel的VBA进行编程,大致的实现逻辑是,用户选择完需要处理的svg文件后,对里面的id标签里的中文字符进行筛选并转换成十六进制,然后覆盖原来的文件。使用新的文件导入power bi里即可。

        工具我已经提交到我的github仓库里了,点进此链接即可,如果uu们觉得工具对你有帮助的话,麻烦给我点个star,这对我帮助很大,谢谢各位啦!excel工具链接:转换工具链接

        注意,这个工具不仅会生成处理后的文件,并且,还会生成名称为“文件名_debug”的txt文件,这个文件主要是包含字符的原本的码以及转码后的码,用于方便各位应对不同需求的时候进行参考调试,或者把里面的相应内容喂给ai的话效果会更好。不过,没有调试需求的话就不用管了。

 

3.4 power bi可视化

        将转化好的svg文件直接导入power bi里的插件即可,具体导入的操作仍然可以参考这个视频的后半段:制作视频 ,如果你是跟我一样的想要使用区域联动其他数据的话,measure那里随便放个序号或者计数的即可,这块不太重要。

        最后,给出我随便弄的示例参考。为了方便,我直接绘制了几个矩形:

表格内容如下:

然后,进入designer网站写入名称,导出,并使用工具进行转化,导入power bi里:

可以看到,均与表格的内容匹配上了(没有匹配上则矩形里是黑色的),同时,增加了描述表格用于展示联动,现在,只需要点击相对应的区域,即可展现对应的描述的内容,比如,点击20G区域:

这样就大功告成了!如果有更好的自定义地图的方法或者疑问,欢迎在评论区里面留言讨论。

 

Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐