

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\_CASO
<a name="recipe-actions.CASE_OPERATION"></a>

Crie uma nova coluna, com base no resultado da condição lógica CASE. A operação de caso passa pelas condições do caso e retorna um valor quando a primeira condição é atendida. Quando uma condição é verdadeira, a operação interrompe a leitura e retorna o resultado. Se nenhuma condição for verdadeira, ele retornará o valor padrão.

**Parâmetros**
+ `valueExpression`— Condições.
+ `withExpressions`— Configuração para resultados agregados.
+ `targetColumn`— Nome da coluna recém-criada.

**Example Exemplo**  
  

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

## 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 de caso.



- ** 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)

