一.簡述

業務人員常常希望以可視化的方式對數據進行切片,然而PowerBI自帶的可視化控制項往往難以滿足需求。比如當你要分析電影院各個座位的銷售數據時,普通的柱狀圖難以體現出相鄰座位之間的數據關係,你更需要的是用影院座點陣圖直接展示出數據,並點擊不同的座位做切片。或者,你希望有一張上海區劃圖來研究上海市各區的房價。類似於如下的效果:

數據展示的是2018年廣州和深圳的街道辦總數。點擊任意城市以顯示對應數據

事實上,實現這個效果,只需要簡單幾步。

二.基本過程

首先進入以下網站:

SYNOPTIC DESIGNER FOR POWER BI?

synoptic.design

你可以把自己的圖片拖入編輯器中,也可以導入網站提供的圖形樣板:

編輯完成後,點擊"EXPORT TO POWER BI",下載後得到一個SVG圖像文件。用文本編輯器打開它:

(SVG是一種矢量圖形格式,它有兩個重要特性:1.任意放大收縮而不會影響畫質 2.其圖像可以通過文本編輯器進行編輯)

如果打開SVG時全部擠成一行,可以在http://xmlbeautifier.com/上進行快速排版

藍色方框內的id就是代表每個店鋪的圖形,為了讓點擊每個圖形時顯示對應店鋪的數據,或者讓各個店鋪圖形的顏色深淺來表示數據大小,就需要讓SVG裡面的id和主表數據的id進行匹配。你可以嘗試在Excel用randbetween()生成一個測試表並導入到PowerBI:

導入可視化控制項Synoptic Panel,然後導入剛剛下載的SVG圖片:

這樣就完成了自定義圖像切片:

此外,該控制項還可以支持多個SVG圖像的切換,如下:

三.使用遠程鏈接訪問SVG圖片

除了從本地導入SVG,我們也可以使用遠程鏈接來訪問SVG,特別是當報表需要多人共享時。出於本案例需要,我在Github上傳了我此前下載過的世界主要國家或地區的地圖,以及自製的廣東省地圖共30張,你可以點擊這裡下載它們或複製鏈接。

更簡單地,你可以點此下載本案例Excel表格,然後複製如下代碼到你的表格來創建計算列以實現這種效果:

Map URL =
"https://raw.githubusercontent.com/hdiiasa/SvgMap-for-PowerBI/master/"&
SUBSTITUTE(Test[Country]," ","")&
".svg"
--使用SUBSTITUTE是因為部分國家或地區的全稱含有空格,而網址中的全稱需要避免空格轉換為「20%」

四、SVG圖像的其他用途

1.製作迷你圖

(註:關於迷你圖製作,需要對SVG編碼有一定了解,點此查閱相關教程)

2.製作SVG調色板

通過修改SVG圖像的顏色編碼可以改變圖像顏色,SVG使用16進位編碼,但調色通常使用RGB值來調節,因此導入RGB顏色轉換表,根據所選的RGB值轉換成對應的16進位顏色編碼,將顏色編碼作為變數寫入SVG圖像的公式中,即可達到如下效果:

視頻封面

00:06SVG圖像調色板

<附1>如果要在PowerBI中嵌入動畫,則當使用GIF格式文件

只需要將對應GIF鏈接識別為圖像URL即可

視頻封面

00:03PowerBI 嵌入GIF動畫

<附2>PowerBI拓展閱讀

在多對一關係中正確計算數據

用DAX強化圖表交互能力

新老客自動分類與客戶復購率的計算

用DAX實現二八法則(帕累托Pareto)分析

計算不同時間新客戶開發數量

DAX虛擬連接函數TREATAS()用法介紹

用DAX找出流失客戶


推薦閱讀:
相关文章