如果管理員已授予您建立表格計算的權限,您可以使用下列功能快速執行常見函式,不必建立 Looker 運算式:
- 快速計算:在「探索」的資料表中,快速對數值欄位執行常見計算
 如果管理員已授予您建立自訂欄位的權限,您可以使用下列功能快速執行常見函式,不必建立 Looker 運算式:
自訂群組:在自訂標籤下快速分組值,不需要在
sql參數或type: case欄位中開發CASE WHEN邏輯自訂特徵分塊:將數字型維度分組到自訂層級,不需開發
type: tierLookML 欄位
Looker 運算式 (有時稱為 Lexp) 可用於針對下列項目執行計算:
這類運算式的一大重點,在於您可在當中使用的函式和運算子。函式和運算子可分為幾個基本類別:
某些函式僅適用於資料表計算
適用於自訂篩選器和自訂欄位的 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) | 
使用參數 alpha 和 beta,傳回 Beta 分佈中 value 的位置。如果為 cumulative = yes,則傳回累積機率。 | 
beta_inv | 
beta_inv(probability,  alpha, beta) | 
傳回 probability 在反向 Beta 累積分佈中的位置,參數為 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) | 
傳回 Gamma 分布上 value 的位置,自由度為 dof。如果為 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) | 
傳回 probability 在反向 Gamma 累積分佈中的位置,參數為 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) | 
在已知成功機率 probability 的前提下,此函式可傳回出現 num_successes 次成功以前,會出現 num_failures 次失敗的機率。如果為 cumulative = yes,則傳回累積機率。 | 
norm_dist | 
norm_dist(value, mean,  stdev, cumulative) | 
根據指定的 mean 和 stdev,傳回 value 在常態分配中的位置。如果為 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() | 
傳回圓周率的值。 | 
poisson_dist | 
poisson_dist(value, lambda, cumulative) | 
傳回參數為 lambda 的卜瓦松分布中 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 的相對大小。 如需範例,請參閱「使用表格計算的排名」社群貼文。 | 
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 運算式的函式
僅適用於資料表計算的函式
| 函式 | 語法 | 目的 | 
|---|---|---|
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
    
  
可使用多個條件和結果設定條件式邏輯。如果第一個 when 案例的 yesno_arg 值為 yes,則傳回 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。 | 
下列比較運算子可用於數字、日期和字串:
您也可以將 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 中的值,該值與 lookup_column 中 value 所在的資料列相同。 | 
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) | 
從位置 (n + col_offset) 開始,傳回 pivot_expression 中的 num_values 值清單,其中 n 是目前的樞紐索引。針對未樞紐分析的結果傳回 null。 | 
pivot_row | 
pivot_row(expression) | 
以清單形式傳回 expression 的透視值。針對未樞紐分析的結果傳回 null。 如需使用 pivot_row 的範例,請參閱「資料表計算中的資料列匯總 (資料列總數)」和「如何計算總數百分比」最佳做法頁面。 | 
pivot_where | 
pivot_where(select_expression, expression) | 
傳回唯一符合 select_expression 或 null 的資料透視表欄 expression 值,如果沒有這類唯一欄,則傳回 expression。 | 
您使用的特定資料透視函式,會決定表格計算結果是顯示在每個透視欄旁,還是顯示在表格結尾的單一欄中。
自訂篩選器和自訂欄位的篩選函式
篩選函式可讓您使用篩選運算式,根據篩選後的資料傳回值。篩選函式適用於自訂篩選器、自訂指標的篩選器和自訂維度,但不適用於資料表計算。
| 函式 | 語法 | 目的 | 
|---|---|---|
matches_filter | 
matches_filter(field, filter_expression) | 
如果欄位值符合篩選運算式,則傳回 Yes;否則傳回 No。 |