

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# OPERAÇÃO\_BOOLEANA
<a name="recipe-actions.BOOLEAN_OPERATION"></a>

Crie uma nova coluna, com base no resultado da condição lógica IF. Retorne valor verdadeiro se a expressão booleana for verdadeira, valor falso se a expressão booleana for falsa ou retorne um valor personalizado.

**Parâmetros**
+ `trueValueExpression`— Resultado quando a condição for atendida.
+ `falseValueExpression`— Resultado quando a condição não é atendida.
+ `valueExpression`— Condição booleana.
+ `withExpressions`— Configuração para resultados agregados.
+ `targetColumn`: um nome para a coluna recém-criada.

Você pode usar valores constantes, referências de coluna e resultados agregados em trueValueExpression, false ValueExpression e ValueExpression.

**Example Exemplo: valores constantes**  
Valores que permanecem inalterados, como um número ou uma frase.  
  

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

**Example Exemplo: referências de coluna**  
Valores que são colunas no conjunto de dados.  
  

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

**Example Exemplo: resultados agregados**  
Valores que são calculados por funções agregadas. Uma função agregada executa um cálculo em uma coluna e retorna um único valor.  
  

```
{
  "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"
      }
    }
  }
}
```
Os usuários precisam converter o JSON em uma string escapando.  
Observe que os nomes dos parâmetros em true ValueExpressionValueExpression, false e valueExpression devem corresponder aos nomes em withExpressions. Para usar os resultados agregados de algumas colunas, você precisa criar parâmetros para elas e fornecer as funções agregadas.

**Example Exemplo:**  

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

**Example Exemplo: and/or.**  
Você pode usar e e ou para combinar várias condições.  
  

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

## Funções agregadas válidas
<a name="valid-aggregate-functions"></a>

A tabela abaixo mostra todas as funções agregadas válidas que podem ser usadas em uma operação booleana.



- ** Numérico **
  - **Condição:** Soma / **Expressão de valor:** `:sum.column.1` / **Com expressões:**  <pre>[<br />   {<br />      "name": "sum.column.1",<br />      "value": "sum(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Valor de retorno:** Retorna a soma de `column.1`
  - **Condição:** Média / **Expressão de valor:** `:mean.column.1` / **Com expressões:**  <pre>[<br />   {    <br />      "name": "mean.column.1",    <br />      "value": "avg(`column.1`)",    <br />      "type": "aggregate"  <br />   }<br />]</pre>  / **Valor de retorno:** Retorna a média de `column.1`
  - **Condição:** Desvio médio absoluto / **Expressão de valor:** `:desvio absoluto médio.column.1` / **Com expressões:**  <pre>[<br />   {    <br />      "name": "meanabsolutedeviation.column.1",<br />      "value": "mean_absolute_deviation(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Valor de retorno:** Retorna o desvio médio absoluto de `column.1`
  - **Condição:** Mediana / **Expressão de valor:** `:median.column.1` / **Com expressões:**  <pre>[<br />   {<br />      "name": "median.column.1",<br />      "value": "median(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Valor de retorno:** Retorna a mediana de `column.1`
  - **Condição:** Produto / **Expressão de valor:** `:product.column.1` / **Com expressões:**  <pre>[<br />   {<br />      "name": "product.column.1",<br />      "value": "product(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Valor de retorno:** Retorna o produto de `column.1`
  - **Condição:** Desvio padrão / **Expressão de valor:** `:desvio-padrão.column.1` / **Com expressões:**  <pre>[<br />   {<br />      "name": "standarddeviation.column.1",<br />      "value": "stddev(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Valor de retorno:** Retorna o desvio padrão de `column.1`
  - **Condição:** Variação / **Expressão de valor:** `:variance.column.1` / **Com expressões:**  <pre>[<br />   {<br />      "name": "variance.column.1",<br />      "value": "variance(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Valor de retorno:** Retorna a variância de `column.1`
  - **Condição:** Erro padrão da média / **Expressão de valor:** `:erro padrão de mean.column.1` / **Com expressões:**  <pre>[<br />   {<br />   "name": "standarderrorofmean.column.1",<br />   "value": "standard_error_of_mean(`column.1`)",<br />   "type": "aggregate"<br />   }<br />]</pre>  / **Valor de retorno:** Retorna o erro padrão da média de `column.1`
  - **Condição:** Distorção / **Expressão de valor:** `:skewness.column.1` / **Com expressões:**  <pre>[<br />   {<br />      "name": "skewness.column.1",<br />      "value": "skewness(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Valor de retorno:** Retorna a distorção de `column.1`
  - **Condição:** Curtose / **Expressão de valor:** `:curtosis.column.1` / **Com expressões:**  <pre>[<br />   {<br />      "name": "kurtosis.column.1",<br />      "value": "kurtosis(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Valor de retorno:** Retorna a curtose de `column.1`

- ** Datetime/Numeric/Text **
  - **Condição:** Contagem / **Expressão de valor:** `:count.column.1` / **Com expressões:**  <pre>[<br />   {<br />      "name": "count.column.1",<br />      "value": "count(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Valor de retorno:** Retorna o número total de linhas em `column.1`
  - **Condição:** Contagem de distintos / **Expressão de valor:** `:countdistinct.column.1` / **Com expressões:**  <pre>[<br />   {<br />      "name": "count.column.1",<br />      "value": "count(distinct `column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Valor de retorno:** Retorna o número total de linhas distintas em `column.1`
  - **Condição:** Mín. / **Expressão de valor:** `:min.column.1` / **Com expressões:**  <pre>[<br />   {<br />      "name": "min.column.1",<br />      "value": "min(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Valor de retorno:** Retorna o valor mínimo de `column.1`
  - **Condição:** Máx / **Expressão de valor:** `:max.column.1` / **Com expressões:**  <pre>[<br />   {<br />      "name": "max.column.1",<br />      "value": "max(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Valor de retorno:** Retorna o valor máximo de `column.1`



## Condições válidas em uma ValueExpression
<a name="valid-conditions-table"></a>

A tabela abaixo mostra as condições suportadas e as expressões de valor que você pode usar.



- ** String **
  - **Condição:** Contém / **Expressão de valor:** contém (`coluna`, 'texto') / **Description:** Condição para testar se o valor na coluna contém texto
  - **Condição:** Não contém / **Expressão de valor:** \! contém (`coluna`, 'texto') / **Description:** Condição para testar se o valor na coluna não contém texto
  - **Condição:** Correspondências / **Expressão de valor:** correspondências (`coluna`, 'padrão') / **Description:** Condição para testar se o valor na coluna corresponde ao padrão
  - **Condição:** Não coincide / **Expressão de valor:** \! correspondências (`coluna`, 'padrão') / **Description:** Condição para testar se o valor na coluna não corresponde ao padrão
  - **Condição:** Inicia com / **Expressão de valor:** StartsWith (`coluna`, 'texto') / **Description:** Condição para testar se o valor na coluna começa com texto
  - **Condição:** Não começa com / **Expressão de valor:** \! StartsWith (`coluna`, 'texto') / **Description:** Condição para testar se o valor na coluna não começa com texto
  - **Condição:** Termina com / **Expressão de valor:** endsWith (`coluna`, 'texto') / **Description:** Condição para testar se o valor na coluna termina com texto
  - **Condição:** Não termina com / **Expressão de valor:** \! endsWith (`coluna`, 'texto') / **Description:** Condição para testar se o valor na coluna não termina com texto

- ** Numérico **
  - **Condição:** Menor que / **Expressão de valor:** `coluna` < número / **Description:** Condição para testar se o valor na coluna é menor que o número
  - **Condição:** Menor ou igual a / **Expressão de valor:** `coluna` <= número / **Description:** Condição para testar se o valor na coluna é menor ou igual ao número
  - **Condição:** Maior que / **Expressão de valor:** `coluna` > número / **Description:** Condição para testar se o valor na coluna é maior que o número
  - **Condição:** Maior ou igual a / **Expressão de valor:** `coluna` >= número / **Description:** Condição para testar se o valor na coluna é maior ou igual ao número
  - **Condição:** Está entre / **Expressão de valor:** isBetween (`coluna`, minNumber, maxNumber) / **Description:** Condição para testar se o valor na coluna está entre minNumber e maxNumber
  - **Condição:** Não está entre / **Expressão de valor:** \! isBetween (`coluna`, minNumber, maxNumber) / **Description:** Condição para testar se o valor na coluna não está entre minNumber e maxNumber

- ** Booleano **
  - **Condição:** É verdade / **Expressão de valor:** `coluna` = VERDADEIRO / **Description:** Condição para testar se o valor na coluna é booleano TRUE
  - **Condição:** É falso / **Expressão de valor:** `coluna` = FALSO / **Description:** Condição para testar se o valor na coluna é booleano FALSE

- ** Date/Timestamp **
  - **Condição:** Antes de / **Expressão de valor:** `coluna` < 'data' / **Description:** Condição para testar se o valor na coluna é anterior à data
  - **Condição:** Anterior ou igual a / **Expressão de valor:** `coluna` <= 'data' / **Description:** Condição para testar se o valor na coluna é anterior ou igual à data
  - **Condição:** Mais tarde do que / **Expressão de valor:** `coluna` > 'data' / **Description:** Condição para testar se o valor na coluna é posterior à data
  - **Condição:** Mais tarde ou igual a / **Expressão de valor:** `coluna` >= 'data' / **Description:** Condição para testar se o valor na coluna é posterior ou igual à data

- ** String/Numeric/Date/Timestamp **
  - **Condição:** É exatamente / **Expressão de valor:** `coluna` = 'valor' / **Description:** Condição para testar se o valor na coluna é exatamente o valor
  - **Condição:** Não é / **Expressão de valor:** `coluna`\! = 'valor' / **Description:** Condição para testar se o valor na coluna não é valor
  - **Condição:** Está faltando / **Expressão de valor:** IsMissing (`coluna`) / **Description:** Condição para testar se o valor na coluna está ausente
  - **Condição:** Não está faltando / **Expressão de valor:** \! IsMissing (`coluna`) / **Description:** Condição para testar se o valor na coluna não está ausente
  - **Condição:** É válido / **Expressão de valor:** isValid (`coluna`, tipo de dados) / **Description:** Condição para testar se o valor na coluna é válido (o valor é do tipo de dados ou pode ser convertido em tipo de dados)
  - **Condição:** Não é válido / **Expressão de valor:** \! isValid (`coluna`, tipo de dados) / **Description:** Condição para testar se o valor na coluna não é válido (o valor é do tipo de dados ou pode ser convertido em tipo de dados)

- ** Aninhado **
  - **Condição:** Está faltando / **Expressão de valor:** IsMissing (`coluna`) / **Description:** Condição para testar se o valor na coluna está ausente
  - **Condição:** Não está faltando / **Expressão de valor:** \! IsMissing (`coluna`) / **Description:** Condição para testar se o valor na coluna não está ausente
  - **Condição:** É válido / **Expressão de valor:** isValid (`coluna`, tipo de dados) / **Description:** Condição para testar se o valor na coluna é válido (o valor é do tipo de dados ou pode ser convertido em tipo de dados)
  - **Condição:** Não é válido / **Expressão de valor:** \! isValid (`coluna`, tipo de dados) / **Description:** Condição para testar se o valor na coluna não é válido (o valor é do tipo de dados ou pode ser convertido em tipo de dados)

