劉曉偉
摘要:排序操作是數(shù)據(jù)分析中常見的操作之一,使用EXCEL以及常見的BI商業(yè)智能(Business Intelligence)軟件都能實(shí)現(xiàn)。作為一款數(shù)據(jù)可視化分析軟件,Tableau以其方便靈活、可視化展示功能強(qiáng)大的特點(diǎn)在眾多BI軟件中獨(dú)樹一幟,利用Tableau進(jìn)行數(shù)據(jù)排序處理效率非常高,一般情況下,簡單地拖放字段到相應(yīng)的行、列區(qū)域就能很快獲得直觀的排序圖形,再結(jié)合篩選器就能獲得需要的排序結(jié)果。但由于對(duì)排序的需求不同以及隱性維度的存在,基本的排序操作方法可能無法達(dá)到操作目的,還需要結(jié)合相關(guān)函數(shù)創(chuàng)建字段,利用合并字段等方法進(jìn)行處理。本文以Tableau Desktop版本自帶的超市示例數(shù)據(jù)源為操作對(duì)象,從不同的需求角度出發(fā)對(duì)訂單數(shù)據(jù)按照銷售額進(jìn)行排序,通過實(shí)例操作的方式詳細(xì)講解了使用Tableau進(jìn)行排序的幾種常見方法。
關(guān)鍵詞:Tableau;排序;Rank; Index; 合并字段
中圖分類號(hào):TP393? ? 文獻(xiàn)標(biāo)志碼:A
在數(shù)據(jù)分析中經(jīng)常要對(duì)分析對(duì)象進(jìn)行排名或排序,比如對(duì)產(chǎn)品銷量、產(chǎn)品利潤排序,按特定度量找出前N名產(chǎn)品或客戶等。在全球知名數(shù)據(jù)可視化分析軟件Tableau中,有幾種常見的方法可以進(jìn)行不同需求的排序。下面以Tableau自帶的超市示例數(shù)據(jù)源的訂單數(shù)據(jù)為操作對(duì)象,詳細(xì)介紹幾種常見排序方法。
一、基本方法
基本方法就是把維度和度量直接拖放到行和列,再點(diǎn)擊維度膠囊下拉菜單,選擇排序命令后,進(jìn)行相關(guān)設(shè)置完成排序。排序完成后,可以通過篩選器進(jìn)一步過濾出需要的排列名單。按上述方法可以篩選出公司產(chǎn)品排前10的產(chǎn)品。具體操作如下:1.新建一個(gè)工作表;2.把“產(chǎn)品名稱”字段拖放到“行”功能區(qū),把“銷售額”字段拖放到“列”功能區(qū);3點(diǎn)擊“產(chǎn)品名稱”膠囊的下拉列表,再點(diǎn)擊“排序”,4.在彈出的設(shè)置窗口里選擇排序依據(jù)為“字段”,排序順序?yàn)椤敖敌颉?,字段名稱為“銷售額”,“聚合方式”為總和;5.把“產(chǎn)品名稱”維度拖放到“篩選器”功能區(qū),將彈出的對(duì)話框切換至“頂部”頁,再點(diǎn)擊 “按字段”,依次選擇“頂部”“10”“銷售額”“總和”,然后點(diǎn)擊確定,得出全國范圍銷售額top10的產(chǎn)品數(shù)據(jù)與視圖,該排序是把各產(chǎn)品在全國各地區(qū)不同月份的銷售額求和之后進(jìn)行的排序。
另外,對(duì)于記錄數(shù)較少的維度,可以直接上下拖動(dòng)軸標(biāo)簽或者圖例標(biāo)簽進(jìn)行簡單的手動(dòng)排序。在分析維度比較簡單的情況下,基本方法能夠?qū)崿F(xiàn)常見的排序要求。
二、Rank方法
在上面的操作例子中,如要排列出每個(gè)地區(qū)的銷量TOP10產(chǎn)品,再按基本方法,把“地區(qū)”字段直接拖放到“行”功能區(qū),得出的結(jié)果將仍然是按照全國的銷售TOP10產(chǎn)品序列在每個(gè)地區(qū)進(jìn)行排列,因而是錯(cuò)誤的。解決的方法之一是可以使用RANK函數(shù)新增一個(gè)計(jì)算字段,語句如下:“RANK(SUM([銷售額]))”,可命名為“RANK”。接著在度量窗格中鼠標(biāo)右鍵點(diǎn)擊新增的RANK字段,在彈出的菜單中把它“轉(zhuǎn)換為離散”類型。再把該字段拖放到行功能區(qū),置于“地區(qū)膠囊”和“產(chǎn)品膠囊”中間。接著,右鍵單擊“RANK膠囊”,在彈出的菜單中把“計(jì)算依據(jù)”改為“區(qū)(向下)”,最后,按住Ctrl鍵,把“RANK膠囊”從“行”功能區(qū),拖放到“標(biāo)記”功能區(qū)的LOD區(qū)域(詳細(xì)級(jí)別區(qū)域),然后右鍵單擊,在彈出的菜單中把數(shù)據(jù)類型改為“連續(xù)”,然后再次點(diǎn)擊鼠標(biāo)右鍵,選擇“顯示篩選器”,在面板右側(cè)出現(xiàn)的篩選器選擇欄,選擇“1-10”,也可以選擇任意范圍,從而得到按RANK法操作的各地區(qū)銷售額TOP10的產(chǎn)品排名數(shù)據(jù)與視圖。
采用RANK方法的關(guān)鍵是掌握RANK函數(shù)的設(shè)置。RANK函數(shù)的標(biāo)準(zhǔn)表達(dá)式是:RANK(expression,[‘a(chǎn)sc│‘desc]),其釋意為:為分區(qū)中的當(dāng)前行返回標(biāo)準(zhǔn)競爭排名,為相同排名分配相同的值,使用可選參數(shù)‘a(chǎn)sc∣‘desc指定升序或降序,默認(rèn)為降序。例如,使用RANK函數(shù)對(duì)數(shù)組(7,9,9,16)進(jìn)行升序排名的結(jié)果為(1,2,2,4)。
三、Index方法
實(shí)現(xiàn)上述結(jié)果除了采用RANK函數(shù)設(shè)置新的計(jì)算字段方法外,還可以使用INDEX函數(shù)。INDEX函數(shù)的標(biāo)準(zhǔn)表達(dá)式為:INDEX(),意為放回分區(qū)中當(dāng)前行的索引。例如,對(duì)于分區(qū)中的第10行,INDEX()的返回值為10。
使用INDEX函數(shù)進(jìn)行排序操作具體步驟如下:1.在維度面板上點(diǎn)擊鼠標(biāo)左鍵,在彈出的菜單里選擇“創(chuàng)建計(jì)算字段”2.輸入計(jì)算字段內(nèi)容為“INDEX()”,并把字段命名為index;3.把index字段拖放到“行”功能區(qū),把數(shù)據(jù)類型改為“離散”型,置于“地區(qū)”膠囊和“產(chǎn)品名稱”膠囊之間。4.在“index”膠囊上單擊鼠標(biāo)右鍵,在彈出的菜單中選擇“編輯表計(jì)算”,在彈出的對(duì)話框中設(shè)置計(jì)算依據(jù)為“特定維度”,并選擇“地區(qū)”和“產(chǎn)品名稱”兩個(gè)維度,所在級(jí)別選擇“產(chǎn)品名稱”,重新啟動(dòng)間隔選擇“地區(qū)”,排序依據(jù)選擇自定義,按照銷售總和降序排序;5.右鍵點(diǎn)擊“index”膠囊,選擇“顯示篩選器”,然后再在篩選器的選擇欄把INDEX膠囊的數(shù)據(jù)類型設(shè)為連續(xù),并將值范圍設(shè)為0-10,從而得到按INDEX法操作的各地區(qū)銷售額TOP10的產(chǎn)品排名數(shù)據(jù)與視圖。
從操作的過程可以看出,INDEX法和RANK的相同點(diǎn)在于,都需要使用對(duì)應(yīng)的函數(shù)創(chuàng)建計(jì)算字段;它們的區(qū)別在于,INDEX法需要編輯表計(jì)算,進(jìn)行一系列的設(shè)置,操作相對(duì)復(fù)雜,如操作者對(duì)表計(jì)算原理理解不透,則容易設(shè)置出錯(cuò),達(dá)不到預(yù)期效果。
那么,在進(jìn)行表計(jì)算設(shè)置的時(shí)候,操作者應(yīng)該掌握兩個(gè)關(guān)鍵的要素,一個(gè)是計(jì)算方法,一個(gè)是計(jì)算依據(jù)。計(jì)算方法主要有:差異、百分比、百分比差異、合計(jì)百分比、排序、匯總等,操作者應(yīng)該按照操作目的選擇計(jì)算方法。計(jì)算依據(jù)也叫尋址和分區(qū),可以理解為計(jì)算的路徑。計(jì)算依據(jù)各選項(xiàng)歸納見下表一。
序號(hào) 計(jì)算依據(jù)選項(xiàng)名稱 計(jì)算路徑
1 表(橫穿) 每一行從左到右依次進(jìn)行計(jì)算,換行之后重新計(jì)算。
2 表(向下) 每一列從上到下依次累加,換一列重新計(jì)算。
3 表(橫穿然后向下) 每一行從左到右依次計(jì)算,換行之后不重新計(jì)算接上一行的最后一個(gè)數(shù)據(jù)繼續(xù)計(jì)算。
4 表(向下然后橫穿) 每一列從上到下依次計(jì)算,換列之后不重新計(jì)算接上一列的最后一個(gè)數(shù)據(jù)繼續(xù)計(jì)算。
5 區(qū)(向下) 區(qū)內(nèi)每一列從上到下依次計(jì)算,換列之后重新計(jì)算,換區(qū)之后重新開始。
6 區(qū)(橫穿然后向下) 與表(橫穿然后向下)計(jì)算路徑相同,但換區(qū)之后重新開始計(jì)算。
7 區(qū)(向下然后橫穿)
8 單元格 計(jì)算各個(gè)單元的數(shù)字,單元格里可以是一個(gè)數(shù)據(jù)或多個(gè)數(shù)據(jù)。
9 特定維度 根據(jù)選擇單各維度或多維度組合進(jìn)行計(jì)算
表一:表計(jì)算的計(jì)算依據(jù)選項(xiàng)
建議操作者通過實(shí)例一一對(duì)上述表計(jì)算的各種情況進(jìn)行設(shè)置,然后對(duì)比結(jié)果,深入理解表計(jì)算的原理,尤其加深對(duì)特定維度的理解。
四、合并字段方法
在介紹合并字段方法前,首先,使用基本方法按總和銷售額對(duì)產(chǎn)品名稱進(jìn)行降序排列,然后再加入地區(qū)維度進(jìn)行降序排列,前后對(duì)比操作結(jié)果,可以發(fā)現(xiàn)產(chǎn)品列表順序是一樣的,這說明,雖然在產(chǎn)品名稱維度前加入了其他維度進(jìn)行排序,但程序仍然只按照產(chǎn)品維度進(jìn)行排序,并沒有改變排序結(jié)果,而且在每個(gè)地區(qū)下面的產(chǎn)品都會(huì)重復(fù)一樣的排序,這個(gè)排序的結(jié)果明顯不是按照各地區(qū)的產(chǎn)品銷售額來進(jìn)行的排序結(jié)果。原因在于地區(qū)維度并沒有與產(chǎn)品維度進(jìn)行自動(dòng)關(guān)聯(lián)。這個(gè)問題可以用“合并字段”來解決。合并字段就是把在邏輯上存在關(guān)系的兩個(gè)或者兩個(gè)以上的字段進(jìn)行合并,搭建這些字段之間的關(guān)系,軟件程序能對(duì)這些關(guān)系進(jìn)行智能判斷。具體操作步驟如下:1.按住Ctrl鍵選擇“地區(qū)”維度和“產(chǎn)品維度”,再單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“創(chuàng)建”-“合并字段”;2.把該合并字段拖放到“行”功能區(qū)中,置于“地區(qū)”膠囊和“產(chǎn)品名稱”膠囊之間。3.右鍵點(diǎn)擊合并字段膠囊,選擇“排序”,設(shè)置按照“銷售額”總計(jì)進(jìn)行降序排序4.該排序?yàn)殡[形排序,起輔助作用,并不需要顯示出來,可以在合并字段膠囊上點(diǎn)擊右鍵,將“顯示標(biāo)題”選項(xiàng)勾掉。從而得到按合并字段法操作的各地區(qū)銷售額TOP10的產(chǎn)品排名數(shù)據(jù)與視圖。
從操作結(jié)果可以看出,對(duì)地區(qū)和產(chǎn)品名稱進(jìn)行字段合并后,程序按照不同地區(qū)的銷售額對(duì)產(chǎn)品進(jìn)行了排序,因而每個(gè)地區(qū)的產(chǎn)品排列順序都不一樣,反映了各地區(qū)產(chǎn)品不同的銷售情況,達(dá)到了分析目的。
最后,從上述關(guān)于Tableau的四類排序方法的案例操作介紹中可以看出,比較容易的操作是顯性排序(排序的依據(jù)和結(jié)果在面板上直接展示出來,能看到),而要進(jìn)行隱性排序(排序依據(jù)的維度或字段未顯示出來)則相對(duì)難度大。顯性排序用基本方法一般就能達(dá)到分析目的,隱性排序則需要基本方法與其他方法的結(jié)合才能達(dá)成目標(biāo)。
參考文獻(xiàn):
[1]高云龍,孫辰. 大話數(shù)據(jù)分析-Tableau數(shù)據(jù)可視化實(shí)戰(zhàn)[M].中國工信出版社
[2]黃亮; 戴小鵬; 王奕.基于Tableau的商業(yè)數(shù)據(jù)可視化分析[J].電腦知識(shí)與技術(shù),2018(10)
[3]趙景.信息的可視化框架表達(dá)與建構(gòu)實(shí)現(xiàn)—以TableauDesktop為例[J].新媒體研究,2019(06)
[4]陳佳艷. 基于Tableau實(shí)現(xiàn)在線教育大數(shù)據(jù)的可視化分析[J].江蘇商論,2018(2)
[5]高屹. 信息可視化技術(shù)研究分析[J] 科技創(chuàng)新與應(yīng)用. 2016(01)
[6]楊月.Tableau在航運(yùn)企業(yè)航線營收數(shù)據(jù)分析中的應(yīng)用[J].集裝箱, 2018(8)