本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CASE_OPERATION
根據邏輯條件 CASE 的結果建立新的資料欄。案例操作會經歷案例條件,並在符合第一個條件時傳回值。一旦條件成立,操作就會停止讀取並傳回結果。如果沒有條件為 true,則會傳回預設值。
Parameters
-
valueExpression– 條件。 -
withExpressions– 彙總結果的組態。 -
targetColumn– 新建立資料欄的名稱。
範例範例
{ "RecipeStep": { "Action": { "Operation": "CASE_OPERATION", "Parameters": { "valueExpression": "case when `column11` < `column.2` then 'result1' when `column2` < 'value2' then 'result2' else 'high' end", "targetColumn": "result.column" } } } }
有效的彙總函數
下表顯示可在案例操作中使用的所有有效彙總函數。
| 資料欄類型 | 條件 | valueExpression | withExpressions | 傳回值 |
|---|---|---|---|---|
|
數值 |
總和 |
`:sum.column.1` |
|
傳回 的總和 |
|
Mean |
`:mean.column.1` |
|
傳回 的平均值 |
|
|
平均絕對偏差 |
`:meanabsolutedeviation.column.1` |
|
傳回 的平均絕對偏差 |
|
|
Median |
`:median.column.1` |
|
傳回 的中位數 |
|
|
產品 |
`:product.column.1` |
|
傳回 的乘積 |
|
|
標準偏差 |
`:standarddeviation.column.1` |
|
傳回 的標準差 |
|
|
變異數 |
`:variance.column.1` |
|
傳回 的變異數 |
|
|
平均值的標準錯誤 |
`:standarderrorofmean.column.1` |
|
傳回 平均值的標準錯誤 |
|
|
偏斜 |
`:skewness.column.1` |
|
傳回 |
|
|
峰度 |
`:kurtosis.column.1` |
|
傳回 |
|
|
Datetime/Numeric/Text |
計數 |
`:count.column.1` |
|
傳回 中的資料列總數 |
|
相異計數 |
`:countdistinct.column.1` |
|
傳回 中不同資料列的總數 |
|
|
最少 |
`:min.column.1` |
|
傳回 的最小值 |
|
|
最多 |
`:max.column.1` |
|
傳回 的最大值 |
valueExpression 中的有效條件
下表顯示支援的條件和您可以使用的值表達式。
| 資料欄類型 | 條件 | valueExpression | Description |
|---|---|---|---|
|
String |
Contains |
contains(`column`, 'text') |
要測試資料欄中的值是否包含文字的條件 |
|
不包含 |
!contains(`column`, 'text') |
要測試資料欄中的值是否不包含文字的條件 |
|
|
相符 |
matches(`column`, 'pattern') |
要測試資料欄中的值是否符合模式的條件 |
|
|
不符合 |
!matches(`column`, 'pattern') |
要測試資料欄中的值是否與模式不相符的條件 |
|
|
開頭為 |
startsWith(`column`, 'text') |
測試資料欄中的值是否以文字開頭的條件 |
|
|
開頭不是 |
!startsWith(`column`, 'text') |
要測試資料欄中的值是否不是以文字開頭的條件 |
|
|
Ends with |
endsWith(`column`, 'text') |
要測試資料欄中的值是否以文字結尾的條件 |
|
|
結尾不是 |
!endsWith(`column`, 'text') |
要測試資料欄中的值是否以文字結尾的條件 |
|
|
數值 |
Less than |
`column` < number |
要測試資料欄中的值是否小於數字的條件 |
|
小於或等於 |
`column` <= number |
要測試資料欄中的值是否小於或等於數字的條件 |
|
|
Greater than |
`column` > 數字 |
要測試資料欄中的值是否大於數字的條件 |
|
|
大於或等於 |
`column` >= number |
要測試資料欄中的值是否大於或等於數字的條件 |
|
|
介於 |
isBetween(`column`, minNumber, maxNumber) |
要測試資料欄中的值是否介於 minNumber 和 maxNumber 之間的條件 |
|
|
不在 之間 |
!isBetween(`column`, minNumber, maxNumber) |
要測試資料欄中的值是否不在 minNumber 和 maxNumber 之間的條件 |
|
|
Boolean |
為 true |
`column` = TRUE |
要測試資料欄中的值是否為布林值 TRUE 的條件 |
|
為 false |
`column` = FALSE |
要測試資料欄中的值是否為布林值 FALSE 的條件 |
|
|
日期/時間戳記 |
早於 |
`column` < 'date' |
要測試資料欄中的值是否早於日期的條件 |
|
早於或等於 |
`column` <= 'date' |
要測試資料欄中的值是否早於或等於日期的條件 |
|
|
晚於 |
`column` > 'date' |
要測試資料欄中的值是否晚於日期的條件 |
|
|
大於或等於 |
`column` >= 'date' |
要測試資料欄中的值是否晚於或等於日期的條件 |
|
|
String/Numeric/Date/時間戳記 |
完全是 |
`column` = 'value' |
測試資料欄中的值是否為確切值的條件 |
|
Is not |
`column` != 'value' |
要測試資料欄中的值是否不是值的條件 |
|
|
遺失 |
isMissing(`column`) |
測試資料欄中的值是否遺失的條件 |
|
|
未遺失 |
!isMissing(`column`) |
測試資料欄中的值是否未遺失的條件 |
|
|
有效 |
isValid(`column`,資料類型) |
測試資料欄中的值是否有效的條件 (該值為資料類型,或可轉換為資料類型) |
|
|
無效 |
!isValid(`column`,資料類型) |
測試資料欄中的值是否無效的條件 (該值為資料類型,或可轉換為資料類型) |
|
|
巢狀 |
遺失 |
isMissing(`column`) |
測試資料欄中的值是否遺失的條件 |
|
未遺失 |
!isMissing(`column`) |
測試資料欄中的值是否未遺失的條件 |
|
|
有效 |
isValid(`column`,資料類型) |
測試資料欄中的值是否有效的條件 (該值為資料類型,或可轉換為資料類型) |
|
|
無效 |
!isValid(`column`,資料類型) |
測試資料欄中的值是否無效的條件 (該值為資料類型,或可轉換為資料類型) |