1. 程式人生 > >利用Tableau繪製湖北省市區縣使用者訪問App時的熱力圖

利用Tableau繪製湖北省市區縣使用者訪問App時的熱力圖

          最近一個任務:利用Tableau繪製出使用者訪問手機某App時熱力圖,這其實難度不大,但是一個很好熟悉Tableau功能機會的例子,畢竟要玩透Tableau還是需要下很多工夫的,所以本著學習分享的態度就記下這篇部落格了。

目錄

(1)我們有什麼?     

(2)我們還差什麼?

(3)我們需要哪些資料?

(4)我們還需要進行資料處理

(5)繪製熱力圖資訊


 

(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的一些基礎用法,主要是對建立欄位以及所設計的公式有很多說明,具體不懂的細節歡迎評論下面留言,我每天都會檢視部落格的。