本文介紹 Tableau 中的彙總函式及其用途。它還示範如何使用範例建立彙總計算。

為何使用彙總函式

彙總函式允許您進行匯總或變更資料的資料粒度。

例如,您可能想要準確知道您的商店在特定年度有多少訂單。您可以使用 COUNTD 函數對您的公司具有的準確訂單數進行匯總,然後按年對視覺效果進行細分。

計算可能如下所示:

COUNTD(Order ID)

視覺效果可能如下所示:

Tableau 中的可用彙總函式

彙總和浮點演算法:有些彙總的結果可能並非總是完全符合預期。例如,您可能發現 Sum 函數返回值 -1.42e-14 作為欄數,而您知道求和結果應該正好為 0。出現這種情況的原因是電氣電子工程師學會 (IEEE) 754 浮點標準要求數位以二進位格式儲存,這意味著數位有時會以極高的精度層級舍入。您可以使用 ROUND 函數(請參閱數位函數)或者透過將數位格式設定為顯示較少小數位來消除這種潛在誤差。

函數

語法

定義

ATTR

ATTR(expression)

如果它的所有列都有一個值,則返回該運算式的值。否則返回星號。會忽略 Null 值。

AVG

AVG(expression)

返回運算式中所有值的平均值。AVG 只能用於數位欄位。會忽略 Null 值。

收集

COLLECT (spatial)

將參數欄位中的值組合在一起的彙總計算。會忽略 Null 值。

附註:COLLECT 函數只能用於空間欄位。

範例:

COLLECT ([Geometry])

CORR

CORR(expression 1, expression2)

返回兩個運算式的皮爾森相關係數。

皮爾森相關係數衡量兩個變數之間的線性關係。結果範圍為 -1 至 +1(包括 -1 和 +1),其中 1 表示精確的正向線性關係,比如一個變數中的正向變更即表示另一個變數中對應量級的正向變更,0 表示變異數之間沒有線性關係,而 −1 表示精確的反向關係。

CORR 可用於以下資料來源:

  • Tableau 資料擷取(您可以從任何資料來源中建立擷取)
  • Cloudera Hive
  • EXASolution
  • Firebird(版本 3.0 及更高版本)
  • Google BigQuery
  • Hortonworks Hadoop Hive
  • IBM PDA (Netezza)
  • Oracle
  • PostgreSQL
  • Presto
  • SybaseIQ
  • Teradata
  • Vertica

對於其他資料來源,請考慮擷取資料或使用 WINDOW_CORR。請參閱表計算函數

附註:CORR 結果的平方等於線性趨勢線模型的 R 平方值。請參閱趨勢線模型術語

範例:

您可以使用 CORR 在分解散點圖中呈現關聯。實現此目的的方式是使用表範圍詳細層級運算式。例如:

{CORR(Sales, Profit)}

借助詳細層級運算式,關聯將在所有列上執行。如果您使用像 CORR(Sales, Profit)(不帶兩邊的方括號可使其成為詳細層級運算式)這樣的公式,檢視將顯示散點圖中每個單獨的點與其他每個點(未定義)的關聯。

請參閱表範圍

COUNT

COUNT(expression)

返回群組中的項目數。不對 Null 值計數。

COUNTD

COUNTD(expression)

返回群組中不同項目的數量。不對 Null 值計數。此函數在下列情況下不可用:在 Tableau Desktop 8.2 之前建立的使用 Microsoft Excel 或文字檔資料來源的工作簿、使用舊版連線的工作簿和使用 Microsoft Access 資料來源的工作簿。將資料擷取到擷取檔案以使用此函數。請參閱擷取資料

COVAR

COVAR(expression 1, expression2)

返回兩個運算式的樣本共變數

共變數對兩個變數的共同變化方式進行量化。正共變數指明兩個變數趨向於向同一方向移動,平均來說,即一個變數的較大值趨向於與另一個變數的較大值對應。樣本共變數使用非空資料點的數量 n - 1 來規範化共變數計算,而不是使用總體共變數(可用於 COVARP 函數)所使用的 n。當資料是用於估算較大總體的共變數的隨機樣本時,則樣本共變數是合適的選取。

COVAR 可用於以下資料來源:

  • Tableau 資料擷取(您可以從任何資料來源中建立擷取)
  • Cloudera Hive
  • EXASolution
  • Firebird(版本 3.0 及更高版本)
  • Google BigQuery
  • Hortonworks Hadoop Hive
  • IBM PDA (Netezza)
  • Oracle
  • PostgreSQL
  • Presto
  • SybaseIQ
  • Teradata
  • Vertica

對於其他資料來源,請考慮擷取資料或使用 WINDOW_COVAR。請參閱表計算函數

如果 expression1 和 expression2 相同 — 例如,COVAR( [profit], [profit]) — 則 COVAR 將返回一個值,指明值分佈的廣泛程度。

附註:COVAR(X, X) 的值等於 VAR(X) 的值,也等於 STDEV(X)^2 的值。

範例:

以下公式返回「Sales」「Profit」的樣本共變數。

COVAR([Sales], [Profit])

COVARP

COVARP(expression 1, expression2)

返回兩個運算式的總體共變數

共變數對兩個變數的共同變化方式進行量化。正共變數指明兩個變數趨向於向同一方向移動,平均來說,即一個變數的較大值趨向於與另一個變數的較大值對應。總體共變數等於樣本共變數除以 (n-1)/n,其中 n 是非空資料點的總數。如果存在可用於所有相關項的資料,則總體共變數是合適的選取,與之相反,在只有隨機項子集的情況下,樣本共變數(及 COVAR 函數)較為適合。

COVARP 可用於以下資料來源:

  • Tableau 資料擷取(您可以從任何資料來源中建立擷取)
  • Cloudera Hive
  • EXASolution
  • Firebird(版本 3.0 及更高版本)
  • Google BigQuery
  • Hortonworks Hadoop Hive
  • IBM PDA (Netezza)
  • Oracle
  • PostgreSQL
  • Presto
  • SybaseIQ
  • Teradata
  • Vertica

對於其他資料來源,請考慮擷取資料或使用 WINDOW_COVARP。請參閱表計算函數

如果 expression1 和 expression2 相同 — 例如,COVARP([profit], [profit]) — 則 COVARP 將返回一個值,指明值分佈的廣泛程度。

附註:COVARP(X, X) 的值等於 VARP(X) 的值,也等於 STDEVP(X)^2 的值。

範例:

以下公式返回「Sales」「Profit」的總體共變數。

COVARP([Sales], [Profit])

MAX

MAX(expression)

返回運算式在所有記錄中的最大值。如果運算式為字串值,則此函數返回按字母順序定義的最後一個值。

MEDIAN

MEDIAN(expression)

返回運算式在所有記錄中的中位數。中位數只能用於數位欄位。會忽略 Null 值。此函數不適用於在 Tableau Desktop 8.2 版之前建立或使用舊版連線的工作簿。它也不適用於使用以下任何資料來源的連線:

  • 存取
  • Amazon Redshift
  • Cloudera Hadoop
  • HP Vertica
  • IBM DB2
  • IBM PDA (Netezza)
  • Microsoft SQL Server
  • MySQL
  • SAP HANA
  • Teradata

對於其他資料來源類型,可以將資料擷取到擷取檔案以使用此函數。請參閱擷取資料

MIN

MIN(expression)

返回運算式在所有記錄中的最小值。如果運算式為字串值,則此函數返回按字母順序定義的第一個值。

PERCENTILE

PERCENTILE(expression, number)

從給定運算式返回與指定數字對應的百分位元處的值。數字必須介於 0 到 1 之間(含 0 和 1),例如 0.66,並且必須是數值常量。

此函數可用於以下資料來源。

  • 非舊版 Microsoft Excel 和文字檔連線。

  • 擷取和純擷取資料來源類型(例如 Google Analytics、OData 或 Salesforce)。

  • Sybase IQ 15.1 及更高版本的資料來源。

  • Oracle 10 及更高版本的資料來源。

  • Cloudera Hive 和 Hortonworks Hadoop Hive 資料來源。

  • EXASolution 4.2 及更高版本的資料來源。

對於其他資料來源類型,可以將資料擷取到擷取檔案以使用此函數。請參閱擷取資料

STDEV

STDEV(expression)

基於群體樣本返回給定運算式中所有值的統計標準差。

STDEVP

STDEVP(expression)

基於有偏差群體返回給定運算式中所有值的統計標準差。

SUM

SUM(expression)

返回運算式中所有值的總計。SUM 只能用於數位欄位。會忽略 Null 值。

VAR

VAR(expression)

基於群體樣本返回給定運算式中所有值的統計變異數。

VARP

VARP(expression)

對整個群體返回給定運算式中所有值的統計變異數。


建立彙總計算

按照下面的步驟進行操作以瞭解如何建立彙總計算。

  1. 在 Tableau Desktop 中,連線到 Tableau 附帶的 [Sample - Superstore] 已儲存資料來源。

  2. 巡覽到工作表,並選取 [分析] > [建立計算欄位]

  3. 在開啟的計算編輯器中,執行以下操作:

    • 將計算欄位命名為 [Margin] (利潤)

    • 輸入以下公式:

      IIF(SUM([Sales]) !=0, SUM([Profit])/SUM([Sales]), 0)

      附註:您可以使用函數引用來尋找彙總函式和其他函數(如此範例中的邏輯 IIF 函數),並將其新增到計算公式。有關詳情,請參閱在計算編輯器中使用函數引用

    • 完成後,按一下 [確定]

    新的彙總計算將出現在 [資料] 窗格中的 [度量] 下。就像其他欄位一樣,您可以在一個或多個視覺效果中使用該欄位。

    附註:彙總計算始終為度量。

    當將 [Margin] (利潤)放在工作表中的架或卡上時,它的名稱將變更為 [AGG(Margin)] ,表示它是彙總計算,並且無法進一步彙總。

    描述將會總計算放在架上時會發生什麼情況的圖形。該欄位顯示 AGG 首碼。

彙總計算的規則

適用于彙總計算的規則如下:

  • 任何彙總計算中不得同時包括彙總值和分解值。例如,SUM(Price)*[Items] 不是有效的運算式,因為 SUM(Price) 已彙總,而 Items 則沒有。不過,SUM(Price*Items) 和 SUM(Price)*SUM(Items) 均有效。

  • 運算式中的常量可根據情況充當彙總值或分解值。例如:SUM(Price*7) 和 SUM(Price)*7 均為有效的運算式。

  • 所有函數都可用彙總值進行計算。但是,任何給定函數的參數必須或者全部彙總,或者全部分解。例如:MAX(SUM(Sales),Profit) 不是有效的運算式,因為 Sales 已彙總,而 Profit 則沒有。不過,MAX(SUM(Sales),SUM(Profit)) 為有效的運算式。

  • 彙總計算的結果始終為度量。

  • 與預定義彙總一樣,彙總計算可正確地進行總計計算。有關詳情,請參閱 [總計] 。

另請參閱

瞭解計算:彙總計算(連結在新視窗開啟)

Tableau 中的資料彙總(連結在新視窗開啟)

Tableau 中的函數

Tableau 函數(按類別)(連結在新視窗開啟)

Tableau 函數(按字母順序)

感謝您的意見回饋!