Power BI內(nèi)置的散點圖已然是不錯的四象限分析工具,然而,有些核心的業(yè)務(wù)訴求它無法實現(xiàn)。
【資料圖】
以上面的產(chǎn)品銷量、銷售折扣四象限為例,第一,內(nèi)置散點圖無法像下圖這樣,每個產(chǎn)品均顯示照片。
第二,內(nèi)置散點圖無法自定義任意數(shù)據(jù)標(biāo)簽,例如下圖同時顯示了銷量和銷售折扣標(biāo)簽。
第三,內(nèi)置散點圖無法直接為每一象限添加背景色,便于區(qū)隔。
第四,內(nèi)置散點圖盡管劃分十字分割線有多種方式,但并不能隨心所欲。例如,你想添加一條分割線為所有產(chǎn)品的總銷售折扣(不是平均也不是中位值,而是總值),內(nèi)置散點圖無能為力。
將DAX嵌入SVG生成散點圖度量值,以上缺陷均可以得到解決。以下一一進(jìn)行說明。
首先,在產(chǎn)品資料數(shù)據(jù)源中,需要有產(chǎn)品圖片信息。圖片格式不限,可以是圖床上的URL形式,也可以是本地圖片(轉(zhuǎn)換成BASE64),下圖左側(cè)是BASE64,右側(cè)是圖床:
新建以下散點圖度量值,并拖入支持SVG的第三方圖表(如HTML Content)即可正常顯示。
該度量值分為三個主要模塊:第一部分為多個VAR定義X、Y軸的名稱,畫布的大小,十字分割線的種類(示例為全部數(shù)據(jù)的平均值);第二個核心部分是CONCATENATEX函數(shù)連接多個image標(biāo)簽,并依據(jù)數(shù)據(jù)大小,定義每個image的位置;最后是依據(jù)前面定義的XY畫出十字分割線。
將以上代碼中的銷售折扣、銷量替換為自己的度量值即可復(fù)用。示例默認(rèn)數(shù)據(jù)都是正數(shù)的情況,如實際有負(fù)數(shù),則需在VAR定義環(huán)節(jié)考慮此種狀況。
在此基礎(chǔ)上增加類別標(biāo)簽,需在CONCATENATEX中加入text,文本標(biāo)簽的位置與產(chǎn)品圖片保持一致:
增加數(shù)據(jù)標(biāo)簽的方法相同:
帶背景色的四象限劃分需要在以上操作的基礎(chǔ)上使用Rect標(biāo)簽增加四個方塊,這四個方塊的位置隨著前期定義的X、Y軸分割線數(shù)據(jù)變化而變化。
標(biāo)簽:
要文