您好,登錄后才能下訂單哦!
Tableau是一個十分易學易上手的軟件。看兩三個小時的入門教程,就能做出一個看上去很不錯的報表,非常有成就感。然而當你學到一定程度或者從事數據可視化工作一段時間,就會發現自己的Tableau水平遇到了瓶頸,很難突破。有時候工作中的一個小問題會讓你犯愁一整天,茶飯不思。確實,Tableau軟件充斥著各種各樣的技巧,只有通過大量實際工作的磨練才能掌握,隨著經驗的日積月累和不斷總結,才能發生Tableau水平從量變到質變的飛躍。這兒我想說的是,從事Tableau工作需要很強的換位思考能力。有時候常規方法無法達到目的,不妨換個思維,從另外一個角度出發,運用其他技巧、甚至“欺騙“的手段來實現同樣的效果。
我們知道,在維度篩選器作用下一個通過表計算求出的度量百分比是無法維持原來值的。例如,任意選擇幾個Subcategory的值,它們的總和一定是百分之百,很顯然它們各自的百分比與原先沒有度量篩選器時的百分比完全不一樣。
那么如何達到在維度篩選器的作用下,各百分比保持原來的值呢?這里介紹五種方法。
?
方法一:使用Index功能
創建一個計算字段 Index:Index(),轉換為離散,然后在control filter窗口中選擇不同的數值就會顯示對應Subcategory在篩選器作用以前的百分比值。此處Index()作為一個表計算篩選器,級別最低,它只能選出對應的維度呈現哪個值,卻對表計算本身不起作用,所以,百分比值得以保持。
?
這兒用到的就是一種換位思考的方法。既然篩選器級別太高,影響表計算結果,得,我就用級別最低的篩選器(表計算篩選器)將字符串表示的維度值轉換為可用Index表達的數字來實現相同的效果。當然,此方法有兩大缺點。首先,Index選項中1-17分別對應哪個Subcategory不明確。其次,當Index不按Subcategory的字母順序排列而按照別的標準來排,比如按照Sales的大小排列,則其對應的Subcategory 又會有變化,因此,雖然想法不錯,但此法不是一個好的選擇。
?
方法二:使用集值 (Set)
基于Subcategory,建一個 按Sales大小排列的集(Set),設立參數Top N以實現動態選擇,并將Set放到顏色標記中。
隱藏顏色圖例中的Out,選擇不同的參數,就能顯示相應Subcategory原先的百分比。
此處沒用任何篩選器,只是將Out類別的Subcategory及其百分比值隱藏起來,從視覺上就顯示出所感興趣的Subcategory及其原先的百分比值,這就是一種通過“欺騙“而達到同樣效果的手段,很巧妙。此方法的缺點是,由于集 (Set) 的特性,僅適用于選擇按照某種特性、尤其是度量值大小排列的維度及百分比,而無法自由隨機地選擇維度并呈現百分比值。
?
方法三:復制數據源
我們知道,Percent of Total? 的計算方法是:SUM([Sales])/TOTAL(SUM([Sales]))
假如將數據源進行復制,維度篩選器和分子中的Sales采用同一數據源中的值,而分母中的Sales采用另一數據源中的值,只要脫離兩個數據源之間的聯系,維度篩選器就只能影響分子中的Sales,而對分母中的Sales卻無能為力,如此就能保持篩選器作用之前的百分比,這就是此方法的作用原理。
% in Double Data Sources:
SUM([Sales])/TOTAL(SUM([Orders (Sample - Superstore) (2)].[Sales]))
此方法的缺點是需要Blending兩個數據源,增大了文件尺寸,并影響報表呈現的速度和性能。
?
方法四:使用lookup功能
表計算求出的百分比值之所以無法保持,是因為在篩選器和計算排列順序表中維度篩選器排在表計算之上,所以表計算受維度篩選器的控制。如果我們將維度篩選器變成一個表計算篩選器, 原先的百分比值就可以保持了。在第一種方法中用了Index功能,此處我們可用lookup功能,它也是一種常用的表計算功能。建立以下計算字段:
Lookup:
LOOKUP(MIN([Sub-Category]),0)
此處MIN功能的目的是將Subcategory變成一個聚合計算,這是lookup所要求的,當然也可以用MAX和ATTR等。
此方法比第一種用Index的方法有進步,因為在篩選器選項中顯示的是維度的具體值,與直接將Subcategory 用作篩選器并無二致。缺點也很明顯,當換一種維度,比如Region,Category等作為篩選器時,其lookup計算字段必須更改所選維度,十分麻煩。
?
方法五:用表范圍LOD計算
殺器來了!此方法用表范圍的詳細級別計算來求出百分比。
% by LOD:
SUM([Sales])/SUM({SUM([Sales])})
此計算中,分母所包含的表范圍LOD計算算出總體銷售額,它屬于Fixed詳細級別計算,不受維度篩選器的影響,因此選中的所有維度都將保持原先的百分比值。
方法一和方法四采用的是通過降低篩選器的思路,而此處不改變維度篩選器,卻用Fixed LOD 將計算提高級別、超越維度篩選器以達到目的。端的是條條大路通羅馬!
為什么此法甚佳?請注意此計算用到的是度量,并未牽涉維度,所以無論選擇何種維度作篩選器,都不需要修改計算式,總能完美地運作,這是比方法四更好之處。另外,其維度值選擇可以是隨機的,不用按照度量值或其它標準排列,這是與方法二相比的優勢所在。它又無須象方法三那樣需要雙數據源。Overall,方法五無愧最佳選擇,秒殺所有其他方法!
?
換位思考在Tableau中無處不在。基本上,Tableau中能讓你拍案叫絕的技巧和手段都用了換位思考這種說的難聽一點就是“欺騙“的手段。在以后的系列中,我還會繼續教你用”欺騙“的手法,克服一個個難關,神鬼不知直達目的!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。