利用Tableau繪製湖北省市區縣使用者訪問App時的熱力圖
最近一個任務:利用Tableau繪製出使用者訪問手機某App時熱力圖,這其實難度不大,但是一個很好熟悉Tableau功能機會的例子,畢竟要玩透Tableau還是需要下很多工夫的,所以本著學習分享的態度就記下這篇部落格了。
目錄
(1)我們有什麼?
delete.xlsx檔案,主要資料:1、“地理位置” : 該檔案記錄了使用者訪問App時的地理位置資訊;2、“小程式訪問次數” : 該檔案記錄了單個使用者的訪問次數;因此我們就可以繪製使用者訪問App時所在的區域的熱力圖了。
(1)地理位置:
<name>湖北省十堰市鄖西縣七夕大道在天潤新城附近</name><province>湖北省</province><city>十堰市</city><subcity>鄖西縣</subcity><street>七夕大道在天潤新城附近</street>
(2)小程式訪問次數
(2)我們還差什麼?
用Tableau處理地理位置資訊時,如果只是依靠地理位置,然後不引用空間檔案,我們繪製出的地圖無法集中到地理位置中的詳細區域資訊,很可能你要著重想關注的是湖北地區,而Tableau展現的是中國地圖乃至亞洲地區,這樣我們觀察到的熱力圖是非常不清晰的,也不直觀。
如下圖所示:
這樣的資料是不利於我們觀察湖北省地區的熱力圖資訊的。因此我們需要一份湖北省市縣區shp檔案,在這裡,我就提供自己的用的shp吧
連結:https://pan.baidu.com/s/19e517y-LuMc4knGU-InC8w
提取碼:q2b0
(3)我們需要哪些資料?
在我們有兩份檔案資料,1、delete.xlsx;2、縣級統計資料.shp,如何將delete.xlsx中的地理位置資訊對映到縣級統計資料.shp的地圖資訊中呢,我們需要將兩份檔案資料取交集。
這裡存在的一個問題是delete檔案中地理位置資訊是一長串字串,裡面包含了區縣資訊,需要我們提取出來,才能與縣級統計資料.shp檔案的NAME欄位匹配取交集.
字串提取: 編輯連線計算,輸入以下資訊
MID([地理位置],FIND([地理位置],'<subcity>')+9,FIND([地理位置],'</subcity>')-FIND([地理位置],'<subcity>')-9)
這樣我們就可以讓delete檔案中編輯的欄位與縣級統計資料.shp的NAME欄位匹配上了。
(4)我們還需要進行資料處理
資料處理主要包括兩方面,1、由地理位置的字串,拆分成省、市、區、街道,四種位置欄位;2、小程式訪問次數按區縣進行重新統計。
1、地理位置的字串拆分成省、市、區、街道,四種位置欄位
計算方式和上面字串提取雷同。以省為例子,如下圖所示:
最後可以拆分成如下幾種地理欄位,這樣做的目的是為了將資訊對映到地圖上去。
2、 小程式訪問次數按區縣進行重新統計
我們之前小程式統計的是使用者個人訪問的次數,顯然這樣是無法針對區縣進行統計的,因此需要我們建立新的欄位。
如圖,我們建立了市區小程式訪問次數,計算公式如下:
(5)繪製熱力圖資訊
如下圖所示,在篩選器那裡,我篩選出了湖北省,然後行和列分別是生成的經緯度,最後熱力圖中,藍色區域是訪問量很小的地方,而橘色、粉紅色地方則是訪問量很高的地方,至此熱力圖繪製完畢。
本文忽略了Tableau的一些基礎用法,主要是對建立欄位以及所設計的公式有很多說明,具體不懂的細節歡迎評論下面留言,我每天都會檢視部落格的。