

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# BOOLEAN\_OPERATION
<a name="recipe-actions.BOOLEAN_OPERATION"></a>

논리적 조건 IF의 결과를 기반으로 새 열을 생성합니다. 부울 표현식이 true이면 true 값을 반환하고, 부울 표현식이 false이면 false 값을 반환하거나 사용자 지정 값을 반환합니다.

**파라미터**
+ `trueValueExpression` - 조건이 충족될 때의 결과입니다.
+ `falseValueExpression` - 조건이 충족되지 않을 때의 결과입니다.
+ `valueExpression` - 부울 조건입니다.
+ `withExpressions` - 집계 결과에 대한 구성입니다.
+ `targetColumn` - 새로 생성된 열의 이름.

trueValueExpression, falseValueExpression 및 valueExpression에서 상수 값, 열 참조 및 집계 결과를 사용할 수 있습니다.

**Example 예: 상수 값**  
숫자 또는 문장과 같이 변경되지 않은 값입니다.  
  

```
{
  "RecipeStep": {
    "Action": {
      "Operation": "BOOLEAN_OPERATION",
      "Parameters": {
        "trueValueExpression": "It is true.",
        "falseValueExpression": "It is false.",
        "valueExpression": "`column.1` < 2000",
        "targetColumn": "result.column"
      }
    }
  }
}
```

**Example 예: 열 참조**  
데이터 세트의 열인 값입니다.  
  

```
{
  "RecipeStep": {
    "Action": {
      "Operation": "BOOLEAN_OPERATION",
      "Parameters": {
        "trueValueExpression": "`column.2`",
        "falseValueExpression": "`column.3`",
        "valueExpression": "`column.1` < `column.4`",
        "targetColumn": "result.column"
      }
    }
  }
}
```

**Example 예: 결과 집계**  
집계 함수에 의해 계산되는 값입니다. 집계 함수는 열에 대한 계산을 수행하고 단일 값을 반환합니다.  
  

```
{
  "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의 이름과 일치해야 합니다. 일부 열의 집계 결과를 사용하려면 해당 열에 대한 파라미터를 생성하고 집계 함수를 제공해야 합니다.

**Example 예제:**  

```
{
  "RecipeStep": {
    "Action": {
      "Operation": "BOOLEAN_OPERATION",
      "Parameters": {
        "trueValueExpression": "It is true.",
        "falseValueExpression": "It is false.",
        "valueExpression": "`column.1` < 2000",
        "targetColumn": "result.column"
      }
    }
  }
}
```

**Example 예: 및/또는**  
및 및 또는를 사용하여 여러 조건을 결합할 수 있습니다.  
  

```
{
  "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"
      }
    }
  }
}
```

## 유효한 집계 함수
<a name="valid-aggregate-functions"></a>

아래 표에는 부울 작업에 사용할 수 있는 유효한 집계 함수가 모두 나와 있습니다.



- ** Numeric **
  - **조건:** Sum / **valueExpression:** `:sum.column.1` / **withExpressions:**  <pre>[<br />   {<br />      "name": "sum.column.1",<br />      "value": "sum(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **반환 값:** 의 합계를 반환합니다. `column.1` 
  - **조건:** 평균 / **valueExpression:** `:mean.column.1` / **withExpressions:**  <pre>[<br />   {    <br />      "name": "mean.column.1",    <br />      "value": "avg(`column.1`)",    <br />      "type": "aggregate"  <br />   }<br />]</pre>  / **반환 값:** 의 평균을 반환합니다. `column.1` 
  - **조건:** 평균 절대 편차 / **valueExpression:** `:meanabsolutedeviation.column.1` / **withExpressions:**  <pre>[<br />   {    <br />      "name": "meanabsolutedeviation.column.1",<br />      "value": "mean_absolute_deviation(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **반환 값:** 의 평균 절대 편차를 반환합니다. `column.1` 
  - **조건:** 중간 / **valueExpression:** `:median.column.1` / **withExpressions:**  <pre>[<br />   {<br />      "name": "median.column.1",<br />      "value": "median(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **반환 값:** 의 중앙값을 반환합니다. `column.1` 
  - **조건:** 제품 / **valueExpression:** `:product.column.1` / **withExpressions:**  <pre>[<br />   {<br />      "name": "product.column.1",<br />      "value": "product(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **반환 값:** 의 제품을 반환합니다. `column.1` 
  - **조건:** 표준 편차 / **valueExpression:** `:standarddeviation.column.1` / **withExpressions:**  <pre>[<br />   {<br />      "name": "standarddeviation.column.1",<br />      "value": "stddev(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **반환 값:** 의 표준 편차를 반환합니다. `column.1` 
  - **조건:** 분산 / **valueExpression:** `:variance.column.1` / **withExpressions:**  <pre>[<br />   {<br />      "name": "variance.column.1",<br />      "value": "variance(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **반환 값:** 의 분산을 반환합니다. `column.1` 
  - **조건:** 평균의 표준 오차 / **valueExpression:** `:standarderrorofmean.column.1` / **withExpressions:**  <pre>[<br />   {<br />   "name": "standarderrorofmean.column.1",<br />   "value": "standard_error_of_mean(`column.1`)",<br />   "type": "aggregate"<br />   }<br />]</pre>  / **반환 값:** 평균의 표준 오차를 반환합니다. `column.1` 
  - **조건:** 왜도 / **valueExpression:** `:skewness.column.1` / **withExpressions:**  <pre>[<br />   {<br />      "name": "skewness.column.1",<br />      "value": "skewness(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **반환 값:** 의 왜도를 반환합니다. `column.1` 
  - **조건:** 쿠르트증 / **valueExpression:** `:kurtosis.column.1` / **withExpressions:**  <pre>[<br />   {<br />      "name": "kurtosis.column.1",<br />      "value": "kurtosis(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **반환 값:** 의 kurtosis를 반환합니다. `column.1` 

- ** Datetime/Numeric/Text **
  - **조건:** 개수 / **valueExpression:** `:count.column.1` / **withExpressions:**  <pre>[<br />   {<br />      "name": "count.column.1",<br />      "value": "count(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **반환 값:** 의 총 행 수를 반환합니다. `column.1` 
  - **조건:** 고유한 수 / **valueExpression:** `:countdistinct.column.1` / **withExpressions:**  <pre>[<br />   {<br />      "name": "count.column.1",<br />      "value": "count(distinct `column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **반환 값:** 에서 고유 행의 총 수를 반환합니다. `column.1` 
  - **조건:** 최소 / **valueExpression:** `:min.column.1` / **withExpressions:**  <pre>[<br />   {<br />      "name": "min.column.1",<br />      "value": "min(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **반환 값:** 의 최소값을 반환합니다. `column.1` 
  - **조건:** 최대 / **valueExpression:** `:max.column.1` / **withExpressions:**  <pre>[<br />   {<br />      "name": "max.column.1",<br />      "value": "max(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **반환 값:** 의 최대값을 반환합니다. `column.1` 



## valueExpression의 유효한 조건
<a name="valid-conditions-table"></a>

아래 표에는 지원되는 조건과 사용할 수 있는 값 표현식이 나와 있습니다.



- ** 문자열 **
  - **조건:** 포함 / **valueExpression:** contains(`column`, 'text') / **설명:** 열의 값에 텍스트가 포함되어 있는지 테스트하는 조건
  - **조건:** 를 포함하지 않음 / **valueExpression:** \!contains(`column`, 'text') / **설명:** 열의 값이 텍스트를 포함하지 않는지 테스트하는 조건
  - **조건:** 일치 항목 / **valueExpression:** matches(`column`, 'pattern') / **설명:** 열의 값이 패턴과 일치하는지 테스트하는 조건
  - **조건:** 일치하지 않음 / **valueExpression:** \!matches(`column`, 'pattern') / **설명:** 열의 값이 패턴과 일치하지 않는지 테스트하는 조건
  - **조건:** 다음으로 시작 / **valueExpression:** startsWith(`column`, 'text') / **설명:** 열의 값이 텍스트로 시작하는지 테스트하는 조건
  - **조건:** 로 시작하지 않음 / **valueExpression:** \!startsWith(`column`, 'text') / **설명:** 열의 값이 텍스트로 시작되지 않는지 테스트하는 조건
  - **조건:** 다음으로 끝남 / **valueExpression:** endsWith(`column`, 'text') / **설명:** 열의 값이 텍스트로 끝나는지 테스트하는 조건
  - **조건:** 로 끝나지 않음 / **valueExpression:** \!endsWith(`column`, 'text') / **설명:** 열의 값이 텍스트로 끝나지 않는지 테스트하는 조건

- ** Numeric **
  - **조건:** 보다 작음 / **valueExpression:** `column` < 숫자 / **설명:** 열의 값이 숫자보다 작은지 테스트하는 조건
  - **조건:** 작거나 같음 / **valueExpression:** `column` <= 숫자 / **설명:** 열의 값이 숫자보다 작거나 같은지 테스트하는 조건
  - **조건:** 보다 큼 / **valueExpression:** `column` > 숫자 / **설명:** 열의 값이 숫자보다 큰지 테스트하는 조건
  - **조건:** 크거나 같음 / **valueExpression:** `column` >= 숫자 / **설명:** 열의 값이 숫자보다 크거나 같은지 테스트하는 조건
  - **조건:** 사이에 있음 / **valueExpression:** isBetween(`column`, minNumber, maxNumber) / **설명:** 열의 값이 minNumber와 maxNumber 사이에 있는지 테스트하는 조건
  - **조건:** 사이에 있지 않음 / **valueExpression:** \!isBetween(`column`, minNumber, maxNumber) / **설명:** 열의 값이 minNumber와 maxNumber 사이에 있지 않은지 테스트하는 조건

- ** 부울 **
  - **조건:** true입니다. / **valueExpression:** `column` = TRUE / **설명:** 열의 값이 부울 TRUE인지 테스트하는 조건
  - **조건:** false임 / **valueExpression:** `column` = FALSE / **설명:** 열의 값이 부울 FALSE인지 테스트하는 조건

- ** Date/Timestamp **
  - **조건:** 이전 / **valueExpression:** `column` < 'date' / **설명:** 열의 값이 날짜보다 이전인지 테스트하는 조건
  - **조건:** 이하 / **valueExpression:** `column` <= 'date' / **설명:** 열의 값이 날짜보다 빠르거나 같은지 테스트하는 조건
  - **조건:** 보다 이후 / **valueExpression:** `column` > 'date' / **설명:** 열의 값이 날짜 이후인지 테스트하는 조건
  - **조건:** 보다 크거나 같음 / **valueExpression:** `column` >= 'date' / **설명:** 열의 값이 날짜보다 크거나 같은지 테스트하는 조건

- ** String/Numeric/Date/타임스탬프 **
  - **조건:** 정확히 입니다. / **valueExpression:** `column` = '값' / **설명:** 열의 값이 정확히 값인지 테스트하는 조건
  - **조건:** Is not / **valueExpression:** `column` \!= '값' / **설명:** 열의 값이 값이 아닌지 테스트하는 조건
  - **조건:** 누락됨 / **valueExpression:** isMissing(`column`) / **설명:** 열의 값이 누락된 경우 테스트할 조건
  - **조건:** 누락되지 않음 / **valueExpression:** \!isMissing(`column`) / **설명:** 열의 값이 누락되지 않았는지 테스트하는 조건
  - **조건:** 유효함 / **valueExpression:** isValid(`column`, datatype) / **설명:** 열의 값이 유효한지 테스트하는 조건(값이 데이터 형식이거나 데이터 형식으로 변환할 수 있음)
  - **조건:** 유효하지 않음 / **valueExpression:** \!isValid(`column`, datatype) / **설명:** 열의 값이 유효하지 않은지 테스트하는 조건(값이 데이터 형식이거나 데이터 형식으로 변환할 수 있음)

- ** 중첩 **
  - **조건:** 누락됨 / **valueExpression:** isMissing(`column`) / **설명:** 열의 값이 누락된 경우 테스트할 조건
  - **조건:** 누락되지 않음 / **valueExpression:** \!isMissing(`column`) / **설명:** 열의 값이 누락되지 않았는지 테스트하는 조건
  - **조건:** 유효함 / **valueExpression:** isValid(`column`, datatype) / **설명:** 열의 값이 유효한지 테스트하는 조건(값이 데이터 형식이거나 데이터 형식으로 변환할 수 있음)
  - **조건:** 유효하지 않음 / **valueExpression:** \!isValid(`column`, datatype) / **설명:** 열의 값이 유효하지 않은지 테스트하는 조건(값이 데이터 형식이거나 데이터 형식으로 변환할 수 있음)

