Tableau 函數(按類別)

此參考中的 Tableau 函數按類別組織。按一下類別可瀏覽其函數。或者,按 Ctrl+F(在 Mac 上按 Command-F)開啟搜尋框,您可以使用該搜尋框在頁面中搜尋特定函數。

數位函數

ABS

語法ABS(number)
輸出數字(正數)
定義傳回指定 <number> 的絕對值。
範例
ABS(-7) = 7
ABS([Budget Variance])

第二個範例傳回「預算差異」欄位中包含的所有數字的絕對值。

說明另請參閱 SIGN

ACOS

語法ACOS(number)
輸出數字(以弧度表示的角度)
定義傳回給定 <number> 的反餘弦(角度)。
範例
ACOS(-1) = 3.14159265358979
說明反函數 COS 以弧度表示的角度作為引數,並傳回餘弦。

ASIN

語法ASIN(number)
輸出數字(以弧度表示的角度)
定義傳回給定 <number> 的反正弦(角度)。
範例
ASIN(1) = 1.5707963267949
說明反函數 SIN 以弧度表示的角度作為引數,並傳回正弦。

ATAN

語法ATAN(number)
輸出數字(以弧度表示的角度)
定義傳回給定 <number> 的反正切(角度)。
範例
ATAN(180) = 1.5652408283942
說明

反函數 TAN 以弧度表示的角度作為引數,並傳回正切。

另請參閱 ATAN2COT

ATAN2

語法ATAN2(y number, x number)
輸出數字(以弧度表示的角度)
定義傳回兩個數字(x 和 y)之間的反正切(角度)。結果以弧度表示。
範例
ATAN2(2, 1) = 1.10714871779409
說明另請參閱 ATANTANCOT

CEILING

語法CEILING(number)
輸出整數
定義<number> 四捨五入為值相等或更大的最近整數。
範例
CEILING(2.1) = 3
說明另請參閱 FLOORROUND
資料庫限制

CEILING 可透過以下連接器使用:Microsoft Excel、文字檔案、統計檔案、已發佈資料來源、Amazon EMR Hadoop Hive、Amazon Redshift、Cloudera Hadoop、DataStax Enterprise、Google Analytics (分析)、Google BigQuery、Hortonworks Hadoop Hive、MapR Hadoop Hive、Microsoft SQL Server、Salesforce、Spark SQL。

COS

語法COS(number)

數字引數是以弧度表示的角度。

輸出數字
定義返回角度的余弦。
範例
COS(PI( ) /4) = 0.707106781186548
說明

反函數 ACOS 以餘弦作為引數,並傳回以弧度表示的角度。

另請參閱 PI。若要將角度從度數轉換為弧度,請使用 RADIANS

COT

語法COT(number)

數字引數是以弧度表示的角度。

輸出數字
定義返回角度的餘切。
範例
COT(PI( ) /4) = 1
說明另請參閱 ATANTANPI。若要將角度從度數轉換為弧度,請使用 RADIANS

DEGREES

語法DEGREES(number)

數字引數是以弧度表示的角度。

輸出數字(度)
定義將以弧度表示的角度轉換為度數。
範例
DEGREES(PI( )/4) = 45.0
說明

反函數 RADIANS 取得以度表示的角度,並傳回以弧度表示的角度。

另請參閱 PI()

DIV

語法DIV(integer1, integer2)
輸出整數
定義傳回將 <integer1> 除以 <integer2> 的除法運算的整數部分。
範例
DIV(11,2) = 5

EXP

語法EXP(number)
輸出數字
定義傳回 e 的給定 <number> 次方。
範例
EXP(2) = 7.389
EXP(-[Growth Rate]*[Time])
說明另請參閱 LN

FLOOR

語法FLOOR(number)
輸出整數
定義將數字四捨五入為值相等或更小的最近 <number>
範例
FLOOR(7.9) = 7
說明另請參閱 CEILINGROUND
資料庫限制

FLOOR 可透過以下連接器使用:Microsoft Excel、文字檔案、統計檔案、已發佈資料來源、Amazon EMR Hadoop Hive、Cloudera Hadoop、DataStax Enterprise、Google Analytics (分析)、Google BigQuery、Hortonworks Hadoop Hive、MapR Hadoop Hive、Microsoft SQL Server、Salesforce、Spark SQL。

HEXBINX

語法HEXBINX(number, number)
輸出數字
定義將 x、y 座標對應到最接近的六邊形資料桶的 x 座標。資料桶的邊長為 1,因此,可能需要相應地縮放輸入。
範例
HEXBINX([Longitude]*2.5, [Latitude]*2.5)
說明HEXBINX HEXBINY 是用於六邊形資料桶的分桶和標繪函數。六邊形資料桶是對 x/y 平面(例如地圖)中的資料進行視覺化的有效而簡潔的選項。由於資料桶是六邊形的,因此每個資料桶都非常近似於一個圓,並最大程度地減少了從資料點到資料桶中心的距離變化。這使得聚類分析更加準確並且能提供有用的資訊。

HEXBINY

語法HEXBINY(number, number)
輸出數字
定義將 x、y 座標對應到最接近的六邊形資料桶的 y 座標。資料桶的邊長為 1,因此,可能需要相應地縮放輸入。
範例
HEXBINY([Longitude]*2.5, [Latitude]*2.5)
說明另請參閱 HEXBINX

LN

語法LN(number)
輸出

數字

若引數小於或等於 0,則輸出為 Null

定義傳回 <number> 的自然對數。
範例
LN(50) = 3.912023005
說明另請參閱 EXPLOG

LOG

語法LOG(number, [base])

若可選的底數引數不存在,則使用底數 10。

輸出數字
定義返回數字以給定底數為底的對數。
範例
LOG(16,4) = 2
說明另請參閱 POWER LN

MAX

語法MAX(expression)MAX(expr1, expr2)
輸出與引數相同的資料類型,若引數的任何部分為 NULL,則為 NULL 
定義

傳回兩個引數中的最大值,這兩個引數必須具有相同的資料類型。

MAX 也可以作為彙總套用於單一欄位。

範例
MAX(4,7) = 7
MAX(#3/25/1986#, #2/20/2021#) = #2/20/2021#
MAX([Name]) = "Zander"
說明

對於字串

MAX 通常是按字母順序排列在最後的值。

對於資料庫資料來源,MAX 字串值是資料庫為欄定義的排序順序中的最高值。

對於日期

對於日期,MAX 為最近的日期。若 MAX 為彙總,結果將沒有日期階層。若 MAX 為比較,結果將保留日期階層。

作為彙總

MAX(expression) 為彙總函數,會傳回單一彙總結果。這在視覺效果中顯示為 AGG(expression)

作為比較

MAX(expr1, expr2) 會比較兩個值,並傳回一個列層級值。

另請參閱 MIN

MIN

語法MIN(expression)MIN(expr1, expr2)
輸出與引數相同的資料類型,若引數的任何部分為 NULL,則為 NULL 
定義

傳回兩個引數(必須為相同資料類型)的最小值。

MIN 也可以作為彙總套用於單一欄位。

範例
MIN(4,7) = 4
MIN(#3/25/1986#, #2/20/2021#) = #3/25/1986#
MIN([Name]) = "Abebi"
說明

對於字串

MIN 通常是按字母順序排列在最前面的值。

對於資料庫資料來源,MIN 字串值是資料庫為欄定義的排序順序中的最低值。

對於日期

對於日期,MIN 為最早的日期。如果 MIN 是彙總,結果不會有日期階層。如果 MIN 是比較,結果將保留日期階層。

作為彙總

MIN(expression) 為彙總函數,會傳回單一彙總結果。這在視覺效果中顯示為 AGG(expression)

作為比較

MIN(expr1, expr2) 會比較兩個值,並傳回一個列層級值。

另請參閱 MAX

PI

語法PI()
輸出數字
定義傳回數字常數 pi:3.14159...
範例
PI() = 3.14159
說明對於以弧度為輸入的三角函數很有用。另請參閱 RADIANS

POWER

語法POWER(number, power)
輸出數字
定義計算 <number> 的指定 <power> 次方。
範例
POWER(5,3) = 125
POWER([Temperature], 2)
說明也可以使用 ^ 符號,例如 5^3 = POWER(5,3) = 125

另請參閱 EXPLOGSQUARE

RADIANS

語法RADIANS(number)
輸出數字(以弧度表示的角度)
定義將給定的 <number> 從度數轉換為弧度。
範例
RADIANS(180) = 3.14159
說明反函數 DEGREES 取得以弧度表示的角度,並傳回以度表示的角度。

ROUND

語法ROUND(number, [decimals])
輸出數字
定義

<number> 四捨五入到指定的位數。

可選的 decimals 引數指定最終結果中要包含的小數位數精度。若省略 decimals,則數字將四捨五入到最近的整數。

範例
ROUND(1/3, 2) = 0.33
說明

某些資料庫(例如 SQL Server)允許指定負長度,其中 -1 將數字四捨五入為 10 位數,-2 將數字四捨五入為 100 位數,依此類推。此功能並不適用於所有資料庫。例如,Excel 和 Access 不具備此功能。

提示:由於 ROUND 可能會因數字的基本浮點標記法而遇到問題(例如 9.405 四捨五入為 9.40),因此最好將數字格式化為所需的小數位數,而不是四捨五入。將 9.405 格式化為兩位小數將得到預期的 9.41。

另請參閱 CEILINGFLOOR

SIGN

語法SIGN(number)
輸出-1、0 或 1
定義傳回 <number> 的符號:若數字為負,則傳回的值可能為 -1;若數字為零,則為 0;若數字為正,則為 1。
範例
SIGN(AVG(Profit)) = -1
說明另請參閱 ABS

SIN

語法SIN(number)

數字引數是以弧度表示的角度。

輸出數字
定義返回角度的正弦。
範例
SIN(0) = 1.0
SIN(PI( )/4) = 0.707106781186548
說明

反函數 ASIN 以正弦作為引數,並傳回以弧度表示的角度。

另請參閱 PI。若要將角度從度數轉換為弧度,請使用 RADIANS

SQRT

語法SQRT(number)
輸出數字
定義傳回 <number> 的平方根。
範例
SQRT(25) = 5
說明另請參閱 SQUARE

SQUARE

語法SQUARE(number)
輸出數字
定義傳回 <number> 的平方。
範例
SQUARE(5) = 25
說明另請參閱 SQRTPOWER

TAN

語法TAN(number)

數字引數是以弧度表示的角度。

輸出數字
定義返回角度的正切。
範例
TAN(PI ( )/4) = 1.0
說明另請參閱 ATANATAN2COTPI。若要將角度從度數轉換為弧度,請使用 RADIANS

ZN

語法ZN(expression)
輸出任意,或 o
定義

<expression> 不為 NULL,則傳回該運算式,否則傳回零。

使用此函數可將 NULL 值取代為零。

範例
ZN(Grade) = 0
說明在計算中使用可能包含 NULL 的欄位時,這是一個非常有用的函數。用 ZN 包裝欄位可以防止因 NULL 計算而導致的錯誤。
字串函數

ASCII

語法ASCII(string)
輸出數字
定義傳回 <string> 的第一個字元的 ASCII 碼。
範例
ASCII('A') = 65
說明這是 CHAR 函數的反函數。

字元

語法CHAR(number)
輸出字串
定義返回透過 ASCII 代碼 <number> 編碼的字元。
範例
CHAR(65) = 'A'
說明這是 ASCII 函數的反函數。

CONTAINS

語法CONTAINS(string, substring)
輸出布林值
定義如果給定字串包含指定子字串,則返回 true。
範例
CONTAINS("Calculation", "alcu") = true
說明另請參閱 邏輯函數(連結在新視窗開啟) IN 以及額外函數文件(連結在新視窗開啟)中支援的正規表式。

ENDSWITH

語法ENDSWITH(string, substring)
輸出布林值
定義如果給定字串以指定子字串結尾,則返回 true。會忽略尾隨空格。
範例
ENDSWITH("Tableau", "leau") = true
說明另請參閱額外函數文件(連結在新視窗開啟)中支援的正規表式。

FIND

語法FIND(string, substring, [start])
輸出數字
定義

傳回子字串在字串中的索引位置,如果未找到子字串則傳回 0。字串中第一個字元的位置為 1。

如果新增了可選引數 start,則函數會忽略在開始位置之前出現的任何子字串執行個體。

範例
FIND("Calculation", "alcu") = 2
FIND("Calculation", "Computer") = 0
FIND("Calculation", "a", 3) = 7
FIND("Calculation", "a", 2) = 2
FIND("Calculation", "a", 8) = 0
說明另請參閱額外函數文件(連結在新視窗開啟)中支援的正規表式。

FINDNTH

語法FINDNTH(string, substring, occurrence)
輸出數字
定義返回指定字串內的第 n 個子字串的位置,其中 n 由 occurrence 參數定義。
範例
FINDNTH("Calculation", "a", 2) = 7
說明

FINDNTH 對於所有資料來源都不可用。

另請參閱額外函數文件(連結在新視窗開啟)中支援的正規表式。

LEFT

語法 LEFT(string, number)
輸出字串
定義傳回字串最左側 <number> 的字元。
範例
LEFT("Matador", 4) = "Mata"
說明另請參閱 MIDRIGHT

LEN

語法LEN(string)
輸出數字
定義返回字串長度。
範例
LEN("Matador") = 7
說明不要與空間函數(連結在新視窗開啟) LENGTH 混淆。

LOWER

語法LOWER(string)
輸出字串
定義傳回提供的 <string>,且全為小寫字元。
範例
LOWER("ProductVersion") = "productversion"
說明另請參閱 UPPERPROPER

LTRIM

語法 LTRIM(string)
輸出字串
定義傳回移除所有前導空格的 <string>
範例
LTRIM(" Matador ") = "Matador "
說明另請參閱 RTRIM

MAX

語法MAX(expression)MAX(expr1, expr2)
輸出與引數相同的資料類型,若引數的任何部分為 NULL,則為 NULL 
定義

傳回兩個引數(必須為相同資料類型)中的較大值。

MAX 也可以作為彙總套用於單一欄位。

範例
MAX(4,7) = 7
MAX(#3/25/1986#, #2/20/2021#) = #2/20/2021#
MAX([Name]) = "Zander"
說明

對於字串

MAX 通常是按字母順序排在最後的值。

對於資料庫資料來源,MAX 字串值是資料庫為欄定義的排序順序中的最高值。

對於日期

對於日期,MAX 是最近的日期。如果 MAX 是彙總,結果不會有日期階層。如果 MAX 是比較,結果將保留日期階層。

作為彙總

MAX(expression) 為彙總函數,會傳回單一彙總結果。這在視覺效果中顯示為 AGG(expression)

作為比較

MAX(expr1, expr2) 會比較兩個值,並傳回一個列層級值。

另請參閱 MIN

MID

語法(MID(string, start, [length])
輸出字串
定義

傳回從指定的 start 位置開始的字串。字串中第一個字元的位置為 1。

如果新增了可選數字參數 length,則傳回的字串僅包含該數字的字元。

範例
MID("Calculation", 2) = "alculation"
MID("Calculation", 2, 5) ="alcul"
說明另請參閱額外函數文件(連結在新視窗開啟)中支援的正規表式。

MIN

語法MIN(expression)MIN(expr1, expr2)
輸出與引數相同的資料類型,若引數的任何部分為 NULL,則為 NULL 
定義

傳回兩個引數(必須為相同資料類型)的最小值。

MIN 也可以作為彙總套用於單一欄位。

範例
MIN(4,7) = 4
MIN(#3/25/1986#, #2/20/2021#) = #3/25/1986#
MIN([Name]) = "Abebi"
說明

對於字串

MIN 通常是按字母順序排列在最前面的值。

對於資料庫資料來源,MIN 字串值是資料庫為欄定義的排序順序中的最低值。

對於日期

對於日期,MIN 是最早的日期。如果 MIN 是彙總,結果不會有日期階層。如果 MIN 是比較,結果將保留日期階層。

作為彙總

MIN(expression) 為彙總函數,會傳回單一彙總結果。這在視覺效果中顯示為 AGG(expression)

作為比較

MIN(expr1, expr2) 會比較兩個值,並傳回一個列層級值。

另請參閱 MAX

PROPER

語法PROPER(string)
輸出字串
定義

傳回提供的 <string>,其中每個單字的第一個字母大寫,其餘字母小寫。

範例
PROPER("PRODUCT name") = "Product Name"
PROPER("darcy-mae") = "Darcy-Mae"
說明

空格和非英數字元(如標點符號)也用作分隔符號。

另請參閱 LOWERUPPER

資料庫限制PROPER 僅適用於某些一般檔案和擷取。若您需要在不提供支援的資料來源中使用 PROPER,請考慮使用擷取。

REPLACE

語法REPLACE(string, substring, replacement
輸出字串
定義<string> 中搜尋 <substring> 並將其替換為 <replacement>。如果未找到 <substring>,則字串保持不變。
範例
REPLACE("Version 3.8", "3.8", "4x") = "Version 4x"
說明另請參閱在額外函數文件(連結在新視窗開啟)中的 REGEXP_REPLACE

RIGHT

語法RIGHT(string, number)
輸出字串
定義傳回字串最右側 <number> 的字元。
範例
RIGHT("Calculation", 4) = "tion"
說明另請參閱 LEFTMID

RTRIM

語法RTRIM(string)
輸出字串
定義傳回移除所有尾端空格的 <string>
範例
RTRIM(" Calculation ") = " Calculation"
說明另請參閱 LTRIMTRIM

SPACE

語法SPACE(number)
輸出字串(具體來說,只是空格)
定義傳回由指定數量的重複空格組成的字串。
範例
SPACE(2) = "  "

SPLIT

語法SPLIT(string, delimiter, token number)
輸出字串
定義返回字串中的一個子字串,並使用分隔符號號字元將字串分為一系列標記。
範例
SPLIT ("a-b-c-d", "-", 2) = "b"
SPLIT ("a|b|c|d", "|", -2) = "c"
說明

字串將被解釋為分隔符號號和標記的交替序列。因此,對於字串 abc-defgh-i-jkl,其中分隔符號字元為「-」,標記為 (1) abc、(2) defgh、(3) i 和 (4) jlk

SPLIT 傳回與標記編號對應的標記。如果標記編號為正,則從字串的左側開始計算標記;如果標記編號為負,則從右側開始計算標記。

另請參閱額外函數文件(連結在新視窗開啟)中支援的正規表式。

資料庫限制

可以為以下資料來源類型使用拆分和自訂拆分命令:Tableau 資料擷取、Microsoft Excel、文字檔、PDF 檔、Salesforce、OData、Microsoft Azure Market Place、Google Analytics (分析)、Vertica、Oracle、MySQL、PostgreSQL、Teradata、Amazon Redshift、Aster Data、Google Big Query、Cloudera Hadoop Hive、Hortonworks Hive 和 Microsoft SQL Server。

某些資料來源在拆分字串時會有限制。請參閱本主題後面的 SPLIT 函數限制。

STARTSWITH

語法STARTSWITH(string, substring)
輸出布林值
定義如果 stringsubstring 開頭,則返回 true。會忽略前導空格。
範例
STARTSWITH("Matador, "Ma") = TRUE
說明另請參閱 CONTAINS,以及額外功能文件(連結在新視窗開啟)中支援的正規表式。

TRIM

語法TRIM(string)
輸出字串
定義傳回提供的 <string>,且移除前導和尾端空格。
範例
TRIM(" Calculation ") = "Calculation"
說明另請參閱 LTRIMRTRIM

UPPER

語法UPPER(string)
輸出字串
定義傳回提供的 <string>,且全為大寫字元。
範例
UPPER("Calculation") = "CALCULATION"
說明另請參閱 PROPERLOWER
日期函數

Tableau 中的許多日期函數都採用引數 date_part,它是一個字串常數,告訴函數要考慮日期的哪一部分,例如日、週、季度等。可以使用的有效 date_part 值包括:

date_part
'year'四位數年份
'quarter'1-4
'month'1-12 或「一月」、「二月」等
'dayofyear'一年中的第幾天;1 月 1 日為 1、2 月 1 日為 32,依此類推
'day'1-31
'weekday'1-7 或「週日」、「週一」等
'week'1-52
'hour'0-23
'minute'0-59
'second'0-60
'iso-year'4 位數 ISO 8601 年份
'iso-quarter'1-4
'iso-week'1-52,一週的開始始終是週一
'iso-weekday'1-7,一週的開始始終是週一

附註:日期函數不考慮設定的會計年度開始。請參閱會計日期

DATE

將字串和數字運算式轉換為日期的類型轉換函式,只要它們是可識別的格式。

語法DATE(expression)
輸出日期
定義在指定數字、字串或日期 <expression> 的情況下傳回日期。
範例
DATE([Employee Start Date])
DATE("September 22, 2018") 
DATE("9/22/2018")
DATE(#2018-09-22 14:52#)
說明

DATEPARSE 不同,不需要提供模式,因為 DATE 會自動識別許多標準日期格式。但是,如果 DATE 無法識別輸入,請嘗試使用 DATEPARSE 並指定格式。

MAKEDATE 是另一個類似的函式,但 MAKEDATE 需要輸入年、月和日的數值。

DATEADD

將指定數量的日期部分(月、日等)添加到開始日期。

語法DATEADD(date_part, interval, date)
輸出日期
定義傳回新增 <interval> 至該日期指定 <date_part><date>。例如,將開始日期新增三個月或 12 天。
範例

將所有到期日期推遲一週

DATEADD('week', 1, [due date])

在 2021 年 2 月 20 日的基礎上增加 280 天

DATEADD('day', 280, #2/20/21#) = #November 27, 2021#
說明支援 ISO 8601 日期。

DATEDIFF

傳回兩個日期之間的日期部分數(週、年等)。

語法DATEDIFF(date_part, date1, date2, [start_of_week])
輸出整數
定義返回 <date1><date2n> 之差(以 <date_part> 的單位表示)。例如,減去某人進入和離開樂隊的日期,以查看他們留在樂隊中的時間。
範例

1986 年 3 月 25 日至 2021 年 2 月 20 日之間的天數

DATEDIFF('day', #3/25/1986#, #2/20/2021#) = 12,751

一個人在樂隊里呆了多少個月

DATEDIFF('month', [date joined band], [date left band])
說明支援 ISO 8601 日期。

DATENAME

將指定日期部分的名稱作為離散字串傳回。

語法DATENAME(date_part, date, [start_of_week])
輸出字串
定義以字串的形式返回 <date><date_part>
範例
DATENAME('year', #3/25/1986#) = "1986"
DATENAME('month', #1986-03-25#) = "March"
說明

支援 ISO 8601 日期。

DATEPART 是非常相似的計算,它將指定日期部分的值作為連續整數傳回。DATEPART 可以更快,因為它是數字運算。

透過變更計算結果的屬性(維度或度量、連續或離散)和日期格式,可以將 DATEPARTDATENAME 的結果格式設定為相同。

DATEPARSE 是反函數,它會接受字串值並將其格式化為日期。

DATEPARSE

將特定格式的字串作為日期傳回。

語法DATEPARSE(date_format, date_string)
輸出日期
定義<date_format> 引數會描述 <date_string> 欄位的排列方式。由於字串欄位的排序方式可以多種多樣,因此 <date_format> 必須完全符合。有關完整詮釋,請參閱將欄位轉換為日期欄位(連結在新視窗開啟)
範例
DATEPARSE('yyyy-MM-dd', "1986-03-25") = #March 25, 1986#
說明

DATE 是一個類似的函數,可以自動識別許多標準日期格式。如果 DATE 無法識別輸入模式,則 DATEPARSE 可能是更好的選擇。

MAKEDATE 是另一個類似的函式,但 MAKEDATE 需要輸入年、月和日的數值。

將日期分開並傳回其部分值的反函數是 DATEPART(整數輸出)和 DATENAME(字串輸出)。

資料庫限制

DATEPARSE 可透過以下連接器獲得:非舊版 Excel 和文字檔連線、Amazon EMR Hadoop Hive、Cloudera Hadoop、Google 試算表、Hortonworks Hadoop Hive、MapR Hadoop Hive、MySQL、Oracle、PostgreSQL 以及 Tableau 資料擷取。有些格式可能並非適用於所有連線。

Hive 變體不支援 DATEPARSE。僅支援 Denodo、Drill 和 Snowflake。

DATEPART

將指定日期部分的名稱作為整數傳回。

語法DATEPART(date_part, date, [start_of_week])
輸出整數
定義以整數的形式返回 <date><date_part>
範例
DATEPART('year', #1986-03-25#) = 1986
DATEPART('month', #1986-03-25#) = 3
說明

支援 ISO 8601 日期。

DATENAME 是非常相似的計算,它將指定日期部分的名稱作為離散字串傳回。DATEPART 可以更快,因為它是數字運算。透過變更欄位的屬性(維度或度量、連續或離散)和日期格式,可以將 DATEPARTDATENAME 的結果格式設定為相同。

DATEPARSE 是反函數,它會接受字串值並將其格式化為日期。

DATETRUNC

這個函式可以被認為是日期四捨五入。它需要一個特定的日期並以所需的特異性傳回該日期的版本。因為每個日期都必須具有日、月、季度和年的值,所以 DATETRUNC 將值設定為每個日期部分的最小值,直到指定的日期部分。請參閱該範例了解更多資訊。

語法DATETRUNC(date_part, date, [start_of_week])
輸出日期
定義<date_part> 指定的準確度截斷 <date>。此函式傳回新日期。例如,以月份層級截斷處於月份中間的日期時,此函式傳回當月的第一天。
範例
DATETRUNC('day', #9/22/2018#) = #9/22/2018#
DATETRUNC('iso-week', #9/22/2018#) = #9/17/2018#

(包含 2018 年 9 月 22 日的那一週中的星期一)

DATETRUNC(quarter, #9/22/2018#) = #7/1/2018# 

(包含 9/22/2018 的那個季度的第一天)

附註:如果是週和 ISO 週數,則使用 start_of_week。ISO 週數始終從星期一開始。對於此範例的地區設定,未指定 start_of_week 表示該週從星期日開始。

說明

支援 ISO 8601 日期。

您不該使用 DATETRUNC 來停止在視覺效果中顯示日期時間欄位的時間。如果要截斷日期的顯示而不是捨入其準確性,請調整格式(連結在新視窗開啟)

例如,DATETRUNC('day', #5/17/2022 3:12:48 PM#) ,如果在視覺效果中格式化為顯示秒數,將顯示為 5/17/2022 12:00:00 AM

DAY

以整數的形式傳回月份的天 (1-31)。

語法DAY(date)
輸出整數
定義以整數的形式傳回給定 <date> 的天。
範例
Day(#September 22, 2018#) = 22
說明另請參閱 WEEKMONTH季度YEAR,以及 ISO 等值。

ISDATE

檢查字串是否是有效的日期格式。

語法ISDATE(string)
輸出布林值
定義如果給定 <string> 為有效日期,則傳回 true。
範例
ISDATE(09/22/2018) = true
ISDATE(22SEP18) = false
說明必需的參數必須是字串。ISDATE 不能用於具有日期資料類型的欄位 - 計算將傳回錯誤。

ISOQUARTER

語法ISOQUARTER(date)
輸出整數
定義以整數形式傳回給定 <date> 基於 ISO8601 週的季度。
範例
ISOQUARTER(#1986-03-25#) = 1
說明另請參閱 ISOWEEKISOWEEKDAYISOYEAR,以及非 ISO 等值。

ISOWEEK

語法ISOWEEK(date)
輸出整數
定義以整數形式傳回給定 <date> 基於 ISO8601 週的週。
範例
ISOWEEK(#1986-03-25#) = 13
說明另請參閱 ISOWEEKDAYISOQUARTERISOYEAR,以及非 ISO 等值。

ISOWEEKDAY

語法ISOWEEKDAY(date)
輸出整數
定義以整數形式傳回給定 <date> 基於 ISO8601 週的平日。
範例
ISOWEEKDAY(#1986-03-25#) = 2
說明另請參閱 ISOWEEKISOQUARTERISOYEAR,以及非 ISO 等值。

ISOYEAR

語法ISOYEAR(date)
輸出整數
定義以整數形式傳回給定 <date> 基於 ISO8601 週的年。
範例
ISOYEAR(#1986-03-25#) = 1,986
說明另請參閱 ISOWEEKISOWEEKDAYISOQUARTER,以及非 ISO 等值。

MAKEDATE

語法MAKEDATE(year, month, day)
輸出日期
定義傳回一個依據指定 <year><monthg><day> 構造的日期值。
範例
MAKEDATE(1986,3,25) = #1986-03-25#
說明

請注意:輸入錯誤的值會被調整成日期,例如 MAKEDATE(2020,4,31) = May 1, 2020,而不是傳回沒有 4 月 31 日的錯誤。

可用於 Tableau 擷取。檢查在其他資料來源中的可用性。

MAKEDATE 需要日期部分的數字輸入。如果您的資料是一個應該是日期的字串,請嘗試使用 DATE 函數。DATE 自動識別許多標準日期格式。如果 DATE 無法識別輸入,請嘗試使用 DATEPARSE

MAKEDATETIME

語法MAKEDATETIME(date, time)
輸出日期時間
定義傳回合併 <date><time> 的日期時間。日期可以是 date、datetime 或 string 類型。時間必須是 datetime。
範例
MAKEDATETIME("1899-12-30", #07:59:00#) = #12/30/1899 7:59:00 AM#
MAKEDATETIME([Date], [Time]) = #1/1/2001 6:00:00 AM#
說明

附注:此功能僅適用於與 MySQL 相容的連線(對於 Tableau 為 MySQL 和 Amazon Aurora)。

MAKETIME 為可用於 Tableau 資料擷取和其他一些資料來源的類似函數。

MAKETIME

語法MAKETIME(hour, minute, second)
輸出日期時間
定義傳回一個依據指定 <hour><minute><second> 構造的日期值。
範例
MAKETIME(14, 52, 40) = #1/1/1899 14:52:40#
說明

由於 Tableau 不支援時間資料類型,僅支援日期時間,因此輸出為日期時間。該欄位的日期部分將是 1/1/1899。

MAKEDATETIME 類似的函數,僅適用於 MYSQL 相容的連線。

MAX

語法MAX(expression)MAX(expr1, expr2)
輸出與引數相同的資料類型,若引數的任何部分為 NULL,則為 NULL
定義

傳回兩個引數(必須為相同資料類型)中的較大值。

MAX 也可以作為彙總套用於單一欄位。

範例
MAX(4,7) = 7
MAX(#3/25/1986#, #2/20/2021#) = #2/20/2021#
MAX([Name]) = "Zander"
說明

對於字串

MAX 通常是按字母順序排在最後的值。

對於資料庫資料來源,MAX 字串值是資料庫為欄定義的排序順序中的最高值。

對於日期

對於日期,MAX 是最近的日期。如果 MAX 是彙總,結果不會有日期階層。如果 MAX 是比較,結果將保留日期階層。

作為彙總

MAX(expression) 為彙總函數,會傳回單一彙總結果。這在視覺效果中顯示為 AGG(expression)

作為比較

MAX(expr1, expr2) 會比較兩個值,並傳回一個列層級值。

另請參閱 MIN

MIN

語法MIN(expression)MIN(expr1, expr2)
輸出與引數相同的資料類型,若引數的任何部分為 NULL,則為 NULL 
定義

傳回兩個引數(必須為相同資料類型)的最小值。

MIN 也可以作為彙總套用於單一欄位。

範例
MIN(4,7) = 4
MIN(#3/25/1986#, #2/20/2021#) = #3/25/1986#
MIN([Name]) = "Abebi"
說明

對於字串

MIN 通常是按字母順序排列在最前面的值。

對於資料庫資料來源,MIN 字串值是資料庫為欄定義的排序順序中的最低值。

對於日期

對於日期,MIN 是最早的日期。如果 MIN 是彙總,結果不會有日期階層。如果 MIN 是比較,結果將保留日期階層。

作為彙總

MIN(expression) 為彙總函數,會傳回單一彙總結果。這在視覺效果中顯示為 AGG(expression)

作為比較

MIN(expr1, expr2) 會比較兩個值,並傳回一個列層級值。

另請參閱 MAX

MONTH

語法MONTH(date)
輸出整數
定義以整數的形式傳回給定 <date> 的月份。
範例
MONTH(#1986-03-25#) = 3
說明另請參閱 DAYWEEK季度YEAR,以及 ISO 等值

NOW

語法NOW()
輸出日期時間
定義傳回目前本機系統日期和時間。
範例
NOW() = 1986-03-25 1:08:21 PM
說明

NOW 沒有採用引數。

另請參閱 TODAY,這是一個類似的計算,它傳回日期而不是日期時間。

如果資料來源是即時連線,則係統日期和時間可能位於另一個時區。有關如何聯接資料的詳情,請參閱知識庫

季度

語法QUARTER(date)
輸出整數
定義以整數的形式傳回給定 <date> 的季度。
範例
QUARTER(#1986-03-25#) = 1
說明另請參閱 DAYWEEKMONTHYEAR,以及 ISO 等值

TODAY

語法TODAY()
輸出日期
定義傳回目前本機系統日期。
範例
TODAY() = 1986-03-25
說明

TODAY 沒有採用引數。

另請參閱 NOW,這是一個類似的計算,它傳回日期時間而不是日期。

如果資料來源是即時連線,則係統日期可能位於另一個時區。有關如何聯接資料的詳情,請參閱知識庫

WEEK

語法WEEK(date)
輸出整數
定義以整數的形式傳回給定 <date> 的週。
範例
WEEK(#1986-03-25#) = 13
說明另請參閱 DAYMONTH季度YEAR,以及 ISO 等值

YEAR

語法YEAR(date)
輸出整數
定義以整數的形式傳回給定 <date> 的年份。
範例
YEAR(#1986-03-25#) = 1,986
說明另請參閱 DAYWEEKMONTH季度,以及 ISO 等值
邏輯函數

AND

語法<expr1> AND <expr2>
定義對兩個運算式執行邏輯合取運算。(如果雙方都為 true,則邏輯測試傳回 true。)
輸出布林值(TRUE 或 FALSE)
範例
IF [Season] = "Spring" AND "[Season] = "Fall" 
THEN "It's the apocalypse and footwear doesn't matter"
END

「若(Season = Spring [季節 = 春季])和(Season = Fall [季節 = 秋季])同時為 TRUE,則傳回 It's the apocalypse and footwear doesn't matter [現在是世界末日,穿什麼鞋無關緊要]。」

說明

經常與 IFIIF 一起使用。另請參閱 NOT或者

若兩個運算式均為 TRUE(即非 FALSENULL),則結果為 TRUE。如果任一運算式為 NULL,則結果為 NULL。在所有其他情況下,結果都為 FALSE

若您建立一個計算,其中 AND 比較的結果顯示在工作表上,則 Tableau 會顯示 TRUEFALSE。如果要變更此情況,請使用設定格式對話方塊中的「設定格式」區域。

附註AND 運算子採用短路計算。這表示如果第一個運算式計算為 FALSE,則根本不會計算第二個運算式。如果第二個運算式在第一個運算式為 FALSE 時產生錯誤,則這可能十分有用,因為在這種情況下從不計算第二個運算式。

CASE

語法CASE <expression>
WHEN <value1> THEN <then1>
WHEN <value2> THEN <then2>
...
[ELSE <default>]
END
輸出取決於 <then> 值的資料類型。
定義

計算 expression,並將其與指定選項(<value1><value2> 等)進行比較。遇到與運算式相符的 value 時,CASE 會傳回對應的 return。若未找到符合值,則傳回(可選)預設值。若沒有預設值且沒有值符合,則傳回 NULL。

範例
CASE [Season] 
WHEN 'Summer' THEN 'Sandals'
WHEN 'Winter' THEN 'Boots'
ELSE 'Sneakers'
END

「讓我們來看看 Season [季節] 欄位。若值為 Summer [夏季],則傳回 Sandals [涼鞋]。若值為 Winter [冬季],則傳回 Boots [靴子]。若計算中的選項均不符合 Season [季節] 欄位中的選項,則傳回 Sneakers [運動鞋]。」

說明

另請參閱 IFIIF

WHENyou can rerun the query or viewELSEEND 一起使用。

提示:很多時候,可以使用群組來取得與複雜的 CASE 函數相同的結果,或者使用 CASE 來取代原生分組功能,例如前面的範例。您可能想要測試哪種方法更適合您的情境。

ELSE

語法CASE <expression>
WHEN <value1> THEN <then1>
WHEN <value2> THEN <then2>
...
[ELSE <default>]
END
定義IFCASE 運算式的可選部分,用於指定在所有測試運算式均不為 TRUE 時傳回的預設值。
範例
IF [Season] = "Summer" THEN 'Sandals' 
ELSEIF [Season] = "Winter" THEN 'Boots'
ELSE 'Sneakers' 
END
CASE [Season] 
WHEN 'Summer' THEN 'Sandals'
WHEN 'Winter' THEN 'Boots'
ELSE 'Sneakers'
END
說明

CASEWHENIFELSEIFyou can rerun the query or viewEND 一起使用

ELSECASEIF 的可選項。在未指定 ELSE 的計算中,若沒有一個 <test> 為 TRUE,則整個計算將傳回 NULL。

ELSE 不需要條件(例如 [Season] = "Winter"),可以視為一種 NULL 處理形式。

ELSEIF

語法[ELSEIF <test2> THEN <then2>]
定義IF 運算式的可選部分,用於指定初始 IF 以外的附加條件。
範例
IF [Season] = "Summer" THEN 'Sandals' 
ELSEIF [Season] = "Winter" THEN 'Boots'
ELSEIF [Season] = "Spring" THEN 'Sneakers'
ELSEIF [Season] = "Autumn" THEN 'Sneakers'
ELSE 'Bare feet'
END
說明

IFyou can rerun the query or viewELSEEND 一起使用

ELSEIF 可以被認為是額外的 IF 子句。ELSEIF 為可選項,並且可以重複多次。

ELSE 不同,ELSEIF 需要一個條件(例如 [Season] = "Winter")。

END

定義用於關閉 IFCASE 運算式。
範例
IF [Season] = "Summer" THEN 'Sandals' 
ELSEIF [Season] = "Winter" THEN 'Boots'
ELSE 'Sneakers' 
END

「若 Season = Summer [季節 = 夏季],則傳回 Sandals [涼鞋]。如果不是,請看下一個運算式。若 Season = Winter [季節 = 冬季],則傳回 Boots [靴子]。若兩個運算式均不為 TRUE,則傳回 Sneakers [運動鞋]。」

CASE [Season] 
WHEN 'Summer' THEN 'Sandals'
WHEN 'Winter' THEN 'Boots'
ELSE 'Sneakers'
END

「讓我們來看看 Season [季節] 欄位。若值為 Summer [夏季],則傳回 Sandals [涼鞋]。若值為 Winter [冬季],則傳回 Boots [靴子]。若計算中的選項均不符合 Season [季節] 欄位中的選項,則傳回 Sneakers [運動鞋]。」

說明

CASEWHENIFELSEIFyou can rerun the query or viewELSE 一起使用。

IF

語法IF <test1> THEN <then1>
[ELSEIF <test2> THEN <then2>...]
[ELSE <default>]
END
輸出取決於 <then> 值的資料類型。
定義

測試一系列運算式,並為第一個為 TRUE 的 <test> 傳回 <then> 值。

範例
IF [Season] = "Summer" THEN 'Sandals' 
ELSEIF [Season] = "Winter" THEN 'Boots'
ELSE 'Sneakers' 
END

「若 Season = Summer [季節 = 夏季],則傳回 Sandals [涼鞋]。若不是,查看下一個運算式。若 Season = Winter [季節 = 冬季],則傳回 Boots [靴子]。若兩個運算式均不為 TRUE,則傳回 Sneakers [運動鞋]。」

說明

另請參閱 IFIIF

ELSEIFyou can rerun the query or viewELSEEND 一起使用

IFNULL

語法IFNULL(expr1, expr2)
輸出取決於 <expr> 值的資料類型。
定義

<expr1> 不為 NULL,則傳回該運算式,否則傳回 <expr2>

範例
IFNULL([Assigned Room], "TBD")

「如果『指派的房間』欄位不是 Null,傳回其值。如果『指派的房間』欄位為 Null,則傳回 TBD。」

說明

ISNULL 進行比較。IFNULL 會始終傳回一個值。ISNULL 會傳回一個布林值(TRUE 或 FALSE)。

另請參閱 ZN

IIF

語法IIF(<test>, <then>, <else>, [<unknown>])
輸出取決於運算式中值的資料類型。
定義檢查是否符合條件(<test>),若測試為 TRUE,則傳回 <then>;若測試為 FALSE,則傳回 <else>;若測試為 NULL,則傳回 <unknown> 的可選值。若未指定可選的 unknown,則 IIF 傳回 NULL。
範例
IIF([Season] = 'Summer', 'Sandals', 'Other footwear')

「若 Season = Summer [季節 = 夏季],則傳回 Sandals [涼鞋]。若不是,傳回其他鞋類」

IIF([Season] = 'Summer', 'Sandals', 
IIF('Season' = 'Winter', 'Boots', 'Other footwear')
)

「若 Season = Summer [季節 = 夏季],則傳回 Sandals [涼鞋]。如果不是,請看下一個運算式。若 Season = Winter [季節 = 冬季],則傳回 Boots [靴子]。若兩者均不為 TRUE,則傳回『運動鞋』。」

IIF('Season' = 'Summer', 'Sandals', 
IIF('Season' = 'Winter', 'Boots',
IIF('Season' = 'Spring', 'Sneakers', 'Other footwear')
)
)

「若 Season = Summer [季節 = 夏季],則傳回 Sandals [涼鞋]。如果不是,請看下一個運算式。若 Season = Winter [季節 = 冬季],則傳回 Boots [靴子]。若兩個運算式均不為 TRUE,則傳回 Sneakers [運動鞋]。」

說明

另請參閱 IFCASE

IIF 沒有與 ELSEIF 等效的項(如 IF)或重複的 WHEN 子句(如 CASE)。相反,可以透過將 IIF 陳述式巢套為 <unknown> 元素來按順序計算多個測試。系統會傳回第一個(最外面的)TRUE。

也就是說,在下面的計算中,結果將為 Red [紅色],而不是 Orange [橙色],因為一旦 A=A 計算為 TRUE,運算式就會停止計算:

IIF('A' = 'A', 'Red', IIF('B' = 'B', 'Orange', IIF('C' = 'D', 'Yellow', 'Green')))

IN

語法<expr1> IN <expr2>
輸出布林值(TRUE 或 FALSE)
定義<expr1> 中的任何值與 <expr2> 中的任何值相符,則傳回 TRUE
範例
SUM([Cost]) IN (1000, 15, 200)

「『成本』欄位的值是 1000、15 還是 200?」

[Field] IN [Set]

「該欄位的值是否存在於集合中?」

說明

<expr2> 中的值可以為固定的常值清單或合併欄位。

另請參閱 WHEN

ISDATE

語法ISDATE(string)
輸出布林值(TRUE 或 FALSE)
定義<string> 為有效日期,則傳回 TRUE。輸入運算式必須為字串(文字)欄位。
範例
ISDATE("2018-09-22")

「字串 2018-09-22 是否為格式正確的日期?」

說明

是否被視為有效日期取決於對計算進行求值之系統的地區設定(連結在新視窗開啟)。例如:

在美國:

  • ISDATE("2018-09-22") = TRUE
  • ISDATE("2018-22-09") = FALSE

在英國:

  • ISDATE("2018-09-22") = FALSE
  • ISDATE("2018-22-09") = TRUE

ISNULL

語法ISNULL(expression)
輸出布林值(TRUE 或 FALSE)
定義

<expression> 為 NULL(不包含有效資料),則傳回 TRUE。

範例
ISNULL([Assigned Room])

「『指派的房間』欄位是否為 Null?」

說明

IFNULL 進行比較。IFNULL 會始終傳回一個值。ISNULL 傳回布林值。

另請參閱 ZN

MAX

語法MAX(expression)MAX(expr1, expr2)
輸出與引數相同的資料類型,若引數的任何部分為 NULL,則為 NULL 
定義

傳回兩個引數中的最大值,這兩個引數必須具有相同的資料類型。

MAX 也可以作為彙總套用於單一欄位。

範例
MAX(4,7) = 7
MAX(#3/25/1986#, #2/20/2021#) = #2/20/2021#
MAX([Name]) = "Zander"
說明

對於字串

MAX 通常是按字母順序排在最後的值。

對於資料庫資料來源,MAX 字串值是資料庫為欄定義的排序順序中的最高值。

對於日期

對於日期,MAX 是最近的日期。如果 MAX 是彙總,結果不會有日期階層。如果 MAX 是比較,結果將保留日期階層。

作為彙總

MAX(expression) 為彙總函數,會傳回單一彙總結果。這在視覺效果中顯示為 AGG(expression)

作為比較

MAX(expr1, expr2) 會比較兩個值,並傳回一個列層級值。

另請參閱 MIN

MIN

語法MIN(expression)MIN(expr1, expr2)
輸出與引數相同的資料類型,若引數的任何部分為 NULL,則為 NULL 
定義

傳回兩個引數(必須為相同資料類型)的最小值。

MIN 也可以作為彙總套用於單一欄位。

範例
MIN(4,7) = 4
MIN(#3/25/1986#, #2/20/2021#) = #3/25/1986#
MIN([Name]) = "Abebi"
說明

對於字串

MIN 通常是按字母順序排列在最前面的值。

對於資料庫資料來源,MIN 字串值是資料庫為欄定義的排序順序中的最低值。

對於日期

對於日期,MIN 是最早的日期。如果 MIN 是彙總,結果不會有日期階層。若 MIN 為比較,結果將保留日期階層。

作為彙總

MIN(expression) 為彙總函數,會傳回單一彙總結果。這在視覺效果中顯示為 AGG(expression)

作為比較

MIN(expr1, expr2) 會比較兩個值,並傳回一個列層級值。

另請參閱 MAX

NOT

語法NOT <expression>
輸出布林值(TRUE 或 FALSE)
定義對一個運算式執行邏輯非運算。
範例
IF NOT [Season] = "Summer" 
THEN 'Don't wear sandals'
ELSE 'Wear sandals' 
END

「如果『季節』不等於『夏天』,就傳回『不要』穿涼鞋。如果不是,就傳回『穿』涼鞋。」

說明

常與 IFIIF 一起使用。另請參閱 DATE或者

或者

語法<expr1> OR <expr2>
輸出布林值(TRUE 或 FALSE)
定義對兩個運算式執行邏輯析取操作。
範例
IF [Season] = "Spring" OR [Season] = "Fall" 
THEN "Sneakers"
END

「如果 (Season = Spring) 或 (Season = Fall) 為 true,則傳回 Sneakers。」

說明

常與 IFIIF 一起使用。另請參閱 DATENOT

如果任一運算式為 TRUE,則結果為 TRUE。如果兩個運算式都為 FALSE,則結果為 FALSE。如果兩個運算式都為 NULL,則結果為 NULL

若您建立的計算在工作表上顯示 OR 比較的結果,則 Tableau 將顯示 TRUE 和 FALSE。如果要變更此情況,請使用設定格式對話方塊中的「設定格式」區域。

附註OR 運算子採用短路計算。這表示如果第一個運算式計算為 TRUE,則根本不會計算第二個運算式。如果第二個運算式在第一個運算式為 TRUE 時產生錯誤,則這可能十分有用,因為在這種情況下從不計算第二個運算式。

you can rerun the query or view

語法IF <test1> THEN <then1>
[ELSEIF <test2> THEN <then2>...]
[ELSE <default>]
END
定義IFELSEIFCASE 運算式的必要部分,用於定義在特定值或測試為 TRUE 時傳回的結果。
範例
IF [Season] = "Summer" THEN 'Sandals' 
ELSEIF [Season] = "Winter" THEN 'Boots'
ELSE 'Sneakers' 
END

「若 Season = Summer [季節 = 夏季],則傳回 Sandals [涼鞋]。如果不是,請看下一個運算式。若 Season = Winter [季節 = 冬季],則傳回 Boots [靴子]。若兩個運算式均不為 TRUE,則傳回 Sneakers [運動鞋]。」

CASE [Season] 
WHEN 'Summer' THEN 'Sandals'
WHEN 'Winter' THEN 'Boots'
ELSE 'Sneakers'
END

「讓我們來看看 Season [季節] 欄位。若值為 Summer [夏季],則傳回 Sandals [涼鞋]。若值為 Winter [冬季],則傳回 Boots [靴子]。若計算中的選項均不符合 Season [季節] 欄位中的選項,則傳回 Sneakers [運動鞋]。」

說明

CASEWHENIFELSEIFyou can rerun the query or viewELSEEND 一起使用

WHEN

語法CASE <expression>
WHEN <value1> THEN <then1>
WHEN <value2> THEN <then2>
...
[ELSE <default>]
END
定義CASE 運算式的必需部分。尋找第一個與 <expression> 相符的 <value>,並傳回對應的 <then>
範例
CASE [Season] 
WHEN 'Summer' THEN 'Sandals'
WHEN 'Winter' THEN 'Boots'
ELSE 'Sneakers'
END

「讓我們來看看 Season [季節] 欄位。若值為 Summer [夏季],則傳回 Sandals [涼鞋]。若值為 Winter [冬季],則傳回 Boots [靴子]。若計算中的選項均不符合 Season [季節] 欄位中的選項,則傳回 Sneakers [運動鞋]。」

說明

CASEyou can rerun the query or viewELSEEND 一起使用。

CASE 也支援 WHEN IN 建構,例如:

CASE <expression> 
WHEN IN <set1> THEN <then1>
WHEN IN <combinedfield> THEN <then2>
...
ELSE <default>
END

WHEN IN 比較的值必須是集合、常值清單或合併欄位。另請參閱 IN

ZN

語法ZN(expression)
輸出取決於 <expression> 的資料類型,或為 0。
定義若 <expression> 不為 NULL,則傳回該運算式,否則傳回 0。
範例
ZN([Test Grade])

「若測驗成績不為 NULL,則傳回其值。若測驗成績為 NULL,則傳回 0。」

說明

ZNIFNULL 的特殊情況,其中若運算式為 NULL,則替代項始終為 0,而不是在計算中指定。

ZN 在執行額外計算時特別有用,並且 NULL 會讓整個計算為 NULL。但是,請謹慎,將這些結果解譯為 NULL 並不總是與 0 同義,並且可能表示缺失資料。

另請參閱 ISNULL

彙總函式

ATTR

語法ATTR(expression)
定義如果它的所有列都有一個值,則返回該運算式的值。否則返回星號。會忽略 Null 值。

AVG

語法AVG(expression)
定義返回運算式中所有值的平均值。會忽略 Null 值。
說明AVG 只能用於數字欄位。

收集

語法COLLECT(spatial)
定義將參數欄位中的值組合在一起的彙總計算。會忽略 Null 值。
說明COLLECT 只能用於空間欄位。

CORR

語法CORR(expression1, expression2)
輸出從 -1 到 1 的數字
定義返回兩個運算式的皮爾森相關係數。
範例
example
說明

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

CORR 結果的平方等於線性趨勢線模型的 R 平方值。請參閱趨勢線模型術語(連結在新視窗開啟)

與表範圍 LOD 運算式一起使用:

您可以使用 CORR 來視覺化分解散點中的關聯性 表範圍的詳細資料層級運算式(連結在新視窗開啟)。例如:

{CORR(Sales, Profit)}

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

資料庫限制

CORR 適用於以下資料來源:Tableau 資料擷取、Cloudera Hive、EXASolution、Firebird(版本 3.0 及更高版本)、Google BigQuery、Hortonworks Hadoop Hive、IBM PDA (Netezza)、Oracle、PostgreSQL、Presto、SybaseIQ、Teradata、Vertica。

對於其他資料來源,請考慮擷取資料或使用 WINDOW_CORR。請參閱表計算函數(連結在新視窗開啟)

COUNT

語法COUNT(expression)
定義傳回項目數量。不對 Null 值計數。

COUNTD

語法COUNTD(expression)
定義返回群組中不同項目的數量。不對 Null 值計數。

COVAR

語法COVAR(expression1, expression2)
定義傳回兩個運算式的樣本共變異數。
說明

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

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

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

資料庫限制

COVAR 適用於以下資料來源:Tableau 資料擷取、Cloudera Hive、EXASolution、Firebird(版本 3.0 及更高版本)、Google BigQuery、Hortonworks Hadoop Hive、IBM PDA (Netezza)、Oracle、PostgreSQL、Presto、SybaseIQ、Teradata、Vertica。

對於其他資料來源,請考慮擷取資料或使用 WINDOW_COVAR。請參閱表計算函數(連結在新視窗開啟)

COVARP

語法COVARP(expression 1, expression2)
定義傳回兩個運算式的母體共變異數。
說明

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

如果 <expression1><expression2> 相同 — 例如 COVARP([profit], [profit])COVARP 將傳回一個值,指明值分佈的廣泛程度。附註:COVARP(X, X) 附註:的值等於 VARP(X) 的值,也等於 STDEVP(X)^2 的值。

資料庫限制

COVARP 適用於以下資料來源:Tableau 資料擷取、Cloudera Hive、EXASolution、Firebird(版本 3.0 及更高版本)、Google BigQuery、Hortonworks Hadoop Hive、IBM PDA (Netezza)、Oracle、PostgreSQL、Presto、SybaseIQ、Teradata、Verez

對於其他資料來源,請考慮擷取資料或使用 WINDOW_COVAR。請參閱表計算函數(連結在新視窗開啟)

MAX

語法MAX(expression)MAX(expr1, expr2)
輸出與引數相同的資料類型,若引數的任何部分為 NULL,則為 NULL 
定義

傳回兩個引數中的最大值,這兩個引數必須具有相同的資料類型。

MAX 也可以作為彙總套用於單一欄位。

範例
MAX(4,7) = 7
MAX(#3/25/1986#, #2/20/2021#) = #2/20/2021#
MAX([Name]) = "Zander"
說明

對於字串

MAX 通常是按字母順序排在最後的值。

對於資料庫資料來源,MAX 字串值是資料庫為欄定義的排序順序中的最高值。

對於日期

對於日期,MAX 是最近的日期。如果 MAX 是彙總,結果不會有日期階層。如果 MAX 是比較,結果將保留日期階層。

作為彙總

MAX(expression) 為彙總函數,會傳回單一彙總結果。這在視覺效果中顯示為 AGG(expression)

作為比較

MAX(expr1, expr2) 會比較兩個值,並傳回一個列層級值。

另請參閱 MIN

MEDIAN

語法MEDIAN(expression)
定義返回運算式在所有記錄中的中位數。會忽略 Null 值。
說明MEDIAN 只能用於數字欄位。
資料庫限制

MEDIAN 適用於下列資料來源:Access、Amazon Redshift、Cloudera Hadoop、HP Vertica、IBM DB2、IBM PDA (Netezza)、Microsoft SQL Server、MySQL、SAP HANA、Teradata。

對於其他資料來源類型,可以將資料擷取到擷取檔案以使用此函數。請參閱擷取您的資料(連結在新視窗開啟)

MIN

語法MIN(expression)MIN(expr1, expr2)
輸出與引數相同的資料類型,若引數的任何部分為 NULL,則為 NULL 
定義

傳回兩個引數(必須為相同資料類型)的最小值。

MIN 也可以作為彙總套用於單一欄位。

範例
MIN(4,7) = 4
MIN(#3/25/1986#, #2/20/2021#) = #3/25/1986#
MIN([Name]) = "Abebi"
說明

對於字串

MIN 通常是按字母順序排列在最前面的值。

對於資料庫資料來源,MIN 字串值是資料庫為欄定義的排序順序中的最低值。

對於日期

對於日期,MIN 是最早的日期。如果 MIN 是彙總,結果不會有日期階層。如果 MIN 是比較,結果將保留日期階層。

作為彙總

MIN(expression) 為彙總函數,會傳回單一彙總結果。這在視覺效果中顯示為 AGG(expression)

作為比較

MIN(expr1, expr2) 會比較兩個值,並傳回一個列層級值。

另請參閱 MAX

PERCENTILE

語法PERCENTILE(expression, number)
定義從給定運算式傳回與指定 <number> 對應的百分位數值。<number> 必須介於 0 到 1 之間(含 0 和 1)並且必須是數字常數。
範例
PERCENTILE([Score], 0.9)
說明 
資料庫限制

此功能適用於以下資料來源:非舊版 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)
定義返回運算式中所有值的總計。會忽略 Null 值。
說明SUM 只能用於數字欄位。

VAR

語法VAR(expression)
定義基於群體樣本返回給定運算式中所有值的統計變異數。

VARP

語法VARP(expression)
定義對整個群體返回給定運算式中所有值的統計變異數。
使用者函數

FULLNAME( )

語法FULLNAME( )
輸出字串
定義

返回目前使用者的全名。

範例
FULLNAME( )

這樣會傳回已登入的使用者的全名,例如「Hamlin Myrer」。

[Manager] = FULLNAME( )

如果經理「Hamlin Myrer」已登入,則僅檢視中的「經理」欄位包含「Hamlin Myrer」時,此範例才會傳回 TRUE。

說明

此函數會檢查:

  • Tableau CloudTableau Server:已登入的使用者的全名
  • Tableau Desktop:使用者的本機或網路全名

使用者篩選器

用作篩選器時,計算欄位(例如 [Username field] = FULLNAME( ))可用於建立使用者篩選器,該篩選器僅顯示與登入伺服器的人員相關的資料。

ISFULLNAME

語法ISFULLNAME("User Full Name")
輸出布林值
定義

如果目前使用者的全名與指定的全名相符,傳回 TRUE;如果不相符,則傳回 FALSE

範例
ISFULLNAME("Hamlin Myrer")
說明

<"User Full Name"> 引數必須為文字字串,而不是欄位。

此函數會檢查:

  • Tableau CloudTableau Server:登入使用者的全名
  • Tableau Desktop:使用者的本機或網路全名

ISMEMBEROF

語法ISMEMBEROF("Group Name")
輸出布林值或 NULL
定義

若目前使用 Tableau 的人員是與指定字串相符的群組的成員,則傳回 TRUE;若不是成員,則傳回 FALSE;若未登入,則傳回 NULL

範例
ISMEMBEROF('Superstars')
ISMEMBEROF('domain.lan\Sales')
說明

<"Group Full Name"> 引數必須為文字字串,而不是欄位。

若使用者已登入 Tableau CloudTableau Server,則群組成員資格由 Tableau 群組決定。若指定字串是「All Users」,則函數將傳回 TRUE

ISMEMBEROF( ) 函數也接受 Active Directory 網域。必須使用群組名稱在計算中宣告 Active Directory 網域。

若對使用者的群組成員資格進行變更,則基於群組成員資格的資料變更會反映在具有新工作階段的工作簿或檢視中。現有工作階段將反映過時資料。

ISUSERNAME

語法ISUSERNAME("username")
輸出布林值
定義若目前使用者的使用者名稱與指定的使用者名稱相符,則傳回 TRUE;若不相符,則傳回 FALSE
範例
ISUSERNAME("hmyrer")
說明

<"username"> 引數必須為文字字串,而不是欄位。

此函數會檢查:

  • Tableau CloudTableau Server:登入使用者的使用者名稱
  • Tableau Desktop:使用者的本機或網路使用者名稱

USERDOMAIN( )

語法USERDOMAIN( )
輸出字串
定義傳回目前使用者的網域。
說明

此函數會檢查:

  • Tableau CloudTableau Server:登入使用者的使用者網域
  • Tableau Desktop:本機網域(若使用者位於網域上)

USERNAME( )

語法USERNAME( )
輸出字串
定義返回目前使用者的使用者名。
範例
USERNAME( )

此函數會傳回登入使用者的使用者名稱,例如「hmyrer」。

[Manager] = USERNAME( )

若經理「hmyrer」已登入,則僅當檢視中的「經理」欄位包含「hmyrer」時,此範例才會傳回 TRUE。

說明

此函數會檢查:

  • Tableau CloudTableau Server:登入使用者的使用者名稱
  • Tableau Desktop:使用者的本機或網路使用者名稱

使用者篩選器

用作篩選器時,計算欄位(例如 [Username field] = USERNAME( ))可用於建立使用者篩選器,該篩選器僅顯示與登入伺服器的人員相關的資料。

USERATTRIBUTE

附註:僅適用於在 Tableau Cloud 中內嵌工作流程。有關詳情,請參閱驗證和內嵌檢視(連結在新視窗開啟)

語法USERATTRIBUTE('attribute_name')
輸出字串或 NULL
定義

<'attribute_name'> 是傳遞給 Tableau 的 JSON Web 權杖 (JWT) 的一部分,則計算將傳回 <'attribute_name'> 的第一個值。

<'attribute_name'> 不存在,則會傳回 NULL。

範例

假設「Region」是 JWT 中包含的使用者屬性,並使用站台管理員已設定的已連線用程式傳遞給 Tableau。

作為工作簿作者,可以將視覺效果設定為根據指定區域篩選資料。在該篩選器中,可以參考以下計算。

[Region] = USERATTRIBUTE("Region")

來自西部區域的使用者 2 檢視內嵌視覺效果時,Tableau 僅顯示西部區域的適當資料。

說明若想要 <'attribute_name'> 傳回多個值,則可以使用 USERATTRIBUTEINCLUDES 函數。

USERATTRIBUTEINCLUDES

附註:僅適用於在 Tableau Cloud 中內嵌工作流程。有關詳情,請參閱驗證和內嵌檢視(連結在新視窗開啟)

語法USERATTRIBUTEINCLUDES('attribute_name', 'expected_value')
輸出布林值
定義

若以下兩個條件均為 TRUE,則傳回 TRUE

  • <'attribute_name'> 是傳遞給 Tableau 的 JSON Web 權杖 (JWT) 的一部分
  • <'attribute_name'> 的其中一個值等於 <'expected_value'>

否則傳回 FALSE

範例

假設「Region」是 JWT 中包含的使用者屬性,並使用站台管理員已設定的已連線用程式傳遞給 Tableau。

作為工作簿作者,可以將視覺效果設定為根據指定區域篩選資料。在該篩選器中,可以參考以下計算。

USERATTRIBUTEINCLUDES('Region', [Region])

若來自西部區域的使用者 2 存取內嵌視覺效果,Tableau 將檢查 Region 使用者屬性是否與 [Region] 欄位值之一相符。若為 true,可視化會顯示適當資料。

來自北部區域的使用者 3 存取相同的視覺效果時,她無法看到任何資料,因為與 [Region] 欄位值不相符。

表計算

FIRST( )


返回從目前列到分區中第一列的列數。例如,以下的檢視顯示每季度銷售額。在 Date 分區中計算 FIRST() 時,第一列與第二列之間的偏移為 -1。

範例

目前列索引為 3 時,FIRST() = -2

INDEX( )


返回分區中目前列的索引,不包含與值有關的任何排序。第一個列索引從 1 開始。例如,下表顯示每季度銷售額。當在 Date 分區中計算 INDEX() 時,各列的索引分別為 1、2、3、4 等。

範例

對於分區中的第三列,INDEX() = 3

LAST( )


返回從目前列到分區中最後一列的列數。例如,下表顯示每季度銷售額。在 Date 分區中計算 LAST() 時,最後一列與第二列之間的偏移為 5。

範例

目前列索引為 3(共 7 列)時,LAST() = 4

LOOKUP(expression, [offset])


返回目標列(指定為與目前列的相對偏移)中運算式的值。使用 FIRST() + n 和 LAST() - n 作為相對於分區中第一列/最後一列的目標偏移量定義的一部分。如果省略了 offset,則可以在欄位功能表上設定要比較的列。如果無法確定目標列,則此函數返回 NULL。

以下的檢視顯示每季度銷售額。當在 Date 分區中計算 LOOKUP (SUM(Sales), 2) 時,每列都會顯示接下來 2 個季度的銷售額值。

範例

LOOKUP(SUM([Profit]), FIRST()+2) 計算分區第三列中的 SUM(Profit)。

MODEL_EXTENSION_BOOL(model_name、引數、運算式)


傳回由部署在 TabPy 外部服務上的命名模型計算的運算式的布林結果。

Model_name 是要使用的已部署分析模型的名稱。

每個參數都是一個字串,用於設定部署模型接受的輸入值,並由分析模型定義。

使用運算式定義從 Tableau 傳送到分析模型的值。請務必使用彙總函數(SUM、AVG 等)來彙總結果。

使用函數時,運算式的資料類型和順序必須與輸入參數的資料類型和順序相符。

範例

MODEL_EXTENSION_BOOL ("isProfitable","inputSales", "inputCosts", SUM([Sales]), SUM([Costs]))

MODEL_EXTENSION_INT(model_name、引數、運算式)


傳回由部署在 TabPy 外部服務上的命名模型計算的運算式的整數結果。

Model_name 是要使用的已部署分析模型的名稱。

每個參數都是一個字串,用於設定部署模型接受的輸入值,並由分析模型定義。

使用運算式定義從 Tableau 傳送到分析模型的值。請務必使用彙總函數(SUM、AVG 等)來彙總結果。

使用函數時,運算式的資料類型和順序必須與輸入參數的資料類型和順序相符。

範例

MODEL_EXTENSION_INT ("getPopulation", "inputCity", "inputState", MAX([City]), MAX ([State]))

MODEL_EXTENSION_REAL(model_name、引數、運算式)


傳回由部署在 TabPy 外部服務上的命名模型計算的運算式的實數結果。

Model_name 是要使用的已部署分析模型的名稱。

每個參數都是一個字串,用於設定部署模型接受的輸入值,並由分析模型定義。

使用運算式定義從 Tableau 傳送到分析模型的值。請務必使用彙總函數(SUM、AVG 等)來彙總結果。

使用函數時,運算式的資料類型和順序必須與輸入參數的資料類型和順序相符。

範例

MODEL_EXTENSION_REAL ("profitRatio", "inputSales", "inputCosts", SUM([Sales]), SUM([Costs]))

MODEL_EXTENSION_STRING(model_name、引數、運算式)


傳回由部署在 TabPy 外部服務上的命名模型計算的運算式的字串結果。

Model_name 是要使用的已部署分析模型的名稱。

每個參數都是一個字串,用於設定部署模型接受的輸入值,並由分析模型定義。

使用運算式定義從 Tableau 傳送到分析模型的值。請務必使用彙總函數(SUM、AVG 等)來彙總結果。

使用函數時,運算式的資料類型和順序必須與輸入參數的資料類型和順序相符。

範例

MODEL_EXTENSION_STR ("mostPopulatedCity", "inputCountry", "inputYear", MAX ([Country]), MAX([Year]))

MODEL_PERCENTILE(target_expression, predictor_expression(s))


傳回預期值的概率(介於 0 和 1 之間)小於或等於目標運算式和其他預測值定義的觀測標記。這是後驗預測分佈函數,也稱為累積分佈函數 (CDF)。

此函數是 MODEL_QUANTILE 的反函數。有關預測建模函數的資訊,請參閱預測建模函數在 Tableau 中的運作方式

範例

以下公式可傳回銷售額總合標記的分位數,並根據訂單數進行調整。

MODEL_PERCENTILE(SUM([Sales]), COUNT([Orders]))

MODEL_QUANTILE(quantile, target_expression, predictor_expression(s))


在指定的分位數傳回目標運算式和其他預測值定義的可能範圍內的目標數值。這是後驗預測分位數。

此函數是 MODEL_PERCENTILE 的反函數。有關預測建模函數的資訊,請參閱預測建模函數在 Tableau 中的運作方式

範例

以下公式可傳回預測銷售額總和的中位數 (0.5),並根據訂單數進行調整。

MODEL_QUANTILE(0.5, SUM([Sales]), COUNT([Orders]))

PREVIOUS_VALUE(expression)


返回此計算在上一列中的值。如果目前列是分區的第一列,則返回給定運算式。

範例

SUM([Profit]) * PREVIOUS_VALUE(1) 計算 SUM(Profit) 的執行產品。

RANK(expression, ['asc' | 'desc'])


返回分區中目前列的標準競爭排名。為相同的值指派相同的排名。使用可選的 'asc' | 'desc' 參數指定昇冪或降冪順序。預設為降冪。

利用此函數,將對值集 (6, 9, 9, 14) 進行排名 (4, 2, 2, 1)。

在排名函數中,會忽略 Null。它們不進行編號,且不計入百分位排名計算的總記錄數中。

有關不同排名選項的資訊,請參閱排名計算

範例

下圖顯示對一組值執行各種排名函數(RANK、RANK_DENSE、RANK_MODIFIED、RANK_PERCENTILE 和 RANK_UNIQUE)的效果。資料集包含 14 名學生(StudentA 到 StudentN)的相關資訊;「Age」欄顯示每個學生的目前年齡(所有學生都介於 17 歲和 20 歲之間)。其餘的欄會顯示每個排名函數對年齡值集的影響,並始終假定函數的預設順序(昇冪或降冪)。

RANK_DENSE(expression, ['asc' | 'desc'])


返回分區中目前列的密集排名。為相同的值指派相同的排名,但不會向數字序列中插入間距。使用可選的 'asc' | 'desc' 參數指定昇冪或降冪順序。預設為降冪。

利用此函數,將對值集 (6, 9, 9, 14) 進行排名 (3, 2, 3, 1)。

在排名函數中,會忽略 Null。它們不進行編號,且不計入百分位排名計算的總記錄數中。

有關不同排名選項的資訊,請參閱排名計算

RANK_MODIFIED(expression, ['asc' | 'desc'])


返回分區中目前列的調整後競爭排名。為相同的值指派相同的排名。使用可選的 'asc' | 'desc' 參數指定昇冪或降冪順序。預設為降冪。

利用此函數,將對值集 (6, 9, 9, 14) 進行排名 (4, 3, 3, 1)。

在排名函數中,會忽略 Null。它們不進行編號,且不計入百分位排名計算的總記錄數中。

有關不同排名選項的資訊,請參閱排名計算

RANK_PERCENTILE(expression, ['asc' | 'desc'])


返回分區中目前列的百分位排名。使用可選的 'asc' | 'desc' 參數指定昇冪或降冪順序。預設為昇冪。

利用此函數對對值集 (6, 9, 9, 14) 進行排名 (0.00, 0.67, 0.67, 1.00)。

在排名函數中,會忽略 Null。它們不進行編號,且不計入百分位排名計算的總記錄數中。

有關不同排名選項的資訊,請參閱排名計算

RANK_UNIQUE(expression, ['asc' | 'desc'])


返回分區中目前列的唯一排名。為相同的值指派相同的排名。使用可選的 'asc' | 'desc' 參數指定昇冪或降冪順序。預設為降冪。

利用此函數,將對值集 (6, 9, 9, 14) 進行排名 (4, 2, 3, 1)。

在排名函數中,會忽略 Null。它們不進行編號,且不計入百分位排名計算的總記錄數中。

有關不同排名選項的資訊,請參閱排名計算

RUNNING_AVG(expression)


返回給定運算式從分區中第一列到目前列的執列平均值。

以下的檢視顯示每季度銷售額。當在 Date 分區中計算 RUNNING_AVG(SUM([Sales]) 時,結果為每個季度的銷售額值的執行平均值。

範例

RUNNING_AVG(SUM([Profit])) 計算 SUM(Profit) 的執行平均值。

RUNNING_COUNT(expression)


返回給定運算式從分區中第一列到目前列的執行計數。

範例

RUNNING_COUNT(SUM([Profit])) 計算 SUM(Profit) 的執行計數。

RUNNING_MAX(expression)


返回給定運算式從分區中第一列到目前列的執行最大值。

範例

RUNNING_MAX(SUM([Profit])) 計算 SUM(Profit) 的執行最大值。

RUNNING_MIN(expression)


返回給定運算式從分區中第一列到目前列的執行最小值。

範例

RUNNING_MIN(SUM([Profit])) 計算 SUM(Profit) 的執行最小值。

RUNNING_SUM(expression)


返回給定運算式從分區中第一列到目前列的執行總計。

範例

RUNNING_SUM(SUM([Profit])) 計算 SUM(Profit) 的執行總計

SIZE()


返回分區中的列數。例如,以下的檢視顯示每季度銷售額。在 Date 分區中有七列,因此 Date 分區的 Size() 為 7。

範例

目前分區包含五列時 SIZE() = 5

SCRIPT_BOOL


返回指定運算式的布林結果。運算式直接傳遞給執行的 Analytics 擴充服務執行個體。

在 R 運算式中,使用 .argn(帶前導句點)參考參數(.arg1、.arg2 等)。

在 Python 運算式中,使用 _argn(帶前導底線)。

範例

在此 R 範例中,.arg1 等於 SUM( [Profit]):

SCRIPT_BOOL("is.finite(.arg1)", SUM([Profit]))

對於華盛頓州中的商店 ID,下一範例返回 True,否則返回 False。此範例可以是標題為 IsStoreInWA 的計算欄位的定義。

SCRIPT_BOOL('grepl(".*_WA", .arg1, perl=TRUE)',ATTR([Store ID]))

Python 的命令將採用以下形式:

SCRIPT_BOOL("return map(lambda x : x > 0, _arg1)", SUM([Profit]))

SCRIPT_INT


返回指定運算式的整數結果。運算式直接傳遞給執行的 Analytics 擴充服務執行個體。

在 R 運算式中,使用 .argn(帶前導句點)參考參數(.arg1、.arg2 等)

在 Python 運算式中,使用 _argn(帶前導底線)。

範例

在此 R 範例中,.arg1 等於 SUM( [Profit]):

SCRIPT_INT("is.finite(.arg1)", SUM([Profit]))

在下一範例中,使用 k-means clustering 建立三個叢集:

SCRIPT_INT('result <- kmeans(data.frame(.arg1,.arg2,.arg3,.arg4), 3);result$cluster;', SUM([Petal length]), SUM([Petal width]),SUM([Sepal length]),SUM([Sepal width]))

Python 的命令將採用以下形式:

SCRIPT_INT("return map(lambda x : int(x * 5), _arg1)", SUM([Profit]))

SCRIPT_REAL


返回指定運算式的實數結果。運算式直接傳遞給執行的 Analytics 擴充服務執行個體。在

R 運算式中,使用 .argn(帶前導句點)參考參數(.arg1、.arg2 等)

在 Python 運算式中,使用 _argn(帶前導底線)。

範例

在此 R 範例中,.arg1 等於 SUM( [Profit]):

SCRIPT_REAL("is.finite(.arg1)", SUM([Profit]))

下一範例將溫度值從攝氏值轉換為華氏值。

SCRIPT_REAL('library(udunits2);ud.convert(.arg1, "celsius", "degree_fahrenheit")',AVG([Temperature]))

Python 的命令將採用以下形式:

SCRIPT_REAL("return map(lambda x : x * 0.5, _arg1)", SUM([Profit]))

SCRIPT_STR


返回指定運算式的字串結果。運算式直接傳遞給執行的 Analytics 擴充服務執行個體。

在 R 運算式中,使用 .argn(帶前導句點)參考參數(.arg1、.arg2 等)

在 Python 運算式中,使用 _argn(帶前導底線)。

範例

在此 R 範例中,.arg1 等於 SUM( [Profit]):

SCRIPT_STR("is.finite(.arg1)", SUM([Profit]))

下一範例將從更複雜的字串(採用原始格式 13XSL_CA, A13_WA)中擷取省名縮寫:

SCRIPT_STR('gsub(".*_", "", .arg1)',ATTR([Store ID]))

Python 的命令將採用以下形式:

SCRIPT_STR("return map(lambda x : x[:2], _arg1)", ATTR([Region]))

TOTAL(expression)


返回表計算分區內運算式的總計。

範例

假定您從此檢視開始:

您可以開啟計算編輯器並建立名為「總額」的新欄位。

然後可以將「總額」拖到「文字」上以替換 SUM(Sales)。您的檢視會發生變更,使其總計值基於預設的「計算依據」值:

這會產生問題,預設的「計算依據」值是什麼?如果在「資料」窗格中以右鍵按一下(在 Mac 上按一下 Control )「總額」,並選取「編輯」,則會提供一點額外的資訊:

預設的「計算依據」值是「表(橫穿)」。結果是,「總額」會匯總每個表列的值。因此,您看到的每一列的值是表原始版本中值的總和。

原始表內 2011/Q1 列中的值為 $8601、$6579、$44262 和 $15006。在「總額」替換 SUM(Sales) 之後,表中的值都為 $74,448,這是四個原始值的總和。

請注意,將「總額」拖到「文字」上之後「總額」旁邊會出現小三角:

這表明該欄位正在使用表計算。您可以以右鍵按一下欄位並選取「編輯表計算」,以將您的函數重定向到不同的「計算依據」值。例如,可以將其設定為「表(向下)」。在此情況下,您的表將如下所示:

WINDOW_AVG(expression, [start, end])


返回視窗中運算式的平均值。視窗用與目前列的偏移定義。使用 FIRST()+n 和 LAST()-n 表示與分區中第一列或最後一列的偏移。如果省略了開頭和結尾,則使用整個分區。

例如,以下的檢視顯示每季度銷售額。Date 分區中的視窗平均值返回所有日期間的平均銷售額。

範例

WINDOW_AVG(SUM([Profit]), FIRST()+1, 0) 計算從第二列到目前列的 SUM(Profit) 平均值。

WINDOW_CORR(expression1, expression2, [start, end])


返回視窗內兩個運算式的皮爾森相關係數。視窗定義為與目前列的偏移。使用 FIRST()+n 和 LAST()-n 表示與分區中第一列或最後一列的偏移。如果省略了 start 和 end,則使用整個分區。

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

有一個等效的彙總函式:CORR。請參閱 Tableau 函數(按字母順序)(連結在新視窗開啟)

範例

以下公式返回 SUM(Profit)SUM(Sales) 從前五列到目前列的皮爾森相關係數。

WINDOW_CORR(SUM[Profit]), SUM([Sales]), -5, 0)

WINDOW_COUNT(expression, [start, end])


返回視窗中運算式的計數。視窗用與目前列的偏移定義。使用 FIRST()+n 和 LAST()-n 表示與分區中第一列或最後一列的偏移。如果省略了開頭和結尾,則使用整個分區。

範例

WINDOW_COUNT(SUM([Profit]), FIRST()+1, 0) 計算從第二列到目前列的 SUM(Profit) 計數

WINDOW_COVAR(expression1, expression2, [start, end])


返回視窗內兩個運算式的樣本共變數。視窗定義為與目前列的偏移。使用 FIRST()+n 和 LAST()-n 表示與分區中第一列或最後一列的偏移。如果省略了 start 和 end 參數,則視窗為整個分區。

樣本共變數使用非空資料點的數量 n - 1 來規範化共變數計算,而不是使用總體共變數(及 WINDOW_COVARP 函數)所使用的 n。當資料是用於估算較大總體的共變數的隨機樣本時,則樣本共變數是合適的選取。

有一個等效的彙總函式:COVAR。請參閱 Tableau 函數(按字母順序)(連結在新視窗開啟)

範例

以下公式返回 SUM(Profit)SUM(Sales) 從前兩列到目前列的樣本共變數。

WINDOW_COVAR(SUM([Profit]), SUM([Sales]), -2, 0)

WINDOW_COVARP(expression1, expression2, [start, end])


返回視窗內兩個運算式的總體共變數。視窗定義為與目前列的偏移。使用 FIRST()+n 和 LAST()-n 表示與分區中第一列或最後一列的偏移。如果省略了 start 和 end,則使用整個分區。

母體共變異數為樣本共變異數乘以 (n-1)/n,其中 n 是非 null 資料點的總數。如果存在可用於所有相關項的資料,則母體共變異數是合適的選取,與之相反,在只有隨機項子集的情況下,樣本共變異數(及 WINDOW_COVAR 函數)較為適合。

有一個等效的彙總函式:COVARP。Tableau 函數(按字母順序)(連結在新視窗開啟)

範例

以下公式返回 SUM(Profit)SUM(Sales) 從前兩列到目前列的總體共變數。

WINDOW_COVARP(SUM([Profit]), SUM([Sales]), -2, 0)

WINDOW_MEDIAN(expression, [start, end])


返回視窗中運算式的中值。視窗用與目前列的偏移定義。使用 FIRST()+n 和 LAST()-n 表示與分區中第一列或最後一列的偏移。如果省略了開頭和結尾,則使用整個分區。

例如,以下的檢視顯示每季度利潤。Date 分區中的視窗中值返回所有日期的中值利潤。

範例

WINDOW_MEDIAN(SUM([Profit]), FIRST()+1, 0) 計算從第二列到目前列的 SUM(Profit) 中值。

WINDOW_MAX(expression, [start, end])


返回視窗中運算式的最大值。視窗用與目前列的偏移定義。使用 FIRST()+n 和 LAST()-n 表示與分區中第一列或最後一列的偏移。如果省略了開頭和結尾,則使用整個分區。

例如,以下的檢視顯示每季度銷售額。Date 分區中的視窗最大值返回所有日期間的最大銷售額。

範例

WINDOW_MAX(SUM([Profit]), FIRST()+1, 0) 計算從第二列到目前列的 SUM(Profit) 最大值。

WINDOW_MIN(expression, [start, end])


返回視窗中運算式的最小值。視窗用與目前列的偏移定義。使用 FIRST()+n 和 LAST()-n 表示與分區中第一列或最後一列的偏移。如果省略了開頭和結尾,則使用整個分區。

例如,以下的檢視顯示每季度銷售額。Date 分區中的視窗最小值返回所有日期間的最小銷售額。

範例

WINDOW_MIN(SUM([Profit]), FIRST()+1, 0) 計算從第二列到目前列的 SUM(Profit) 最小值。

WINDOW_PERCENTILE(expression, number, [start, end])


返回與視窗中指定百分位元相對應的值。視窗用與目前列的偏移定義。使用 FIRST()+n 和 LAST()-n 表示與分區中第一列或最後一列的偏移。如果省略了開頭和結尾,則使用整個分區。

範例

WINDOW_PERCENTILE(SUM([Profit]), 0.75, -2, 0) 返回 SUM(Profit) 的前面兩列到目前列的第 75 個百分位。

WINDOW_STDEV(expression, [start, end])


返回視窗中運算式的樣本標準差。視窗用與目前列的偏移定義。使用 FIRST()+n 和 LAST()-n 表示與分區中第一列或最後一列的偏移。如果省略了開頭和結尾,則使用整個分區。

範例

WINDOW_STDEV(SUM([Profit]), FIRST()+1, 0) 計算從第二列到目前列的 SUM(Profit) 標準差。

WINDOW_STDEVP(expression, [start, end])


返回視窗中運算式的有偏差標準差。視窗用與目前列的偏移定義。使用 FIRST()+n 和 LAST()-n 表示與分區中第一列或最後一列的偏移。如果省略了開頭和結尾,則使用整個分區。

範例

WINDOW_STDEVP(SUM([Profit]), FIRST()+1, 0) 計算從第二列到目前列的 SUM(Profit) 標準差。

WINDOW_SUM(expression, [start, end])


返回視窗中運算式的總計。視窗用與目前列的偏移定義。使用 FIRST()+n 和 LAST()-n 表示與分區中第一列或最後一列的偏移。如果省略了開頭和結尾,則使用整個分區。

例如,以下的檢視顯示每季度銷售額。Date 分區中計算的視窗總計返回所有季度的銷售額總計。

範例

WINDOW_SUM(SUM([Profit]), FIRST()+1, 0) 計算從第二列到目前列的 SUM(Profit) 總和。

WINDOW_VAR(expression, [start, end])


返回視窗中運算式的樣本變異數。視窗用與目前列的偏移定義。使用 FIRST()+n 和 LAST()-n 表示與分區中第一列或最後一列的偏移。如果省略了開頭和結尾,則使用整個分區。

範例

WINDOW_VAR((SUM([Profit])), FIRST()+1, 0) 計算從第二列到目前列的 SUM(Profit) 變異數。

WINDOW_VARP(expression, [start, end])


返回視窗中運算式的有偏差變異數。視窗用與目前列的偏移定義。使用 FIRST()+n 和 LAST()-n 表示與分區中第一列或最後一列的偏移。如果省略了開頭和結尾,則使用整個分區。

範例

WINDOW_VARP(SUM([Profit]), FIRST()+1, 0) 計算從第二列到目前列的 SUM(Profit) 變異數。

直通函數 (RAWSQL)

RAWSQL 直通函數可用於將 SQL 運算式直接傳送到資料庫,而不由 Tableau 進行解析。如果您有 Tableau 不能識別的自訂資料庫函數,則可以使用直通函式呼叫這些自訂函數。

您的資料庫通常不會理解在 Tableau 中顯示的欄位名稱。因為 Tableau 不會解釋包含在直通函數中的 SQL 運算式,所以在運算式中使用 Tableau 欄位名稱可能會導致錯誤。可以使用替換語法將用於 Tableau 計算的正確欄位名稱或運算式插入直通 SQL。例如,假設您有一個計算一組中值的函數,則可以對 Tableau 資料欄 [Sales] 呼叫該函數,如下所示:

RAWSQLAGG_REAL( [MEDIAN(%1)] , [Sales])

因為 Tableau 不解釋該運算式,所以您必須定義彙總。在使用彙總運算式時,可以使用下面描述的 RAWSQLAGG 函數。

若 RAWSQL 傳遞函數包含關係,則它們可能不適用於擷取或已發佈資料來源。

RAWSQL 函數

Tableau 中提供了以下 RAWSQL 函數。

RAWSQL_BOOL( [sql_expr] , [arg1], … [argN])


從給定 SQL 運算式返回布林結果。SQL 運算式直接傳遞給基礎資料庫。在 SQL 運算式中將 %n 用作資料庫值的替換語法。

範例

在範例中,%1 等於 [Sales],%2 等於 [Profit]。

RAWSQL_BOOL( [IIF( %1 > %2, True, False)] , [Sales], [Profit])

RAWSQL_DATE( [sql_expr] , [arg1], … [argN])


從給定 SQL 運算式返回日期結果。SQL 運算式直接傳遞給基礎資料庫。在 SQL 運算式中將 %n 用作資料庫值的替換語法。

範例

在下例中,%1 等於 [Order Date]。

RAWSQL_DATE(“%1”, [Order Date])

RAWSQL_DATETIME( [sql_expr] , [arg1], … [argN])


從給定 SQL 運算式返回日期和時間結果。SQL 運算式直接傳遞給基礎資料庫。在 SQL 運算式中將 %n 用作資料庫值的替換語法。在下例中,%1 等於 [Delivery Date]。

範例

RAWSQL_DATETIME( [MIN(%1)] , [Delivery Date])

RAWSQL_INT( [sql_expr] , [arg1], … [argN])


從給定 SQL 運算式返回整數結果。SQL 運算式直接傳遞給基礎資料庫。在 SQL 運算式中將 %n 用作資料庫值的替換語法。在下例中,%1 等於 [Sales]。

範例

RAWSQL_INT(“500 + %1”, [Sales])

RAWSQL_REAL( [sql_expr] , [arg1], … [argN])


從直接傳遞給基礎資料庫的給定 SQL 運算式返回數字結果。在 SQL 運算式中將 %n 用作資料庫值的替換語法。在下例中,%1 等於 [Sales]

範例

RAWSQL_REAL(“-123.98 * %1”, [Sales])

RAWSQL_SPATIAL


從直接傳遞給基礎資料來源的給定 SQL 運算式返回空間資料。在 SQL 運算式中將 %n 用作資料庫值的替換語法。

範例

在本例中,%1 等於 [Geometry]。

RAWSQL_SPATIAL("%1", [Geometry])

RAWSQL_STR( [sql_expr] , [arg1], … [argN])


從直接傳遞給基礎資料庫的給定 SQL 運算式返回字串。在 SQL 運算式中將 %n 用作資料庫值的替換語法。在下例中,%1 等於 [Customer Name]。

範例

RAWSQL_STR(“%1”, [Customer Name])

RAWSQLAGG_BOOL( [sql_expr] , [arg1], … [argN])


從給定彙總 SQL 運算式返回布林結果。SQL 運算式直接傳遞給基礎資料庫。在 SQL 運算式中將 %n 用作資料庫值的替換語法。

範例

在範例中,%1 等於 [Sales],%2 等於 [Profit]。

RAWSQLAGG_BOOL( [SUM( %1) >SUM( %2)] , [Sales], [Profit])

RAWSQLAGG_DATE( [sql_expr] , [arg1], … [argN])


從給定彙總 SQL 運算式返回日期結果。SQL 運算式直接傳遞給基礎資料庫。在 SQL 運算式中將 %n 用作資料庫值的替換語法。在下例中,%1 等於 [Order Date]。

範例

RAWSQLAGG_DATE(“MAX(%1)”, [Order Date])

RAWSQLAGG_DATETIME( [sql_expr] , [arg1], … [argN])


從給定彙總 SQL 運算式返回日期和時間結果。SQL 運算式直接傳遞給基礎資料庫。在 SQL 運算式中將 %n 用作資料庫值的替換語法。在下例中,%1 等於 [Delivery Date]。

範例

RAWSQLAGG_DATETIME(“MIN(%1)”, [Delivery Date])

RAWSQLAGG_INT( [sql_expr] , [arg1,] … [argN])


從給定彙總 SQL 運算式返回整數結果。SQL 運算式直接傳遞給基礎資料庫。在 SQL 運算式中將 %n 用作資料庫值的替換語法。在下例中,%1 等於 [Sales]。

範例

RAWSQLAGG_INT(“500 + SUM(%1)”, [Sales])

RAWSQLAGG_REAL( [sql_expr] , [arg1,] … [argN])


從直接傳遞給基礎資料庫的給定彙總 SQL 運算式返回數字結果。在 SQL 運算式中將 %n 用作資料庫值的替換語法。在下例中,%1 等於 [Sales]

範例

RAWSQLAGG_REAL(“SUM( %1)”, [Sales])

RAWSQLAGG_STR( [sql_expr] , [arg1,] … [argN])


從直接傳遞給基礎資料庫的給定彙總 SQL 運算式返回字串。在 SQL 運算式中將 %n 用作資料庫值的替換語法。在此範例中,%1 等於 [Discount]。

範例

RAWSQLAGG_STR(“AVG(%1)”, [Discount])

空間函數

空間函數允許您執行進階空間分析並將空間檔案與其他格式的資料(如文字檔案或試算表)相結合。

AREA

語法AREA(Spatial Polygon, 'units')
輸出數字
定義傳回 <spatial polygon> 的總表面積。
範例
AREA([Geometry], 'feet')
說明

支援的單位名稱(計算時必須用引號括起來,例如 'miles'):

  • 公尺:meters、metres、m
  • 公里:kilometers、kilometres、km
  • 英里:miles、mi
  • 英尺:feet、ft

BUFFER

語法BUFFER(Spatial Point, distance, 'units')

BUFFER(Linestring, distance, 'units')

  • 公尺:meters、metres、m
  • 公里:kilometers、kilometres、km
  • 英里:miles、mi
  • 英尺:feet、ft
輸出幾何圖形
定義

對於空間點,傳回以 <spatial point> 為中心的多邊形圖形,半徑由 <distance><unit> 值決定。

對於 Linestring,計算透過包含距 Linestring 的半徑距離內的所有點而形成的多邊形。

範例
BUFFER([Spatial Point Geometry], 25, 'mi')
BUFFER(MAKEPOINT(47.59, -122.32), 3, 'km')
BUFFER(MAKELINE(MAKEPOINT(0, 20),MAKEPOINT (30, 30)),20,'km'))
說明

支援的單位名稱(計算時必須用引號括起來,例如 'miles'):

  • 公尺:meters、metres、m
  • 公里:kilometers、kilometres、km
  • 英里:miles、mi
  • 英尺:feet、ft

DISTANCE

語法DISTANCE(SpatialPoint1, SpatialPoint2, 'units')
輸出數字
定義傳回指定 <unit> 中兩點之間的距離度量。
範例
DISTANCE([Origin Point],[Destination Point], 'km')
說明

支援的單位名稱(計算時必須用引號括起來,例如 'miles'):

  • 公尺:meters、metres、m
  • 公里:kilometers、kilometres、km
  • 英里:miles、mi
  • 英尺:feet、ft
資料庫限制此函數只能透過即時連線建立,但若資料來源轉換為擷取,則此函數將繼續工作。

INTERSECTS

語法INTERSECTS (geometry1, geometry2)
輸出布林值
定義傳回 TRUE 或 FALSE,指示兩個幾何圖形在空間中是否重疊。
說明支援的組合:點/多邊形、線/多邊形和多邊形/多邊形。

MAKELINE

語法MAKELINE(SpatialPoint1, SpatialPoint2)
輸出幾何圖形(線)
定義在兩點之間產生線標記
範例
MAKELINE(MAKEPOINT(47.59, -122.32), MAKEPOINT(48.5, -123.1))
說明對於建立出發地-目的地地圖很有用。

MAKEPOINT

語法MAKEPOINT(latitude, longitude, [SRID])
輸出幾何圖形(點)
定義

<latitude><longitude> 欄的資料轉換為空間物件。

若新增可選的 <SRID> 引數,則輸入可以是其他投影地理座標。

範例
MAKEPOINT(48.5, -123.1)
MAKEPOINT([AirportLatitude], [AirportLongitude])
MAKEPOINT([Xcoord],[Ycoord], 3493)
說明

MAKEPOINT 無法使用自動產生的緯度和經度欄位。資料來源必須以原生方式包含座標。

SRID 是一種空間參考識別碼,使用 ESPG 參考系統代碼(連結在新視窗開啟)來指定座標系統。若未指定 SRID,則假定為 WGS84,且參數被視為以度為單位的緯度/經度。

可以使用 MAKEPOINT 在空間上啟用資料來源,以便可以使用空間聯結將其與空間檔案聯結。有關詳情,請參閱在 Tableau 中聯接空間檔案

LENGTH

語法LENGTH(geometry, 'units')
輸出數字
定義使用指定的 <units> 傳回 <geometry> 中的一個或多個線串的大地測量路徑長度。
範例
LENGTH([Spatial], 'metres')
說明若幾何圖形引數沒有線串,則結果為 <NaN>,但允許使用其他元素。

OUTLINE

語法OUTLINE(spatial polygon)
輸出幾何圖形
定義將多邊形幾何圖形轉換為線串。
說明

對於為輪廓建立單獨的圖層很有用,該圖層的樣式可以與填充不同。

支援複多邊形內的多邊形。

SHAPETYPE

語法SHAPETYPE(geometry)
輸出字串
定義傳回描述空間 <geometry> 結構的字串,例如 Empty(空白)、Point(點)、MultiPoint(多點)、LineString(線串)、MultiLinestring(多線串)、Polygon(多邊形)、MultiPolygon(複多邊形)、Mixed(混合)和不支援
範例
SHAPETYPE(MAKEPOINT(48.5, -123.1)) = "Point"
其他函數
有關詳情,請參閱傳遞函數 (RAWSQL)(連結在新視窗開啟)

規則運算式

REGEXP_REPLACE(字串, 模式, 替換字串)

返回給定字串的副本,其中規則運算式模式被替換字串取代。此函數可用於文字檔、Hadoop Hive、Google BigQuery、PostgreSQL、Tableau 擷取、Microsoft Excel、Salesforce、Vertica、Pivotal Greenplum、Teradata(版本 14.1 及更高版本)、Snowflake 和 Oracle 資料來源。

對於 Tableau 擷取,模式和替換字串必須為常量。

有關規則運算式語法的資訊,請參閱資料來源的文件。對於 Tableau 擷取,規則運算式語法遵守 ICU(Unicode 國際化組件)的標準,ICU 是用於 Unicode 支援、軟體國際化和軟體全球化的成熟 C/C++ 和 Java 庫開源專案。請參閱線上 ICU 使用者指南中的規則運算式(連結在新視窗開啟)頁面。

範例

REGEXP_REPLACE('abc 123', '\s', '-') = 'abc-123'

REGEXP_MATCH(字串, 模式)

如果指定的字串的子字串匹配規則運算式模式,則返回 true。此函數可用於文字檔、Google BigQuery、PostgreSQL、Tableau 擷取、Microsoft Excel、Salesforce、Vertica、Pivotal Greenplum、Teradata(版本 14.1 及更高版本)、Impala 2.3.0(透過 Cloudera Hadoop 資料來源)、Snowflake 和 Oracle 資料來源。

對於 Tableau 擷取,模式必須為常量。

有關規則運算式語法的資訊,請參閱資料來源的文件。對於 Tableau 擷取,規則運算式語法遵守 ICU(Unicode 國際化組件)的標準,ICU 是用於 Unicode 支援、軟體國際化和軟體全球化的成熟 C/C++ 和 Java 庫開源專案。請參閱線上 ICU 使用者指南中的規則運算式(連結在新視窗開啟)頁面。

範例

REGEXP_MATCH('-( [1234]. [The.Market])-','\ [\s*(\w*\.)(\w*\s*\])')=true

REGEXP_EXTRACT(string, pattern)


返回與規則運算式模式匹配的字串部分。此函數可用於文字檔、Hadoop Hive、Google BigQuery、PostgreSQL、Tableau 擷取、Microsoft Excel、Salesforce、Vertica、Pivotal Greenplum、Teradata(版本 14.1 及更高版本)、Snowflake 和 Oracle 資料來源。

對於 Tableau 擷取,模式必須為常量。

有關規則運算式語法的資訊,請參閱資料來源的文件。對於 Tableau 擷取,規則運算式語法遵守 ICU(Unicode 國際化組件)的標準,ICU 是用於 Unicode 支援、軟體國際化和軟體全球化的成熟 C/C++ 和 Java 庫開源專案。請參閱線上 ICU 使用者指南中的規則運算式(連結在新視窗開啟)頁面。

範例

REGEXP_EXTRACT('abc 123', ' [a-z]+\s+(\d+)') = '123'

REGEXP_EXTRACT_NTH(string, pattern, index)

返回與規則運算式模式匹配的字串部分。子字串匹配到第 n 個捕獲群組,其中 n 是給定的索引。如果索引為 0,則返回整個字串。此函數可用於文字檔、PostgreSQL、Tableau 擷取、Microsoft Excel、Salesforce、Vertica、Pivotal Greenplum、Teradata(版本 14.1 及更高版本)和 Oracle 資料來源。

對於 Tableau 擷取,模式必須為常量。

有關規則運算式語法的資訊,請參閱資料來源的文件。對於 Tableau 擷取,規則運算式語法遵守 ICU(Unicode 國際化組件)的標準,ICU 是用於 Unicode 支援、軟體國際化和軟體全球化的成熟 C/C++ 和 Java 庫開源專案。請參閱線上 ICU 使用者指南中的規則運算式(連結在新視窗開啟)頁面。

範例

REGEXP_EXTRACT_NTH('abc 123', '( [a-z]+)\s+(\d+)', 2) = '123'

Hadoop Hive 的特定函數

附註:只有 PARSE_URL 和 PARSE_URL_QUERY 函數可用於 Cloudera Impala 資料來源。

GET_JSON_OBJECT(JSON 字串, JSON 路徑)

根據 JSON 路徑返回 JSON 字串中的 JSON 物件。

PARSE_URL(字串, url_part)

返回給定 URL 字串的組成部分(由 url_part 定義)。有效的 url_part 值包括:'HOST'、'PATH'、'QUERY'、'REF'、'PROTOCOL'、'AUTHORITY'、'FILE' 和 'USERINFO'。

範例

PARSE_URL('http://www.tableau.com', 'HOST') = 'www.tableau.com'

PARSE_URL_QUERY(字串, 金鑰)

返回給定 URL 字串中的指定查詢參數的值。查詢參數由金鑰定義。

範例

PARSE_URL_QUERY('http://www.tableau.com?page=1&cat=4', 'page') = '1'

XPATH_BOOLEAN(XML 字串, XPath 運算式字串)

如果 XPath 運算式匹配節點或計算為 true,則返回 true。

範例

XPATH_BOOLEAN('<values> <value id="0">1</value><value id="1">5</value>', 'values/value [@id="1"] = 5') = true

XPATH_DOUBLE(XML 字串, XPath 運算式字串)

返回 XPath 運算式的浮點值。

範例

XPATH_DOUBLE('<values><value>1.0</value><value>5.5</value> </values>', 'sum(value/*)') = 6.5

XPATH_FLOAT(XML 字串, XPath 運算式字串)

返回 XPath 運算式的浮點值。

範例

XPATH_FLOAT('<values><value>1.0</value><value>5.5</value> </values>','sum(value/*)') = 6.5

XPATH_INT(XML 字串, XPath 運算式字串)

返回 Xpath 運算式的數值;或者,如果 Xpath 運算式無法計算為數字,則返回零。

範例

XPATH_INT('<values><value>1</value><value>5</value> </values>','sum(value/*)') = 6

XPATH_LONG(XML 字串, XPath 運算式字串)

返回 Xpath 運算式的數值;或者,如果 Xpath 運算式無法計算為數字,則返回零。

範例

XPATH_LONG('<values><value>1</value><value>5</value> </values>','sum(value/*)') = 6

XPATH_SHORT(XML 字串, XPath 運算式字串)

返回 Xpath 運算式的數值;或者,如果 Xpath 運算式無法計算為數字,則返回零。

範例

XPATH_SHORT('<values><value>1</value><value>5</value> </values>','sum(value/*)') = 6

XPATH_STRING(XML 字串, XPath 運算式字串)

返回第一個匹配節點的文字。

範例

XPATH_STRING('<sites ><url domain="org">http://www.w3.org</url> <url domain="com">http://www.tableau.com</url></sites>', 'sites/url [@domain="com"]') = 'http://www.tableau.com'

Google BigQuery 的特定函數

DOMAIN(string_url)

在給定 URL 字串的情況下返回作為字串的網域。

範例

DOMAIN('http://www.google.com:80/index.html') = 'google.com'

GROUP_CONCAT(運算式)

將來自每個記錄的值連線為一個由逗號分隔的字串。此函數在處理字串時的作用類似於 SUM()。

範例

GROUP_CONCAT(Region) = "Central,East,West"

HOST(string_url)

在給定 URL 字串的情況下返回作為字串的主機名稱。

範例

HOST('http://www.google.com:80/index.html') = 'www.google.com:80'

LOG2(數字)

返回數字的對數底 2。

範例

LOG2(16) = '4.00'

LTRIM_THIS(字串, 字串)

返回第一個字串(移除了在前導位置出現的任何第二個字串)。

範例

LTRIM_THIS(' [-Sales-]',' [-') = 'Sales-]'

RTRIM_THIS(字串, 字串)

返回第一個字串(移除了在尾隨位置出現的任何第二個字串)。

範例

RTRIM_THIS(' [-Market-]','-]') = ' [-Market'

TIMESTAMP_TO_USEC(運算式)

將 TIMESTAMP 資料類型轉換為 UNIX 時間戳記(以微秒為單位)。

範例

TIMESTAMP_TO_USEC(#2012-10-01 01:02:03#)=1349053323000000

USEC_TO_TIMESTAMP(運算式)

將 UNIX 時間戳記(以微秒為單位)轉換為 TIMESTAMP 資料類型。

範例

USEC_TO_TIMESTAMP(1349053323000000) = #2012-10-01 01:02:03#

TLD(string_url)

在指定 URL 字串的情況下傳回上層網域以及 URL 中的任何國家/地區網域。

範例

TLD('http://www.google.com:80/index.html') = '.com'

TLD('http://www.google.co.uk:80/index.html') = '.co.uk'



想要瞭解函數的更多資訊?

請閱讀函數主題(連結在新視窗開啟)

另請參閱

Tableau 函數(按字母順序)(連結在新視窗開啟)

感謝您的意見反應!已成功提交您的意見回饋。謝謝!