Tableau 函數(按類別)
此參考中的 Tableau 函數按類別組織。按一下類別可瀏覽其函數。或者,按 Ctrl+F(在 Mac 上按 Command-F)開啟搜尋框,您可以使用該搜尋框在頁面中搜尋特定函數。
ABS
語法 | ABS(number) |
輸出 | 數字(正數) |
定義 | 傳回指定 <number> 的絕對值。 |
範例 | ABS(-7) = 7 第二個範例傳回「預算差異」欄位中包含的所有數字的絕對值。 |
說明 | 另請參閱 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 |
說明 | 反函數 |
ATAN2
語法 | ATAN2(y number, x number) |
輸出 | 數字(以弧度表示的角度) |
定義 | 傳回兩個數字(x 和 y)之間的反正切(角度)。結果以弧度表示。 |
範例 | ATAN2(2, 1) = 1.10714871779409 |
說明 | 另請參閱 ATAN 、TAN 和 COT 。 |
CEILING
語法 | CEILING(number) |
輸出 | 整數 |
定義 | 將 <number> 四捨五入為值相等或更大的最近整數。 |
範例 | CEILING(2.1) = 3 |
說明 | 另請參閱 FLOOR 和 ROUND 。 |
資料庫限制 |
|
COS
語法 | COS(number) 數字引數是以弧度表示的角度。 |
輸出 | 數字 |
定義 | 返回角度的余弦。 |
範例 | COS(PI( ) /4) = 0.707106781186548 |
說明 | 反函數 |
COT
語法 | COT(number) 數字引數是以弧度表示的角度。 |
輸出 | 數字 |
定義 | 返回角度的餘切。 |
範例 | COT(PI( ) /4) = 1 |
說明 | 另請參閱 ATAN 、TAN 和 PI 。若要將角度從度數轉換為弧度,請使用 RADIANS 。 |
DEGREES
語法 | DEGREES(number) 數字引數是以弧度表示的角度。 |
輸出 | 數字(度) |
定義 | 將以弧度表示的角度轉換為度數。 |
範例 | DEGREES(PI( )/4) = 45.0 |
說明 | 反函數 另請參閱 |
DIV
語法 | DIV(integer1, integer2) |
輸出 | 整數 |
定義 | 傳回將 <integer1> 除以 <integer2> 的除法運算的整數部分。 |
範例 | DIV(11,2) = 5 |
EXP
語法 | EXP(number) |
輸出 | 數字 |
定義 | 傳回 e 的給定 <number> 次方。 |
範例 | EXP(2) = 7.389 |
說明 | 另請參閱 LN 。 |
FLOOR
語法 | FLOOR(number) |
輸出 | 整數 |
定義 | 將數字四捨五入為值相等或更小的最近 <number> 。 |
範例 | FLOOR(7.9) = 7 |
說明 | 另請參閱 CEILING 和 ROUND 。 |
資料庫限制 |
|
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,則輸出為 |
定義 | 傳回 <number> 的自然對數。 |
範例 | LN(50) = 3.912023005 |
說明 | 另請參閱 EXP 和 LOG 。 |
LOG
語法 | LOG(number, [base]) 若可選的底數引數不存在,則使用底數 10。 |
輸出 | 數字 |
定義 | 返回數字以給定底數為底的對數。 |
範例 | LOG(16,4) = 2 |
說明 | 另請參閱 POWER LN 。 |
MAX
語法 | MAX(expression) 或 MAX(expr1, expr2) |
輸出 | 與引數相同的資料類型,若引數的任何部分為 NULL,則為 NULL 。 |
定義 | 傳回兩個引數中的最大值,這兩個引數必須具有相同的資料類型。
|
範例 | MAX(4,7) = 7 |
說明 | 對於字串
對於資料庫資料來源, 對於日期 對於日期, 作為彙總
作為比較
另請參閱 |
MIN
語法 | MIN(expression) 或 MIN(expr1, expr2) |
輸出 | 與引數相同的資料類型,若引數的任何部分為 NULL,則為 NULL 。 |
定義 | 傳回兩個引數(必須為相同資料類型)的最小值。
|
範例 | MIN(4,7) = 4 |
說明 | 對於字串
對於資料庫資料來源, 對於日期 對於日期, 作為彙總
作為比較
另請參閱 |
PI
語法 | PI() |
輸出 | 數字 |
定義 | 傳回數字常數 pi:3.14159... |
範例 | PI() = 3.14159 |
說明 | 對於以弧度為輸入的三角函數很有用。另請參閱 RADIANS 。 |
POWER
語法 | POWER(number, power) |
輸出 | 數字 |
定義 | 計算 <number> 的指定 <power> 次方。 |
範例 | POWER(5,3) = 125 |
說明 | 也可以使用 ^ 符號,例如 5^3 = POWER(5,3) = 125 |
RADIANS
語法 | RADIANS(number) |
輸出 | 數字(以弧度表示的角度) |
定義 | 將給定的 <number> 從度數轉換為弧度。 |
範例 | RADIANS(180) = 3.14159 |
說明 | 反函數 DEGREES 取得以弧度表示的角度,並傳回以度表示的角度。 |
ROUND
語法 | ROUND(number, [decimals]) |
輸出 | 數字 |
定義 | 將 可選的 |
範例 | ROUND(1/3, 2) = 0.33 |
說明 | 某些資料庫(例如 SQL Server)允許指定負長度,其中 -1 將數字四捨五入為 10 位數,-2 將數字四捨五入為 100 位數,依此類推。此功能並不適用於所有資料庫。例如,Excel 和 Access 不具備此功能。 提示:由於 |
SIGN
語法 | SIGN(number) |
輸出 | -1、0 或 1 |
定義 | 傳回 <number> 的符號:若數字為負,則傳回的值可能為 -1;若數字為零,則為 0;若數字為正,則為 1。 |
範例 | SIGN(AVG(Profit)) = -1 |
說明 | 另請參閱 ABS 。 |
SIN
語法 | SIN(number) 數字引數是以弧度表示的角度。 |
輸出 | 數字 |
定義 | 返回角度的正弦。 |
範例 | SIN(0) = 1.0 |
說明 | 反函數 |
SQRT
語法 | SQRT(number) |
輸出 | 數字 |
定義 | 傳回 <number> 的平方根。 |
範例 | SQRT(25) = 5 |
說明 | 另請參閱 SQUARE 。 |
SQUARE
語法 | SQUARE(number) |
輸出 | 數字 |
定義 | 傳回 <number> 的平方。 |
範例 | SQUARE(5) = 25 |
說明 | 另請參閱 SQRT 和 POWER 。 |
TAN
語法 | TAN(number) 數字引數是以弧度表示的角度。 |
輸出 | 數字 |
定義 | 返回角度的正切。 |
範例 | TAN(PI ( )/4) = 1.0 |
說明 | 另請參閱 ATAN 、ATAN2 、COT 和 PI 。若要將角度從度數轉換為弧度,請使用 RADIANS 。 |
ZN
語法 | ZN(expression) |
輸出 | 任意,或 o |
定義 | 若 使用此函數可將 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。 如果新增了可選引數 |
範例 | 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 |
說明 |
另請參閱額外函數文件(連結在新視窗開啟)中支援的正規表式。 |
LEFT
語法 | LEFT(string, number) |
輸出 | 字串 |
定義 | 傳回字串最左側 <number> 的字元。 |
範例 | LEFT("Matador", 4) = "Mata" |
說明 | 另請參閱 MID 和 RIGHT。 |
LEN
語法 | LEN(string) |
輸出 | 數字 |
定義 | 返回字串長度。 |
範例 | LEN("Matador") = 7 |
說明 | 不要與空間函數(連結在新視窗開啟) LENGTH 混淆。 |
LOWER
語法 | LOWER(string) |
輸出 | 字串 |
定義 | 傳回提供的 <string> ,且全為小寫字元。 |
範例 | LOWER("ProductVersion") = "productversion" |
說明 | 另請參閱 UPPER 和 PROPER。 |
LTRIM
語法 | LTRIM(string) |
輸出 | 字串 |
定義 | 傳回移除所有前導空格的 <string> 。 |
範例 | LTRIM(" Matador ") = "Matador " |
說明 | 另請參閱 RTRIM。 |
MAX
語法 | MAX(expression) 或 MAX(expr1, expr2) |
輸出 | 與引數相同的資料類型,若引數的任何部分為 NULL,則為 NULL 。 |
定義 | 傳回兩個引數(必須為相同資料類型)中的較大值。
|
範例 | MAX(4,7) = 7 |
說明 | 對於字串
對於資料庫資料來源, 對於日期 對於日期, 作為彙總
作為比較
另請參閱 |
MID
語法 | (MID(string, start, [length]) |
輸出 | 字串 |
定義 | 傳回從指定的 如果新增了可選數字參數 |
範例 | MID("Calculation", 2) = "alculation" MID("Calculation", 2, 5) ="alcul" |
說明 | 另請參閱額外函數文件(連結在新視窗開啟)中支援的正規表式。 |
MIN
語法 | MIN(expression) 或 MIN(expr1, expr2) |
輸出 | 與引數相同的資料類型,若引數的任何部分為 NULL,則為 NULL 。 |
定義 | 傳回兩個引數(必須為相同資料類型)的最小值。
|
範例 | MIN(4,7) = 4 |
說明 | 對於字串
對於資料庫資料來源, 對於日期 對於日期, 作為彙總
作為比較
另請參閱 |
PROPER
語法 | PROPER(string) |
輸出 | 字串 |
定義 | 傳回提供的 |
範例 | PROPER("PRODUCT name") = "Product Name" PROPER("darcy-mae") = "Darcy-Mae" |
說明 | 空格和非英數字元(如標點符號)也用作分隔符號。 |
資料庫限制 | 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" |
說明 | 另請參閱 LEFT 和 MID。 |
RTRIM
語法 | RTRIM(string) |
輸出 | 字串 |
定義 | 傳回移除所有尾端空格的 <string> 。 |
範例 | RTRIM(" Calculation ") = " Calculation" |
說明 | 另請參閱 LTRIM 和 TRIM。 |
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" |
說明 | 字串將被解釋為分隔符號和權杖的交替序列。因此,對於字串
另請參閱額外函數文件(連結在新視窗開啟)中支援的正規表式。 |
資料庫限制 | 可以為以下資料來源類型使用拆分和自訂拆分命令: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) |
輸出 | 布林值 |
定義 | 如果 string 以 substring 開頭,則返回 true。會忽略前導空格。 |
範例 | STARTSWITH("Matador, "Ma") = TRUE |
說明 | 另請參閱 CONTAINS,以及額外功能文件(連結在新視窗開啟)中支援的正規表式。 |
TRIM
語法 | TRIM(string) |
輸出 | 字串 |
定義 | 傳回提供的 <string> ,且移除前導和尾端空格。 |
範例 | TRIM(" Calculation ") = "Calculation" |
說明 | 另請參閱 LTRIM 和 RTRIM。 |
UPPER
語法 | UPPER(string) |
輸出 | 字串 |
定義 | 傳回提供的 <string> ,且全為大寫字元。 |
範例 | UPPER("Calculation") = "CALCULATION" |
說明 | 另請參閱 PROPER 和 LOWER。 |
附註:日期函數不考慮設定的會計年度開始。請參閱會計日期。
DATE
將字串和數字運算式轉換為日期的類型轉換函式,只要它們是可識別的格式。
語法 | DATE(expression) |
輸出 | 日期 |
定義 | 在指定數字、字串或日期 <expression> 的情況下傳回日期。 |
範例 | DATE([Employee Start Date]) DATE("September 22, 2018") DATE("9/22/2018") DATE(#2018-09-22 14:52#) |
說明 | 與
|
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> 與 <date2> 之差(以 <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 是非常相似的計算,它將指定日期部分的值作為連續整數傳回。 透過變更計算結果的屬性(維度或度量、連續或離散)和日期格式,可以將 DATEPARSE 是反函數,它會接受字串值並將其格式化為日期。 |
DATEPARSE
將特定格式的字串作為日期傳回。
語法 | DATEPARSE(date_format, date_string) |
輸出 | 日期 |
定義 | <date_format> 引數會描述 <date_string> 欄位的排列方式。由於字串欄位的排序方式可以多種多樣,因此 <date_format> 必須完全符合。有關完整詮釋格式設定詳情,請參閱將欄位轉換為日期欄位(連結在新視窗開啟)。 |
範例 | DATEPARSE('yyyy-MM-dd', "1986-03-25") = #March 25, 1986# |
說明 |
|
資料庫限制 |
Hive 變體不支援 |
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 日期。
|
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 週數,則使用 |
說明 | 支援 ISO 8601 日期。 您不該使用 例如, |
DAY
以整數的形式傳回月份的天 (1-31)。
語法 | DAY(date) |
輸出 | 整數 |
定義 | 以整數的形式傳回給定 <date> 的天。 |
範例 | Day(#September 22, 2018#) = 22 |
說明 | 另請參閱 WEEK 、MONTH 、季度 、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 |
說明 | 另請參閱 ISOWEEK 、ISOWEEKDAY 、ISOYEAR ,以及非 ISO 等值。 |
ISOWEEK
語法 | ISOWEEK(date) |
輸出 | 整數 |
定義 | 以整數形式傳回給定 <date> 基於 ISO8601 週的週。 |
範例 | ISOWEEK(#1986-03-25#) = 13 |
說明 | 另請參閱 ISOWEEKDAY 、ISOQUARTER 、ISOYEAR ,以及非 ISO 等值。 |
ISOWEEKDAY
語法 | ISOWEEKDAY(date) |
輸出 | 整數 |
定義 | 以整數形式傳回給定 <date> 基於 ISO8601 週的平日。 |
範例 | ISOWEEKDAY(#1986-03-25#) = 2 |
說明 | 另請參閱 ISOWEEK 、ISOQUARTER 、ISOYEAR ,以及非 ISO 等值。 |
ISOYEAR
語法 | ISOYEAR(date) |
輸出 | 整數 |
定義 | 以整數形式傳回給定 <date> 基於 ISO8601 週的年。 |
範例 | ISOYEAR(#1986-03-25#) = 1,986 |
說明 | 另請參閱 ISOWEEK 、ISOWEEKDAY 、ISOQUARTER ,以及非 ISO 等值。 |
MAKEDATE
語法 | MAKEDATE(year, month, day) |
輸出 | 日期 |
定義 | 傳回一個依據指定 <year> 、<month> 和 <day> 構造的日期值。 |
範例 | MAKEDATE(1986,3,25) = #1986-03-25# |
說明 | 請注意:輸入錯誤的值會被調整成日期,例如 可用於 Tableau 擷取。檢查在其他資料來源中的可用性。
|
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
語法 | MAKETIME(hour, minute, second) |
輸出 | 日期時間 |
定義 | 傳回一個依據指定 <hour> 、<minute> 和 <second> 構造的日期值。 |
範例 | MAKETIME(14, 52, 40) = #1/1/1899 14:52:40# |
說明 | 由於 Tableau 不支援時間資料類型,僅支援日期時間,因此輸出為日期時間。該欄位的日期部分將是 1/1/1899。 與 |
MAX
語法 | MAX(expression) 或 MAX(expr1, expr2) |
輸出 | 與引數相同的資料類型,若引數的任何部分為 NULL,則為 NULL 。 |
定義 | 傳回兩個引數(必須為相同資料類型)中的較大值。
|
範例 | MAX(4,7) = 7 |
說明 | 對於字串
對於資料庫資料來源, 對於日期 對於日期, 作為彙總
作為比較
另請參閱 |
MIN
語法 | MIN(expression) 或 MIN(expr1, expr2) |
輸出 | 與引數相同的資料類型,若引數的任何部分為 NULL,則為 NULL 。 |
定義 | 傳回兩個引數(必須為相同資料類型)的最小值。
|
範例 | MIN(4,7) = 4 |
說明 | 對於字串
對於資料庫資料來源, 對於日期 對於日期, 作為彙總
作為比較
另請參閱 |
MONTH
語法 | MONTH(date) |
輸出 | 整數 |
定義 | 以整數的形式傳回給定 <date> 的月份。 |
範例 | MONTH(#1986-03-25#) = 3 |
說明 | 另請參閱 DAY 、WEEK 、季度 、YEAR ,以及 ISO 等值 |
NOW
語法 | NOW() |
輸出 | 日期時間 |
定義 | 傳回目前本機系統日期和時間。 |
範例 | NOW() = 1986-03-25 1:08:21 PM |
說明 |
另請參閱 如果資料來源是即時連線,則係統日期和時間可能位於另一個時區。有關如何聯接資料的詳情,請參閱知識庫。 |
季度
語法 | QUARTER(date) |
輸出 | 整數 |
定義 | 以整數的形式傳回給定 <date> 的季度。 |
範例 | QUARTER(#1986-03-25#) = 1 |
說明 | 另請參閱 DAY 、WEEK 、MONTH 、YEAR ,以及 ISO 等值 |
TODAY
語法 | TODAY() |
輸出 | 日期 |
定義 | 傳回目前本機系統日期。 |
範例 | TODAY() = 1986-03-25 |
說明 |
另請參閱 NOW,這是一個類似的計算,它傳回日期時間而不是日期。 如果資料來源是即時連線,則係統日期可能位於另一個時區。有關如何聯接資料的詳情,請參閱知識庫。 |
WEEK
語法 | WEEK(date) |
輸出 | 整數 |
定義 | 以整數的形式傳回給定 <date> 的週。 |
範例 | WEEK(#1986-03-25#) = 13 |
說明 | 另請參閱 DAY 、MONTH 、季度 、YEAR ,以及 ISO 等值 |
YEAR
語法 | YEAR(date) |
輸出 | 整數 |
定義 | 以整數的形式傳回給定 <date> 的年份。 |
範例 | YEAR(#1986-03-25#) = 1,986 |
說明 | 另請參閱 DAY 、WEEK 、MONTH 、季度 ,以及 ISO 等值 |
date_part
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,一週的開始始終是週一 |
AND
語法 | <expr1> AND <expr2> |
定義 | 對兩個運算式執行邏輯合取運算。(如果雙方都為 true,則邏輯測試傳回 true。) |
輸出 | 布林值(TRUE 或 FALSE) |
範例 | IF [Season] = "Spring" AND "[Season] = "Fall" 「若(Season = Spring [季節 = 春季])和(Season = Fall [季節 = 秋季])同時為 TRUE,則傳回 It's the apocalypse and footwear doesn't matter [現在是世界末日,穿什麼鞋無關緊要]。」 |
說明 | 經常與 IF 和 IIF 一起使用。另請參閱 NOT 和 或者。 若兩個運算式均為 若您建立一個計算,其中 附註: |
CASE
語法 | CASE <expression>
|
輸出 | 取決於 <then> 值的資料類型。 |
定義 | 計算 |
範例 |
「讓我們來看看 Season [季節] 欄位。若值為 Summer [夏季],則傳回 Sandals [涼鞋]。若值為 Winter [冬季],則傳回 Boots [靴子]。若計算中的選項均不符合 Season [季節] 欄位中的選項,則傳回 Sneakers [運動鞋]。」 |
說明 | 與 WHEN、you can rerun the query or view、ELSE 和 END 一起使用。 提示:很多時候,可以使用群組來取得與複雜的 CASE 函數相同的結果,或者使用 CASE 來取代原生分組功能,例如前面的範例。您可能想要測試哪種方法更適合您的情境。 |
ELSE
語法 | CASE <expression>
|
定義 | IF 或 CASE 運算式的可選部分,用於指定在所有測試運算式均不為 TRUE 時傳回的預設值。 |
範例 | IF [Season] = "Summer" THEN 'Sandals' CASE [Season] |
說明 | 與 CASE、WHEN、IF、ELSEIF、you can rerun the query or view 和 END 一起使用
|
ELSEIF
語法 | [ELSEIF <test2> THEN <then2>] |
定義 | IF 運算式的可選部分,用於指定初始 IF 以外的附加條件。 |
範例 | IF [Season] = "Summer" THEN 'Sandals' |
說明 | 與 IF、you can rerun the query or view、ELSE 和 END 一起使用
與 |
END
定義 | 用於關閉 IF 或 CASE 運算式。 |
範例 | IF [Season] = "Summer" THEN 'Sandals' 「若 Season = Summer [季節 = 夏季],則傳回 Sandals [涼鞋]。如果不是,請看下一個運算式。若 Season = Winter [季節 = 冬季],則傳回 Boots [靴子]。若兩個運算式均不為 TRUE,則傳回 Sneakers [運動鞋]。」 CASE [Season] 「讓我們來看看 Season [季節] 欄位。若值為 Summer [夏季],則傳回 Sandals [涼鞋]。若值為 Winter [冬季],則傳回 Boots [靴子]。若計算中的選項均不符合 Season [季節] 欄位中的選項,則傳回 Sneakers [運動鞋]。」 |
說明 | 與 CASE、WHEN、IF、ELSEIF、you can rerun the query or view 和 ELSE 一起使用。 |
IF
語法 | IF <test1> THEN <then1> |
輸出 | 取決於 <then> 值的資料類型。 |
定義 | 測試一系列運算式,並為第一個為 TRUE 的 |
範例 | IF [Season] = "Summer" THEN 'Sandals' 「若 Season = Summer [季節 = 夏季],則傳回 Sandals [涼鞋]。若不是,查看下一個運算式。若 Season = Winter [季節 = 冬季],則傳回 Boots [靴子]。若兩個運算式均不為 TRUE,則傳回 Sneakers [運動鞋]。」 |
說明 | 與 ELSEIF、you can rerun the query or view、ELSE 和 END 一起使用 |
IFNULL
語法 | IFNULL(expr1, expr2) |
輸出 | 取決於 <expr> 值的資料類型。 |
定義 | 若 |
範例 | IFNULL([Assigned Room], "TBD") 「如果『指派的房間』欄位不是 Null,傳回其值。如果『指派的房間』欄位為 Null,則傳回 TBD。」 |
說明 | 與 ISNULL 進行比較。 另請參閱 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', 「若 Season = Summer [季節 = 夏季],則傳回 Sandals [涼鞋]。如果不是,請看下一個運算式。若 Season = Winter [季節 = 冬季],則傳回 Boots [靴子]。若兩者均不為 TRUE,則傳回『運動鞋』。」 IIF('Season' = 'Summer', 'Sandals', 「若 Season = Summer [季節 = 夏季],則傳回 Sandals [涼鞋]。如果不是,請看下一個運算式。若 Season = Winter [季節 = 冬季],則傳回 Boots [靴子]。若兩個運算式均不為 TRUE,則傳回 Sneakers [運動鞋]。」 |
說明 |
也就是說,在下面的計算中,結果將為 Red [紅色],而不是 Orange [橙色],因為一旦 A=A 計算為 TRUE,運算式就會停止計算:
|
IN
語法 | <expr1> IN <expr2> |
輸出 | 布林值(TRUE 或 FALSE) |
定義 | 若 <expr1> 中的任何值與 <expr2> 中的任何值相符,則傳回 TRUE 。 |
範例 | SUM([Cost]) IN (1000, 15, 200) 「『成本』欄位的值是 1000、15 還是 200?」 [Field] IN [Set] 「該欄位的值是否存在於集合中?」 |
說明 |
另請參閱 WHEN。 |
ISDATE
語法 | ISDATE(string) |
輸出 | 布林值(TRUE 或 FALSE) |
定義 | 若 <string> 為有效日期,則傳回 TRUE。輸入運算式必須為字串(文字)欄位。 |
範例 | ISDATE("2018-09-22") 「字串 2018-09-22 是否為格式正確的日期?」 |
說明 | 是否被視為有效日期取決於對計算進行求值之系統的地區設定(連結在新視窗開啟)。例如: 在美國:
在英國:
|
ISNULL
語法 | ISNULL(expression) |
輸出 | 布林值(TRUE 或 FALSE) |
定義 | 若 |
範例 | ISNULL([Assigned Room]) 「『指派的房間』欄位是否為 Null?」 |
說明 | 與 IFNULL 進行比較。 另請參閱 ZN。 |
MAX
語法 | MAX(expression) 或 MAX(expr1, expr2) |
輸出 | 與引數相同的資料類型,若引數的任何部分為 NULL,則為 NULL 。 |
定義 | 傳回兩個引數中的最大值,這兩個引數必須具有相同的資料類型。
|
範例 | MAX(4,7) = 7 |
說明 | 對於字串
對於資料庫資料來源, 對於日期 對於日期, 作為彙總
作為比較
另請參閱 |
MIN
語法 | MIN(expression) 或 MIN(expr1, expr2) |
輸出 | 與引數相同的資料類型,若引數的任何部分為 NULL,則為 NULL 。 |
定義 | 傳回兩個引數(必須為相同資料類型)的最小值。
|
範例 | MIN(4,7) = 4 |
說明 | 對於字串
對於資料庫資料來源, 對於日期 對於日期, 作為彙總
作為比較
另請參閱 |
NOT
語法 | NOT <expression> |
輸出 | 布林值(TRUE 或 FALSE) |
定義 | 對一個運算式執行邏輯非運算。 |
範例 | IF NOT [Season] = "Summer" 「如果『季節』不等於『夏天』,就傳回『不要』穿涼鞋。如果不是,就傳回『穿』涼鞋。」 |
說明 |
或者
語法 | <expr1> OR <expr2> |
輸出 | 布林值(TRUE 或 FALSE) |
定義 | 對兩個運算式執行邏輯析取操作。 |
範例 | IF [Season] = "Spring" OR [Season] = "Fall" 「如果 (Season = Spring) 或 (Season = Fall) 為 true,則傳回 Sneakers。」 |
說明 | 常與 IF 和 IIF 一起使用。另請參閱 DATE 和 NOT。 如果任一運算式為 若您建立的計算在工作表上顯示 附註: |
you can rerun the query or view
語法 | IF <test1> THEN <then1>
|
定義 | IF 、ELSEIF 或 CASE 運算式的必要部分,用於定義在特定值或測試為 TRUE 時傳回的結果。 |
範例 | IF [Season] = "Summer" THEN 'Sandals' 「若 Season = Summer [季節 = 夏季],則傳回 Sandals [涼鞋]。如果不是,請看下一個運算式。若 Season = Winter [季節 = 冬季],則傳回 Boots [靴子]。若兩個運算式均不為 TRUE,則傳回 Sneakers [運動鞋]。」 CASE [Season] 「讓我們來看看 Season [季節] 欄位。若值為 Summer [夏季],則傳回 Sandals [涼鞋]。若值為 Winter [冬季],則傳回 Boots [靴子]。若計算中的選項均不符合 Season [季節] 欄位中的選項,則傳回 Sneakers [運動鞋]。」 |
說明 | 與 CASE、WHEN、IF、ELSEIF、you can rerun the query or view、ELSE 和 END 一起使用 |
WHEN
語法 | CASE <expression>
|
定義 | CASE 運算式的必需部分。尋找第一個與 <expression> 相符的 <value> ,並傳回對應的 <then> 。 |
範例 | CASE [Season] 「讓我們來看看 Season [季節] 欄位。若值為 Summer [夏季],則傳回 Sandals [涼鞋]。若值為 Winter [冬季],則傳回 Boots [靴子]。若計算中的選項均不符合 Season [季節] 欄位中的選項,則傳回 Sneakers [運動鞋]。」 |
說明 | 與 CASE、you can rerun the query or view、ELSE 和 END 一起使用。
CASE <expression>
|
ZN
語法 | ZN(expression) |
輸出 | 取決於 <expression> 的資料類型,或為 0。 |
定義 | 若 <expression> 不為 NULL,則傳回該運算式,否則傳回 0。 |
範例 | ZN([Test Grade]) 「若測驗成績不為 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)} 借助詳細層級運算式,關聯將在所有列上執行。如果您使用像 |
資料庫限制 |
對於其他資料來源,請考慮擷取資料或使用 |
COUNT
語法 | COUNT(expression) |
定義 | 傳回項目數量。不對 Null 值計數。 |
COUNTD
語法 | COUNTD(expression) |
定義 | 返回群組中不同項目的數量。不對 Null 值計數。 |
COVAR
語法 | COVAR(expression1, expression2) |
定義 | 傳回兩個運算式的樣本共變異數。 |
說明 | 共變數對兩個變數的共同變化方式進行量化。正共變數指明兩個變數趨向於向同一方向移動,平均來說,即一個變數的較大值趨向於與另一個變數的較大值對應。樣本共變異數使用非空資料點的數量 n - 1 來規範化共變異數計算,而不是使用母體共變異數(可用於 如果
|
資料庫限制 |
對於其他資料來源,請考慮擷取資料或使用 |
COVARP
語法 | COVARP(expression 1, expression2) |
定義 | 傳回兩個運算式的母體共變異數。 |
說明 | 共變數對兩個變數的共同變化方式進行量化。正共變數指明兩個變數趨向於向同一方向移動,平均來說,即一個變數的較大值趨向於與另一個變數的較大值對應。母體共變異數為樣本共變異數乘以 (n-1)/n,其中 n 是非 null 資料點的總數。如果存在可用於所有相關項目的資料,則母體共變異數是合適的選取,與之相反,在只有隨機項目子集的情況下,樣本共變異數(及 如果 |
資料庫限制 |
對於其他資料來源,請考慮擷取資料或使用 |
MAX
語法 | MAX(expression) 或 MAX(expr1, expr2) |
輸出 | 與引數相同的資料類型,若引數的任何部分為 NULL,則為 NULL 。 |
定義 | 傳回兩個引數中的最大值,這兩個引數必須具有相同的資料類型。
|
範例 | MAX(4,7) = 7 |
說明 | 對於字串
對於資料庫資料來源, 對於日期 對於日期, 作為彙總
作為比較
另請參閱 |
MEDIAN
語法 | MEDIAN(expression) |
定義 | 返回運算式在所有記錄中的中位數。會忽略 Null 值。 |
說明 | MEDIAN 只能用於數字欄位。 |
資料庫限制 |
對於其他資料來源類型,可以將資料擷取到擷取檔案以使用此函數。請參閱擷取您的資料(連結在新視窗開啟)。 |
MIN
語法 | MIN(expression) 或 MIN(expr1, expr2) |
輸出 | 與引數相同的資料類型,若引數的任何部分為 NULL,則為 NULL 。 |
定義 | 傳回兩個引數(必須為相同資料類型)的最小值。
|
範例 | MIN(4,7) = 4 |
說明 | 對於字串
對於資料庫資料來源, 對於日期 對於日期, 作為彙總
作為比較
另請參閱 |
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。 |
說明 | 此函數會檢查:
使用者篩選器 用作篩選器時,計算欄位(例如 |
ISFULLNAME
語法 | ISFULLNAME("User Full Name") |
輸出 | 布林值 |
定義 | 如果目前使用者的全名與指定的全名相符,傳回 |
範例 | ISFULLNAME("Hamlin Myrer") |
說明 |
此函數會檢查:
|
ISMEMBEROF
語法 | ISMEMBEROF("Group Name") |
輸出 | 布林值或 NULL |
定義 | 若目前使用 Tableau 的人員是與指定字串相符的群組的成員,則傳回 |
範例 | ISMEMBEROF('Superstars') ISMEMBEROF('domain.lan\Sales') |
說明 |
若使用者已登入 Tableau Cloud 或 Tableau Server,則群組成員資格由 Tableau 群組決定。若指定字串是「All Users」,則函數將傳回 TRUE
若對使用者的群組成員資格進行變更,則基於群組成員資格的資料變更會反映在具有新工作階段的工作簿或檢視中。現有工作階段將反映過時資料。 |
ISUSERNAME
語法 | ISUSERNAME("username") |
輸出 | 布林值 |
定義 | 若目前使用者的使用者名稱與指定的使用者名稱相符,則傳回 TRUE ;若不相符,則傳回 FALSE 。 |
範例 | ISUSERNAME("hmyrer") |
說明 |
此函數會檢查:
|
USERDOMAIN( )
語法 | USERDOMAIN( ) |
輸出 | 字串 |
定義 | 傳回目前使用者的網域。 |
說明 | 此函數會檢查:
|
USERNAME( )
語法 | USERNAME( ) |
輸出 | 字串 |
定義 | 返回目前使用者的使用者名。 |
範例 | USERNAME( ) 此函數會傳回登入使用者的使用者名稱,例如「hmyrer」。 [Manager] = USERNAME( ) 若經理「hmyrer」已登入,則僅當檢視中的「經理」欄位包含「hmyrer」時,此範例才會傳回 TRUE。 |
說明 | 此函數會檢查:
使用者篩選器 用作篩選器時,計算欄位(例如 |
USERATTRIBUTE
附註:使用此功能前,請參閱 僅適用於在 Tableau Cloud 中內嵌工作流程。有關更多資訊,請參閱內嵌 API v3 中的驗證與內嵌檢視(連結在新視窗開啟)。
語法 | USERATTRIBUTE('attribute_name') |
輸出 | 字串或 NULL |
定義 | 若 若 |
範例 | 假設「Region」是 JWT 中包含的使用者屬性,並使用站台管理員已設定的已連線用程式傳遞給 Tableau。 作為工作簿作者,可以將視覺效果設定為根據指定區域篩選資料。在該篩選器中,可以參考以下計算。 [Region] = USERATTRIBUTE("Region") 來自西部區域的使用者 2 檢視內嵌視覺效果時,Tableau 僅顯示西部區域的適當資料。 |
說明 | 若想要 <'attribute_name'> 傳回多個值,則可以使用 USERATTRIBUTEINCLUDES 函數。 |
USERATTRIBUTEINCLUDES
附註:使用此功能前,請參閱 僅適用於在 Tableau Cloud 中內嵌工作流程。有關更多資訊,請參閱內嵌 API v3 中的驗證與內嵌檢視(連結在新視窗開啟)。
語法 | USERATTRIBUTEINCLUDES('attribute_name', 'expected_value') |
輸出 | 布林值 |
定義 | 若以下兩個條件均為 TRUE,則傳回
否則傳回 |
範例 | 假設「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 函數
模型擴充功能函數:
MODEL_EXTENSION_BOOL
MODEL_EXTENSION_INT
MODEL_EXTENSION_REAL
MODEL_EXTENSION_STR
用於將資料傳遞到外部服務(例如 R、TabPy 或 Matlab)中已部署模型。請參閱儀表板擴充功能(連結在新視窗開啟)。
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 名學生(學生 A 到 N)的相關資訊;「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_ functions
該指令碼函數:
SCRIPT_BOOL
SCRIPT_INT
SCRIPT_REAL
SCRIPT_STRING
用於將資料傳遞到外部服務,比如 R、TabPy 或 Matlab。請參閱儀表板擴充功能(連結在新視窗開啟)。
TOTAL(expression)
返回表計算分區內運算式的總計。
範例
假定您從此檢視開始:
您可以開啟計算編輯器並建立名為「總額」的新欄位。
然後可以將「總額」拖到「文字」上以替換 SUM(Sales)。您的檢視會發生變更,使其總計值基於預設的「計算依據」值:
這會產生問題,預設的「計算依據」值是什麼?如果在「資料」窗格中以右鍵按一下(在 Mac 上按一下 Control )「總額」,並選取「編輯」,則會提供一點額外的資訊:
預設的「計算依據」值是「表(橫穿)」。結果是,「總額」會匯總每個表列的值。因此,您看到的每一列的值是表原始版本中值的總和。
原始表內 2011/Q1 列中的值為 $8601、$6579、$44262 和 $15006。在「總額」替換 SUM(Sales) 之後,表中的值都為 $74,448,這是四個原始值的總和。
請注意,將「總額」拖到「文字」上之後「總額」旁邊會出現小三角:
這表明該欄位正在使用表計算。您可以以右鍵按一下欄位並選取「編輯表計算」,以將您的函數重定向到不同的「計算依據」值。例如,可以將其設定為「表(向下)」。在此情況下,您的表將如下所示:
TOTAL(expression)
返回表計算分區內運算式的總計。
範例
假定您從此檢視開始:
您可以開啟計算編輯器並建立名為「總額」的新欄位。
然後可以將「總額」拖到「文字」上以替換 SUM(Sales)。您的檢視會發生變更,使其總計值基於預設的「計算依據」值:
這會產生問題,預設的「計算依據」值是什麼?如果在「資料」窗格中以右鍵按一下(在 Mac 上按一下 Control )「總額」,並選取「編輯」,則會提供一點額外的資訊:
預設的「計算依據」值是「表(橫穿)」。結果是,「總額」會匯總每個表列的值。因此,您看到的每一列的值是表原始版本中值的總和。
原始表內 2011/Q1 列中的值為 $8601、$6579、$44262 和 $15006。在「總額」替換 SUM(Sales) 之後,表中的值都為 $74,448,這是四個原始值的總和。
請注意,將「總額」拖到「文字」上之後「總額」旁邊會出現小三角:
這表明該欄位正在使用表計算。您可以以右鍵按一下欄位並選取「編輯表計算」,以將您的函數重定向到不同的「計算依據」值。例如,可以將其設定為「表(向下)」。在此情況下,您的表將如下所示:
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 直通函數可用於將 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') |
說明 | 支援的單位名稱(計算時必須用引號括起來,例如
|
BUFFER
語法 | BUFFER(Spatial Point, distance, 'units')
|
輸出 | 幾何圖形 |
定義 | 對於空間點,傳回以 對於 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')) |
說明 | 支援的單位名稱(計算時必須用引號括起來,例如
|
DIFFERENCE
語法 | DIFFERENCE(Spatial, Spatial) |
輸出 | 空間多邊形 |
定義 | 計算當第二個參數中的所有區域從重疊區域中的第一個參數中劃分出來時剩餘的區域部分。捨棄第二個參數中不重疊的區域。 |
範例 | DIFFERENCE(Spatial Polygon1, Spatial Polygon2) |
說明 | 支援空間多邊形與多邊形,不支援空間點或線。 |
DISTANCE
語法 | DISTANCE(SpatialPoint1, SpatialPoint2, 'units') |
輸出 | 數字 |
定義 | 傳回指定 <unit> 中兩點之間的距離度量。 |
範例 | DISTANCE([Origin Point],[Destination Point], 'km') |
說明 | 支援的單位名稱(計算時必須用引號括起來,例如
|
資料庫限制 | 此函數只能透過即時連線建立,但若資料來源轉換為擷取,則此函數將繼續工作。 |
INTERSECTION
語法 | INTERSECTION (spatial, spatial) |
輸出 | 多邊形 |
定義 | 計算並傳回第二個參數中與第一個參數中的區域重疊的區域部分。 |
範例 | INTERSECTION (Spatial Polygon1, Spatial Polygon2) |
說明 | 支援空間多邊形與多邊形,不支援空間點或線。 |
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]) |
輸出 | 幾何圖形(點) |
定義 | 將 若新增可選的 |
範例 | MAKEPOINT(48.5, -123.1) MAKEPOINT([AirportLatitude], [AirportLongitude]) MAKEPOINT([Xcoord],[Ycoord], 3493) |
說明 |
可以使用 |
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(混合)與 Unsupported(不支援)。 |
範例 | SHAPETYPE(MAKEPOINT(48.5, -123.1)) = "Point" |
SYMDIFFERENCE
語法 | SYMDIFFERENCE(spatial, spatial) |
輸出 | 幾何圖形 |
定義 | 計算第二個參數中與第一個參數中的區域重疊的區域的任何部分,並從兩者中捨棄。從兩個參數傳回區域的剩餘部分。 |
範例 |
|
驗證
語法 | VALIDATE(spatial geometry) |
輸出 | 幾何圖形 |
定義 | 確認空間值中幾何圖形的拓樸是否正確。如果由於多邊形週長自相交等問題導致該值無法用於分析,則結果將為空。如果幾何圖形正確,結果將是原始幾何圖形。 |
範例 |
|
規則運算式
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'
想要瞭解函數的更多資訊?
請閱讀函數主題(連結在新視窗開啟)。