將計算欄新增至檢視

有時,資料可能沒有分析所需的全部內容。解決此問題的常用方法是建立一個可修改現有資料的計算欄(也稱為計算欄位或僅是計算)。可以透過開啟分析功能表並選取建立計算欄位...來建立計算

需要注意的是,對於計算欄位,通常有幾種不同的方法來取得相同的結果。此外,計算的正確值可能取決於資料的調整方式和視覺效果的設定方式。確定如何編寫計算時,請確保瞭解資料結構以及將如何建置視覺效果。

計算何時可能有用的範例

合併名字和姓氏

「名字」和「姓氏」可能位於兩個不同的欄中,並且希望具有一個單一的名稱欄位。

具有三欄的表格,標題為名字、姓氏和真實人物

計算:

[First name] + " " + [Last name]

完成的視覺效果可能如下所示

列上顯示名字和姓氏欄位且文字上顯示全名欄位的視覺效果

在字串中查找序列

可能希望在「產品 ID」欄位中標記每個具有特定製造代碼 XYZ 的記錄。

具有三欄的資料表,第一欄為產品 ID

若存在該代碼,則計算會傳回「true」,否則會傳回「false」。

CONTAINS([Product ID}, "XYZ")

完成的視覺效果可能如下所示,其中包含色彩計算。

列上顯示產品 ID 且色彩上顯示計算欄位 XYZ 製造的視覺效果

為值範圍指派類別

您希望根據幾個臨界值來指派類別。

具有兩欄(學生和 GPA)的資料表

計算將根據截止值評估每個學生的 GPA,並指派標籤。

IF [GPA] <3 THEN "Needs Improvement" ELSEIF [GPA] <3.5 THEN "Sufficient" ELSE "Excellent" END

完成的視覺效果可能如下所示,其中包含色彩計算。

列上顯示學生、欄上顯示 GPA 且 色彩上顯示計算欄位的視覺效果

計算百分比變更

您希望顯示 1 歲至 2 歲兒童體重的同比 (YOY) 百分比變更。

具有三欄的資料表,一欄為嬰兒 (ID),一欄為年齡,一欄為體重

此計算是針對每個兒童的差異/原始計算。

(SUM((IF [Age] = 2 THEN [Weight] ELSE 0 END)) - SUM((IF [Age] = 1 THEN [Weight] ELSE 0 END)))/SUM(IF [Age] = 1 THEN [Weight] ELSE 0 END) 

完成的視覺效果可能如下所示。

列上顯示嬰兒且文字上顯示計算欄位的視覺效果

此範例內容:根據資料的結構,計算可能會發生很大的變更。例如,若具有針對 1 歲時的體重和 2 歲時的體重的欄位,則只需要計算([2 歲時的體重]-[1 歲時的體重]/[1 歲時的體重]。但是,上面詳述的資料結構更標準,更可能遇到。

繼續進行:建立 YOY 計算

目標

建立如下所示的檢視,該檢視在前兩欄中顯示兩年的銷售額結果,然後在第三欄中顯示年度變化百分比。該情境使用 Tableau Desktop 隨附的 [範例 - 超級市場] 資料來源來顯示如何建置視覺效果。

建立必需的計算欄位

  1. 連線到[範例 - 超級市場]資料來源。

  2. 選取 [分析] > [建立計算欄位] 以開啟計算編輯器。將計算命名為 [2013] ,並在公式區域中鍵入或粘貼以下內容:

    IF YEAR([Order Date]) = 2013 THEN [Sales] ELSE 0 END

  3. 建立第二個計算欄位並將其命名為 [2014] ;除了欄位名為 2014 而不是 2013 之外,公式是相同的:

    IF YEAR([Order Date]) = 2014 THEN [Sales] ELSE 0 END

  4. 建立第三個計算欄位 [YOY Pct.Change] ,以計算 2013 年至 2014 年的變化:

    (SUM([2014]) - SUM([2013])) / SUM([2013])

設定計算欄位的格式

  1. [資料] 窗格的 [度量] 區域中按一下 [2013] ,然後選取 [預設屬性] > [數位格式]

  2. 在 [預設數位格式] 對話方塊中,將格式設定為 [貨幣(自訂)] ,並將 [小數位數] 設定為 [0]

  3. 以完全相同的方式設定 [2014] 度量的格式。

  4. [YOY Pct.Change] 欄位的格式設定為具有 2 位小數的 [百分比]

組建檢視

  1. [2013] 拖到 [標記] 卡的 [文字] 上。

  2. 按兩下 [2014] ,然後按兩下 [YOY Pct.Change]

  3. [度量名稱] [列] 拖到 [欄]

  4. [Sub-Category] (子類)拖到 [資料列]

    檢視現在應類似於本節開始時的檢視。