Looker 函式和運算子

如果管理員已授予您建立資料表計算的權限,您可以使用下列功能快速執行常見函式,不必建立 Looker 運算式:

  • 快速計算:快速對「探索」資料表中的數值欄位執行常見計算

如果管理員已授予您建立自訂欄位的權限,您可以使用下列功能快速執行常見函式,不必建立 Looker 運算式:

Looker 運算式 (有時稱為 Lexp) 可用於針對下列項目執行計算:

這類運算式的一大重點,在於您可在當中使用的函式和運算子。函式和運算子可分為幾個基本類別:

  • 數學:數字相關函式
  • 字串:字詞和字母相關函式
  • 日期:日期和時間相關函式
  • 邏輯轉換:包括布林值 (true 或 false) 函式和比較運算子
  • 位置轉換:從不同資料列或資料透視擷取值

某些函式僅適用於資料表計算

適用於自訂篩選器和自訂欄位的 Looker 運算式,並不支援用於轉換資料類型、匯總多個資料列的資料,或是參照其他資料列或透視資料欄的 Looker 函式。這類函式僅支援資料表計算 (包括資料測試的 expression 參數中使用的資料表計算)。

本頁面會根據您使用 Looker 運算式的位置,說明可用的函式和運算子。

數學函式和運算子

數學函式和運算子有兩種運作方式:

  • 部分數學函式會根據單一資料列執行計算。舉例來說,您可以對單一資料列中的值使用四捨五入、平方根、乘法和類似函式,為每個資料列傳回不同的值。所有數學運算子 (例如 +) 都會一次套用至一列。
  • 其他數學函式 (例如平均值和累計總和) 則會對多個資料列執行運算。這些函式會採用多個資料列,並將其縮減為單一數字,然後在每個資料列上顯示該數字。

適用於任何 Looker 運算式的函式

函式 語法 目的
abs abs(value) 傳回 value 的絕對值。

如需範例,請參閱「使用資料表計算功能計算標準差,並偵測簡單的時間序列離群值」社群貼文。
ceiling ceiling(value) 傳回大於或等於 value 的最小整數。
exp exp(value) 回傳 e 的 value 次方。
floor floor(value) 傳回小於或等於 value 的最大整數。
ln ln(value) 傳回 value 的自然對數。
log log(value) 傳回 value 的對數 (以 10 為底)。
mod mod(value, divisor) 傳回 value 除以 divisor 的餘數。
power power(base, exponent) 傳回 base 的 exponent 次方。

如需範例,請參閱「使用資料表計算功能計算標準差,並偵測簡單的時間序列離群值」社群貼文。
rand rand() 傳回介於 0 到 1 之間的隨機數字。
round round(value, num_decimals) 傳回四捨五入至小數點後 num_decimals 位的 value。

如需使用 round 的範例,請參閱「在資料表計算中使用 pivot_index」和「使用資料表計算功能偵測標準差和簡單時間序列離群值」社群貼文。
sqrt sqrt(value) 傳回 value 的平方根。

如需範例,請參閱「使用資料表計算功能計算標準差,並偵測簡單的時間序列離群值」社群貼文。

僅適用於資料表計算的函式

其中許多函式會對多個資料列執行運算,且只會考量查詢傳回的資料列。

函式 語法 目的
acos acos(value) 傳回 value 的反餘弦值。
asin asin(value) 傳回 value 的反三角正弦值。
atan atan(value) 傳回 value 的反切線。
beta_dist beta_dist(value, alpha, beta, cumulative) 傳回 Beta 分配的 value 位置,並使用 alpha 和 beta 參數。如果 cumulative = yes,則傳回累積機率。
beta_inv beta_inv(probability, alpha, beta) 傳回反向累積分佈的 probability 位置,參數為 alpha 和 beta。
binom_dist binom_dist(num_successes, num_tests, probability, cumulative) 傳回在 num_tests 次測試中獲得 num_successes 次成功的機率,並提供成功次數 probability。如果 cumulative = yes,則傳回累積機率。
binom_inv binom_inv(num_tests, test_probability, target_probability) 傳回最小的數字 k,使得 binom(k, num_tests, test_probability, yes) >= target_probability。
chisq_dist chisq_dist(value, dof, cumulative) 傳回自由度為 dof 的 Gamma 分配中 value 的位置。如果 cumulative = yes,則傳回累積機率。
chisq_inv chisq_inv(probability, dof) 傳回自由度為 dof 的反向累積 Gamma 分配中 probability 的位置。
chisq_test chisq_test(actual, expected) 傳回卡方檢定機率,用於檢定 actual 和 expected 資料間的獨立性。actual 可以是資料欄或清單資料欄,而 expected 必須是相同類型。
combin combin(set_size, selection_size) 傳回從大小為 set_size 的集合中選擇 selection_size 個元素的方法總數。
confidence_norm confidence_norm(alpha, stdev, n) 傳回在顯著水準 alpha、標準差 stdev 和樣本大小 n 下,常態信賴區間寬度的一半。
confidence_t confidence_t(alpha, stdev, n) 在顯著水準 alpha、標準差 stdev 和樣本大小 n 下,傳回學生 t 分配信賴區間寬度的一半。
correl correl(column_1, column_2) 傳回 column_1 和 column_2 的相關係數。
cos cos(value) 傳回 value 的餘弦值。
count count(expression) 傳回 expression 所定義資料欄中非 null 值的數量。如果 expression 定義的是清單資料欄,則傳回每個清單中的數量。
count_distinct count_distinct(expression) 傳回 expression 所定義資料欄中不重複的非 null 值數量,但如果 expression 定義的是清單資料欄,則會傳回每個清單中的數量。
covar_pop covar_pop(column_1, column_2) 傳回 column_1 和 column_2 的母體共變異數。
covar_samp covar_samp(column_1, column_2) 傳回 column_1 和 column_2 的樣本共變異數。
degrees degrees(value) 將 value 從弧度轉換為角度。
expon_dist expon_dist(value, lambda, cumulative) 傳回指數分配中參數為 lambda 的 value 位置。如果 cumulative = yes,則傳回累積機率。
f_dist f_dist(value, dof_1, dof_2, cumulative) 傳回 F 分配中 value 的位置,並使用 dof_1 和 dof_2 參數。如果 cumulative = yes,則傳回累積機率。
f_inv f_inv(probability, dof_1, dof_2) 傳回參數為 dof_1 和 dof_2 的反向累積 F 分配位置。probability
fact fact(value) 傳回 value 的階乘。
gamma_dist gamma_dist(value, alpha, beta, cumulative) 傳回伽瑪分布上 value 的位置,參數為 alpha 和 beta。如果 cumulative = yes,則傳回累積機率。
gamma_inv gamma_inv(probability, alpha, beta) 傳回反向累積 Gamma 分佈上 probability 的位置,參數為 alpha 和 beta。
geomean geomean(expression) 傳回 expression 建立的資料欄幾何平均值,除非 expression 定義了清單資料欄,否則會傳回每個清單的幾何平均值。
hypgeom_dist hypgeom_dist(sample_successes, sample_size, population_successes, population_size, cumulative) 根據指定的 sample_size、population_successes 數量和 population_size,傳回取得 sample_successes 的機率。如果 cumulative = yes,則傳回累積機率。
intercept intercept(y_column, x_column) 傳回通過 y_column 和 x_column 所決定點的線性迴歸線截距。

如需範例,請參閱「How to Forecast in Looker with Table Calculations」社群貼文。
kurtosis kurtosis(expression) 傳回 expression 所建立資料欄的樣本超峰度,除非 expression 定義了清單資料欄,在這種情況下,系統會傳回每個清單的樣本超峰度。
large large(expression, k) 傳回 expression 所建立資料欄的第 k 大值,除非 expression 定義的是清單資料欄,在這種情況下,系統會傳回每個清單的第 k 大值。
match match(value, expression) 傳回 expression 所建立資料欄中第一個 value 的列號,但如果 expression 定義的是清單資料欄,則會傳回每個清單中 value 的位置。
max max(expression) 傳回 expression 所建立資料欄的最大值,除非 expression 定義的是清單資料欄,在這種情況下,系統會傳回每個清單的最大值。

如需使用 max 的範例,請參閱在資料表計算中使用清單和在資料表計算中依維度分組社群貼文。
mean mean(expression) 傳回 expression 建立的資料欄平均值,除非 expression 定義清單資料欄,在這種情況下,系統會傳回每個清單的平均值。

如需使用 mean 的範例,請參閱「計算移動平均值」和「使用資料表計算功能偵測標準差和簡單的時間序列離群值」社群貼文。
median median(expression) 傳回 expression 建立的資料欄中位數,除非 expression 定義清單資料欄,否則會傳回每個清單的中位數。
min min(expression) 傳回 expression 所建立資料欄的最小值,除非 expression 定義了清單資料欄,在這種情況下,系統會傳回每個清單的最小值。
mode mode(expression) 傳回 expression 建立的資料欄模式,除非 expression 定義了清單資料欄,在這種情況下,系統會傳回每個清單的模式。
multinomial multinomial(value_1, value_2, ...) 傳回引數總和的階乘,除以各引數階乘的乘積。
negbinom_dist negbinom_dist(num_failures, num_successes, probability, cumulative) 傳回在獲得 num_successes 次成功前,獲得 num_failures 次失敗的機率,並提供指定的成功機率 probability。如果 cumulative = yes,則傳回累積機率。
norm_dist norm_dist(value, mean, stdev, cumulative) 傳回常態分布中 value 的位置,並提供 mean 和 stdev。如果 cumulative = yes,則傳回累積機率。
norm_inv norm_inv(probability, mean, stdev) 傳回反向常態累積分配的 probability 位置。
norm_s_dist norm_s_dist(value, cumulative) 傳回標準常態分配中 value 的位置。如果 cumulative = yes,則傳回累積機率。
norm_s_inv norm_s_inv(probability) 傳回反向標準常態累積分配的 probability 位置。
percent_rank percent_rank(column, value) 傳回 value 在 column 中的百分比等級,範圍為 0 到 1 (含),其中 column 是包含要考量資料集的資料欄、欄位、清單或範圍,而 value 則是包含要判斷百分比等級值的資料欄。

用法示範:

percent_rank(${view_name.field_1}, ${view_name.field_1})

percent_rank(list(1, 2, 3), ${view_name.field_1})

percent_rank(list(1, 2, 3), 2)
percentile percentile(expression, percentile_value) 傳回 expression 建立的資料欄中與指定 percentile_value 對應的值,但如果 expression 定義的是清單資料欄,則會傳回每個清單的百分位數值。percentile_value 必須介於 0 到 1 之間,否則會傳回 null。
pi pi() 傳回 pi 的值。
poisson_dist poisson_dist(value, lambda, cumulative) 傳回參數為 lambda 的 Poisson 分配中 value 的位置。如果 cumulative = yes,則傳回累積機率。
product product(expression) 傳回 expression 建立的資料欄產品,除非 expression 定義清單資料欄,否則會傳回每個清單的產品。
radians radians(value) 將 value 從角度轉換為弧度。
rank rank(value, expression) 傳回 expression 所建立資料欄中 value 的排名。舉例來說,如要依訂單總銷售價格排序,可以使用 rank(${order_items.total_sale_price},${order_items.total_sale_price}),比較查詢中的整個 order_items.total_sale_price 欄,為查詢中的每個 order_items.total_sale_price 值提供排名。如果 expression 定義多個清單,這個函式會傳回每個清單中 value 的相對大小。

如需範例,請參閱「Ranks with Table Calculations」社群貼文。
rank_avg rank_avg(value, expression) 傳回 expression 所建立資料欄中 value 的平均排名,除非 expression 定義了清單資料欄,在這種情況下,系統會傳回每個清單中 value 的平均排名。
running_product running_product(value_column) 傳回 value_column 中值的累計乘積。
running_total running_total(value_column) 傳回 value_column 中值的累計總和。

如需範例,請參閱「使用資料表計算功能建立直欄累計總和」最佳做法頁面。
sin sin(value) 傳回 value 的正弦值。
skew skew(expression) 傳回 expression 所建立資料欄的樣本偏度,除非 expression 定義了清單資料欄,在這種情況下,系統會傳回每個清單的樣本偏度。
slope slope(y_column, x_column) 傳回通過 y_column 和 x_column 所決定點的線性迴歸線斜率。

如需範例,請參閱「How to Forecast in Looker with Table Calculations」社群貼文。
small small(expression, k) 傳回 expression 所建立資料欄的第 k 個最小值 (除非 expression 定義的是清單資料欄,在這種情況下,系統會傳回每個清單的第 k 個最小值)。
stddev_pop stddev_pop(expression) 傳回 expression 所建立資料欄的標準差 (母體),除非 expression 定義清單資料欄,在這種情況下,系統會傳回每個清單的標準差 (母體)。
stddev_samp stddev_samp(expression) 傳回 expression 所建立資料欄的標準差 (樣本),除非 expression 定義清單資料欄,在這種情況下,系統會傳回每個清單的標準差 (樣本)。
sum sum(expression) 傳回 expression 建立的資料欄總和,除非 expression 定義的是清單資料欄,在這種情況下,系統會傳回每個清單的總和。

如需使用 sum 的範例,請參閱「資料表計算中的資料列匯總 (資料列總數)」和「如何計算總數百分比」最佳做法頁面。
t_dist t_dist(value, dof, cumulative) 傳回 value 在自由度為 dof 的學生 t 分配中的位置。如果 cumulative = yes,則傳回累積機率。
t_inv t_inv(probability, dof) 傳回自由度為 dof 的反向常態累積分配中 probability 的位置。
t_test t_test(column_1, column_2, tails, type) 使用 1 或 2 個 tails,傳回對 column_1 和 column_2 資料進行學生 t 檢定的結果。type:1 = 配對、2 = 同質性、3 = 異質性。
tan tan(value) 傳回 value 的正切值。
var_pop var_pop(expression) 傳回 expression 所建立資料欄的變異數 (母體),除非 expression 定義的是清單資料欄,在這種情況下,系統會傳回每個清單的變異數 (母體)。
var_samp var_samp(expression) 傳回 expression 所建立資料欄的變異數 (樣本),除非 expression 定義了清單資料欄,在這種情況下,系統會傳回每個清單的變異數 (樣本)。
weibull_dist weibull_dist(value, shape, scale, cumulative) 傳回 Weibull 分配中 value 的位置,參數為 shape 和 scale。如果 cumulative = yes,則傳回累積機率。
z_test z_test(data, value, stdev) 使用假設平均值 value 的現有 data 和 stdev,傳回 z 檢定的單尾 p 值。

適用於任何 Looker 運算式的運算子

您可以使用下列標準數學運算子:

運算子 語法 目的
+ value_1 + value_2 新增 value_1 和 value_2。
- value_1 - value_2 從 value_1 減去 value_2。
* value_1 * value_2 將 value_1 和 value_2 相乘。
/ value_1 / value_2 將 value_1 除以 value_2。

字串函式

字串函式可處理句子、字詞或字母,這些統稱為「字串」。您可以使用字串函式將字詞和字母大寫、擷取詞組的部分內容、檢查字詞或字母是否位於詞組中,或是取代字詞或詞組的元素。字串函式也可以用來設定表格中傳回的資料格式。

適用於任何 Looker 運算式的函式

函式 語法 目的
concat concat(value_1, value_2, ...) 傳回 value_1、value_2、...、value_n,並以單一字串形式加入。
contains contains(string, search_string) 如果 string 包含 search_string,則傳回 Yes;否則傳回 No。contains 函式會區分大小寫。
length length(string) 傳回 string 中的字元數。
lower lower(string) 傳回 string,並將所有字元轉換為小寫。
position position(string, search_string) 如果 string 中存在 search_string,則傳回的起始索引,否則傳回 0。
replace replace(string, old_string, new_string) 傳回 string,並將所有 old_string 例項替換為 new_string。
substring substring(string, start_position, length) 傳回 string 的子字串,從 start_position 開始,包含 length 個字元。start_position 從 1 開始,1 表示字串中的第一個字元,2 表示字串中的第二個字元,依此類推。
upper upper(string) 傳回 string,並將所有字元轉換為大寫。

僅適用於資料表計算的函式

函式 語法 目的
split split(string, delimeter) 傳回 string 中以 delimiter 分隔的字串清單。
to_number to_number(string) 傳回 string 代表的數字,如果字串無法轉換,則傳回 null。
to_string to_string(value) 傳回 value 的字串表示法,如果 value 為空值,則傳回空白字串。

日期函式

日期函式可讓您處理日期和時間。

適用於任何 Looker 運算式的函式

函式 語法 目的
add_days add_days(number, date) 將 number 天數加到 date。
add_hours add_hours(number, date) 將 number 小時新增至 date。
add_minutes add_minutes(number, date) 將 number 分鐘新增至 date。
add_months add_months(number, date) 將 number 個月加到 date。
add_seconds add_seconds(number, date) 將 number 秒加到 date。
add_years add_years(number, date) 為 date 加上 number 年。
date date(year, month, day) 如果日期無效,則傳回「year-month-day」日期或 null。
date_time date_time(year, month, day, hours, minutes, seconds) 如果日期無效,則傳回 year-month-day hours:minutes:seconds 日期或 null。
diff_days diff_days(start_date, end_date) 傳回 start_date 和 end_date 之間的天數。

如需範例,請參閱在資料表計算中使用日期社群貼文。
diff_hours diff_hours(start_date, end_date) 傳回 start_date 和 end_date 之間的小時數。
diff_minutes diff_minutes(start_date, end_date) 傳回 start_date 和 end_date 之間的分鐘數。

如需範例,請參閱在資料表計算中使用日期社群貼文。
diff_months diff_months(start_date, end_date) 傳回 start_date 和 end_date 之間相差的月數。

如需範例,請參閱「在資料表計算中依維度分組」社群貼文。
diff_seconds diff_seconds(start_date, end_date) 傳回 start_date 和 end_date 之間的秒數。
diff_years diff_years(start_date, end_date) 傳回 start_date 和 end_date 之間相差的年數。
extract_days extract_days(date) 從 date 擷取天數。

如需範例,請參閱在資料表計算中使用日期社群貼文。
extract_hours extract_hours(date) 從 date 擷取小時。
extract_minutes extract_minutes(date) 從 date 擷取分鐘數。
extract_months extract_months(date) 從 date 中擷取月份。
extract_seconds extract_seconds(date) 從 date 中擷取秒數。
extract_years extract_years(date) 從 date 中擷取年份。
now now() 傳回目前的日期和時間。

如需使用 now 的範例,請參閱「Now() 資料表計算函式可更妥善處理時區」和「在資料表計算中使用日期」社群貼文。
trunc_days trunc_days(date) 將 date 截斷為天數。
trunc_hours trunc_hours(date) 將 date 截斷為小時。
trunc_minutes trunc_minutes(date) 將 date 截斷至分鐘。
trunc_months trunc_months(date) 將 date 截斷為月。
trunc_years trunc_years(date) 將 date 截斷為年。

僅適用於資料表計算的函式

函式 語法 目的
to_date to_date(string) 傳回對應至 string 的日期和時間 (YYYY、YYYY-MM、YYYY-MM-DD、YYYY-MM-DD hh、YYYY-MM-DD hh:mm 或 YYYY-MM-DD hh:mm:ss)。

邏輯函式、運算子和常數

邏輯函式和運算子可用於評估某件事是否屬實。使用這些元素的運算式會取值、根據某些條件評估值,並在符合條件時傳回 Yes,不符合條件時則傳回 No。此外,還有各種邏輯運算子可用於比較值和合併邏輯運算式。

適用於任何 Looker 運算式的函式

函式 語法 目的
case case(when(yesno_arg, value_if_yes), when(yesno_arg, value_if_yes), ..., else_value) 已新增 21.10 可使用多個條件和結果設定條件式邏輯。傳回第一個 yesno_arg 值為 yes 的 when 案例的 value_if_yes。如果所有 when 案例都是 no,則傳回 else_value。
coalesce coalesce(value_1, value_2, ...) 傳回 value_1、value_2、...、value_n 中的第一個非 null 值 (如有),否則傳回 null。

如需使用 coalesce 的範例,請參閱下列社群貼文:使用資料表計算功能計算各列的累計總和、使用資料表計算功能計算各列的總數百分比,以及在資料表計算中使用 pivot_index。
if if(yesno_expression, value_if_yes, value_if_no) 如果 yesno_expression 的評估結果為 Yes,則傳回 value_if_yes 值。否則會傳回 value_if_no 值。

如需範例,請參閱「在資料表計算中依維度分組」社群貼文。
is_null is_null(value) 如果 value 為 null,則傳回 Yes,否則傳回 No。

如需範例,請參閱「建立 Looker 運算式」說明文件頁面。如需使用 is_null 和 NOT 運算子的其他範例,請參閱「使用資料表計算」說明文件頁面。

適用於任何 Looker 運算式的運算子

下列比較運算子可與任何資料類型搭配使用:

運算子 語法 目的
= value_1 = value_2 如果 value_1 等於 value_2,則傳回 Yes,否則傳回 No。
!= value_1 != value_2 如果 value_1 不等於 value_2,則傳回 Yes,否則傳回 No。

下列比較運算子可用於數字、日期和字串:

運算子 語法 目的
> value_1 > value_2 如果 value_1 大於 value_2,則傳回 Yes,否則傳回 No。
< value_1 < value_2 如果 value_1 小於 value_2,則傳回 Yes,否則傳回 No。
>= value_1 >= value_2 如果 value_1 大於或等於 value_2,則傳回 Yes;否則傳回 No。
<= value_1 <= value_2 如果 value_1 小於或等於 value_2,則傳回 Yes;否則傳回 No。

您也可以將 Looker 運算式與下列邏輯運算子合併:

運算子 語法 目的
AND value_1 AND value_2 如果 value_1 和 value_2 均為 Yes,則傳回 Yes,否則傳回 No。
OR value_1 OR value_2 如果 value_1 或 value_2 為 Yes,則傳回 Yes;否則傳回 No。
NOT NOT value 如果 value 為 No,則傳回 Yes;否則傳回 No。

這些邏輯運算子必須大寫。以小寫字母撰寫的邏輯運算子無法運作。

邏輯常數

您可以在 Looker 運算式中使用邏輯常數。這些常數一律以小寫格式表示,且具有下列意義:

固定常數 意義
yes 是
no 否
null 沒有值

請注意,常數 yes 和 no 是特殊符號,在 Looker 運算式中代表 true 或 false。相反地,使用引號 (例如 "yes" 和 "no") 會建立具有這些值的字串常值。

邏輯運算式會評估為 True 或 False,不需要 if 函式。舉例來說,以下程式碼:

if(${field} > 100, yes, no)

相當於:

${field} > 100

您也可以使用 null 表示沒有值。舉例來說,您可能想判斷欄位是否為空白,或在特定情況下指派空白值。如果欄位值小於 1,這個公式不會傳回任何值;如果欄位值大於 1,則會傳回欄位值:

if(${field} < 1, null, ${field})

合併 AND 和 OR 運算子

如果您未以括號指定順序,系統會先評估 AND 運算子,再評估 OR 運算子。因此,下列運算式不含額外括號:

if (
  ${order_items.days_to_process}>=4 OR
  ${order_items.shipping_time}>5 AND
  ${order_facts.is_first_purchase},
"review", "okay")

會評估為:

if (
  ${order_items.days_to_process}>=4 OR
  (${order_items.shipping_time}>5 AND ${order_facts.is_first_purchase}),
"review", "okay")

位置函式

建立資料表計算時,您可以使用位置轉換函式,擷取不同資料列或透視資料欄中的欄位資訊。您也可以建立清單,並擷取目前的資料列或資料透視表欄索引。

僅適用於資料表計算的欄和列總計

如果探索包含總計,您可以參考資料欄和資料列的總值:

函式 語法 目的
:total ${field:total} 傳回欄位總計。
:row_total ${field:row_total} 傳回欄位的列總計。

其中部分函式會使用資料列的相對位置,因此變更資料列的排序順序會影響函式結果。

函式 語法 目的
index index(expression, n) 傳回 expression 所建立資料欄的第 n 個元素值,除非 expression 定義的是清單資料欄,在這種情況下,系統會傳回每個清單的第 n 個元素。
list list(value_1, value_2, ...) 使用指定值建立清單。

如需範例,請參閱在資料表計算中使用清單社群貼文。
lookup lookup(value, lookup_column, result_column) 傳回 result_column 中與 value 位於 lookup_column 同一列的值。
offset offset(column, row_offset) 傳回 column 中第 (n + row_offset) 列的值,其中 n 是目前的列號。

如需使用 offset 的範例,請參閱「使用資料表計算功能計算與前一期相比的百分比和百分比變化」最佳做法頁面。
offset_list offset_list(column, row_offset, num_values) 傳回 column 中從第 (n + row_offset) 列開始的 num_values 值清單,其中 n 是目前的列號。

如需範例,請參閱「計算移動平均值」社群貼文。
row row() 傳回目前的列號。

其中部分函式會使用樞紐資料欄的相對位置,因此變更樞紐維度的排序順序會影響這些函式的結果。

函式 語法 目的
pivot_column pivot_column() 傳回目前樞紐分析資料欄的索引。
pivot_index pivot_index(expression, pivot_index) 在位置 pivot_index 的樞紐欄內容中評估 expression (1 代表第一個樞紐,2 代表第二個樞紐,以此類推)。針對未透視的結果傳回空值。

如需使用 pivot_index 的範例,請參閱在資料表計算中使用 pivot_index 和使用資料表計算功能建立各列的總數百分比社群貼文。
pivot_offset pivot_offset(pivot_expression, col_offset) 傳回位置 (n + col_offset) 中的 pivot_expression 值,其中 n 是目前的樞紐分析表欄位置。針對未透視的結果傳回空值。

如需使用 pivot_offset 的範例,請參閱「使用資料表計算功能計算各列的累計總和」社群貼文,以及「使用資料表計算功能計算與前一期相比的百分比和百分比變化」最佳做法頁面。
pivot_offset_list pivot_offset_list(pivot_expression, col_offset, num_values) 傳回 pivot_expression 中從位置 (n + col_offset) 開始的 num_values 值清單,其中 n 是目前的樞紐索引。針對未透視的結果傳回 null。
pivot_row pivot_row(expression) 以清單形式傳回 expression 的樞紐分析值。針對未透視的結果傳回 null。

如需使用 pivot_row 的範例,請參閱「資料表計算中的資料列匯總 (資料列總數)」和「如何計算總數百分比」最佳做法頁面。
pivot_where pivot_where(select_expression, expression) 如果不存在這類唯一資料欄,則傳回唯一滿足 select_expression 或 null 的資料透視資料欄 expression 值。

您使用的特定樞紐函式會決定表格計算結果是顯示在每個樞紐資料欄旁,還是顯示在表格結尾的單一資料欄中。

自訂篩選器和自訂欄位的篩選函式

篩選函式可讓您使用篩選運算式,根據篩選後的資料傳回值。篩選函式適用於自訂篩選器、自訂指標的篩選器和自訂維度,但不適用於資料表計算。

函式 語法 目的
matches_filter matches_filter(field, filter_expression) 如果欄位值符合篩選運算式,則傳回 Yes;否則傳回 No。