本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
BOOLEAN_OPERATION
根據邏輯條件 IF 的結果建立新的資料欄。如果布林表達式為 true,則傳回 true 值;如果布林表達式為 false,則傳回 false 值,或傳回自訂值。
Parameters
-
trueValueExpression– 符合條件時的結果。 -
falseValueExpression– 不符合條件時的結果。 -
valueExpression– 布林值條件。 -
withExpressions– 彙總結果的組態。 -
targetColumn– 新建立資料欄的名稱。
您可以在 trueValueExpression、falseValueExpression 和 valueExpression 中使用常數值、資料欄參考和彙總結果。
範例範例:常數值
保持不變的值,例如數字或句子。
{ "RecipeStep": { "Action": { "Operation": "BOOLEAN_OPERATION", "Parameters": { "trueValueExpression": "It is true.", "falseValueExpression": "It is false.", "valueExpression": "`column.1` < 2000", "targetColumn": "result.column" } } } }
範例範例:資料欄參考
資料集中資料欄的值。
{ "RecipeStep": { "Action": { "Operation": "BOOLEAN_OPERATION", "Parameters": { "trueValueExpression": "`column.2`", "falseValueExpression": "`column.3`", "valueExpression": "`column.1` < `column.4`", "targetColumn": "result.column" } } } }
範例範例:彙總結果
由彙總函數計算的值。彙總函數會對資料欄執行計算,並傳回單一值。
{ "RecipeStep": { "Action": { "Operation": "BOOLEAN_OPERATION", "Parameters": { "trueValueExpression": "`:mincolumn.2`", "falseValueExpression": "`:maxcolumn.3`", "valueExpression": "`column.1` < `:avgcolumn.4`", "withExpressions": "[{\"name\":\"mincolumn.2\",\"value\":\"min(`column.2`)\",\"type\":\"aggregate\"},{\"name\":\"maxcolumn.3\",\"value\":\"max(`column.3`)\",\"type\":\"aggregate\"},{\"name\":\"avgcolumn.4\",\"value\":\"avg(`column.4`)\",\"type\":\"aggregate\"}]", "targetColumn": "result.column" } } } }
使用者需要透過逸出將 JSON 轉換為字串。
請注意,trueValueExpression、falseValueExpression 和 valueExpression 中的參數名稱必須與 withExpressions 中的名稱相符。若要使用某些資料欄的彙總結果,您需要為其建立參數並提供彙總函數。
範例範例:
{ "RecipeStep": { "Action": { "Operation": "BOOLEAN_OPERATION", "Parameters": { "trueValueExpression": "It is true.", "falseValueExpression": "It is false.", "valueExpression": "`column.1` < 2000", "targetColumn": "result.column" } } } }
範例範例: 和/或
您可以使用 和 或 來合併多個條件。
{ "RecipeStep": { "Action": { "Operation": "BOOLEAN_OPERATION", "Parameters": { "trueValueExpression": "It is true.", "falseValueExpression": "It is false.", "valueExpression": "`column.1` < 2000 and `column.2` >= `column.3", "targetColumn": "result.column" } } } } { "RecipeStep": { "Action": { "Operation": "BOOLEAN_OPERATION", "Parameters": { "trueValueExpression": "`column.4`", "falseValueExpression": "`column.5`", "valueExpression": "startsWith(`column1`, 'value1') or endsWith(`column2`, 'value2')", "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`,資料類型) |
測試資料欄中的值是否無效的條件 (該值為資料類型,或可轉換為資料類型) |