1. 程式人生 > >乾貨|Tableau中使用字串計算,好處居然這麼多!

乾貨|Tableau中使用字串計算,好處居然這麼多!

我們很少在 Tableau 中考慮使用文字建立計算欄位的原因可能是 SQL 通常是進行此類操作的更優選擇。畢竟,我們總是說,“你可以在 Tableau 中做某件事情,並不意味著你應該做這件事。”

tableau

話雖如此,在 Tableau 中建立字串計算也有許多很好的原因。Tableau 可以作為絕佳的概念測試工具,您可以在 ETL 流程最終確定之前動態測試您的想法。本文將向您介紹 Tableau 中的字串計算,並向您展示如何在寫入 SQL 之前測試細分。

使用字串計算在 Tableau 中建立自定義細分

假設我們要在 Sub-Category(子類別)維度(來自 Sample - Superstore 資料集)中使用維度成員來建立自定義細分。我將用一個簡單,虛擬的例子來說明,假設我們希望所有以'A'開頭的子類別為一個細分; 所有以“B”或“C”開頭的子類別為第二個細分; 其他的作為最後一個細分。

我們可以將子類別進行分組,但分組是靜態的。這意味著如果我們後來更新了資料集並引入了新的維度成員,它並不會自動對其進行分類。相比而言,字串計算是動態的,因此我們設定一次後則能保證它們會在新資料新增時動態地對其進行細分。在這個例子中,計算欄位是:

IF STARTSWITH([Sub-Category], ‘A’) THEN ‘ASub-Categories’

ELSEIF STARTSWITH([Sub-Category],‘B’) ORSTARTSWITH([Sub-Category],‘C’) THEN ‘B & C

Subcategories’

ELSE ‘Other’

END

tableau

請注意,您可以在字串計算中使用單引號(')或雙引號(“)。此外,我們在此例子中使用的 STARTSWITH 函式不區分字母的大小寫。

就像我會檢查 Tableau 中數字的計算欄位一樣,我也會檢查字串的計算欄位。要在這個例子中執行此操作,我會首先將原始子類別維度放在行上,然後將我們新建立的子類別細分維度放在後面。

tableau

按照行上維度的順序,第一列顯示的是原始維度成員名稱,第二列顯示的是計算欄位。果然,如果子類別以 A 開頭,則其被歸類為 A 子類別; 如果它以 B 或 C 開頭,則被歸類為 B&C 子類別; 其他的部分都被稱為“Other”。現在我知道它行得通,我可以單獨使用計算維度來,就像任何其他維度一樣。下面的條形圖展示了子類別細分的平均利潤值。

tableau

假設我是 B&C 子類別的管理者,如果我無法以這種方式對子類別維度成員進行細分,那麼我可能會錯失這個能帶來獎金的見解!

這種計算在 Tableau 中可以快速輕鬆地完成,但我建議,當您希望將這些維度計算作為分析的永久部分時,請將計算移到 Tableau 之外。換句話說,一旦您知道此細分將經常用於您的分析,請使用此建立資料集。

我之所以這麼建議的原因是,字串資料型別是 Tableau 新增到檢視時要處理的最慢的型別。雖然 Tableau 是一個很好的概念測試工具,但是在預處理方面有更好的工具可以幫助您避免重複(和慢速)查詢。

同樣,這只是 Tableau 中字串計算的許多應用之一,但我想向您介紹,以便您可以充分利用這個系列。若要檢視 Tableau 中可用的字串函式的完整列表,請在建立計算欄位時展開函式字典,並將下拉選單更改為“String”(中文版字串)。

tableau

看完了Tableau字串計算的使用,是不是覺得沒想到會有這麼多的好處,趕緊下載最新版Tableau 2018.3,親自上手試一試。慧都科技不僅提供資料視覺化工具Tableau的下載、購買、培訓和諮詢,還提供Tableau以及BI解決方案與技術服務,詳情可進入慧都科技BI頁面瞭解更多或留言與我們取得聯絡,慧都科技將竭誠為您服務。