

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# CASE\_OPERATION
<a name="recipe-actions.CASE_OPERATION"></a>

Cree una nueva columna en función del resultado de la condición lógica CASE. La operación de caso examina las condiciones de cada caso y devuelve un valor cuando se cumple la primera condición. Una vez que se cumple una condición, la operación deja de leer y devuelve el resultado. Si no se cumple ninguna condición, devuelve el valor predeterminado.

**Parameters**
+ `valueExpression`— Condiciones.
+ `withExpressions`— Configuración para resultados agregados.
+ `targetColumn`— Nombre de la columna recién creada.

**Example Ejemplo**  
  

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

## Funciones de agregación válidas
<a name="valid-aggregate-functions"></a>

La siguiente tabla muestra todas las funciones de agregación válidas que se pueden utilizar en una operación de caso.



- ** Numérico **
  - **Condición:** Sum / **Expresión de valor:** `:sum.column.1` / **Con expresiones:**  <pre>[<br />   {<br />      "name": "sum.column.1",<br />      "value": "sum(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Valor devuelto:** Devuelve la suma de `column.1`
  - **Condición:** Media / **Expresión de valor:** `:mean.column.1` / **Con expresiones:**  <pre>[<br />   {    <br />      "name": "mean.column.1",    <br />      "value": "avg(`column.1`)",    <br />      "type": "aggregate"  <br />   }<br />]</pre>  / **Valor devuelto:** Devuelve la media de `column.1`
  - **Condición:** Desviación absoluta media / **Expresión de valor:** `:desviación absoluta media. Column.1` / **Con expresiones:**  <pre>[<br />   {    <br />      "name": "meanabsolutedeviation.column.1",<br />      "value": "mean_absolute_deviation(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Valor devuelto:** Devuelve la desviación absoluta media de `column.1`
  - **Condición:** Median / **Expresión de valor:** `:median.column.1` / **Con expresiones:**  <pre>[<br />   {<br />      "name": "median.column.1",<br />      "value": "median(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Valor devuelto:** Devuelve la mediana de `column.1`
  - **Condición:** Producto / **Expresión de valor:** `:product.column.1` / **Con expresiones:**  <pre>[<br />   {<br />      "name": "product.column.1",<br />      "value": "product(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Valor devuelto:** Devuelve el producto de `column.1`
  - **Condición:** Desviación estándar / **Expresión de valor:** `:standarddeviation.column.1` / **Con expresiones:**  <pre>[<br />   {<br />      "name": "standarddeviation.column.1",<br />      "value": "stddev(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Valor devuelto:** Devuelve la desviación estándar de `column.1`
  - **Condición:** Varianza / **Expresión de valor:** `:variance.column.1` / **Con expresiones:**  <pre>[<br />   {<br />      "name": "variance.column.1",<br />      "value": "variance(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Valor devuelto:** Devuelve la varianza de `column.1`
  - **Condición:** Error estándar de la media / **Expresión de valor:** `:error estándar de mean.column.1` / **Con expresiones:**  <pre>[<br />   {<br />   "name": "standarderrorofmean.column.1",<br />   "value": "standard_error_of_mean(`column.1`)",<br />   "type": "aggregate"<br />   }<br />]</pre>  / **Valor devuelto:** Devuelve el error estándar de la media de `column.1`
  - **Condición:** Asimetría / **Expresión de valor:** `:asimetría.column.1` / **Con expresiones:**  <pre>[<br />   {<br />      "name": "skewness.column.1",<br />      "value": "skewness(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Valor devuelto:** Devuelve la asimetría de `column.1`
  - **Condición:** Curtosis / **Expresión de valor:** `:kurtosis.column.1` / **Con expresiones:**  <pre>[<br />   {<br />      "name": "kurtosis.column.1",<br />      "value": "kurtosis(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Valor devuelto:** Devuelve la curtosis de `column.1`

- ** Datetime/Numeric/Text **
  - **Condición:** Recuento / **Expresión de valor:** `:count.column.1` / **Con expresiones:**  <pre>[<br />   {<br />      "name": "count.column.1",<br />      "value": "count(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Valor devuelto:** Devuelve el número total de filas de `column.1`
  - **Condición:** Recuento distinto / **Expresión de valor:** `:countdistinct.column.1` / **Con expresiones:**  <pre>[<br />   {<br />      "name": "count.column.1",<br />      "value": "count(distinct `column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Valor devuelto:** Devuelve el número total de filas distintas de `column.1`
  - **Condición:** Mínimo / **Expresión de valor:** `:min.column.1` / **Con expresiones:**  <pre>[<br />   {<br />      "name": "min.column.1",<br />      "value": "min(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Valor devuelto:** Devuelve el valor mínimo de `column.1`
  - **Condición:** Máximo / **Expresión de valor:** `:max.column.1` / **Con expresiones:**  <pre>[<br />   {<br />      "name": "max.column.1",<br />      "value": "max(`column.1`)",<br />      "type": "aggregate"<br />   }<br />]</pre>  / **Valor devuelto:** Devuelve el valor máximo de `column.1`



## Condiciones válidas en una ValueExpression
<a name="valid-conditions-table"></a>

En la siguiente tabla se muestran las condiciones admitidas y las expresiones de valores que puede utilizar.



- ** Cadena **
  - **Condición:** Contiene / **Expresión de valor:** contiene (`columna`, 'texto') / **Description (Descripción):** Condición para comprobar si el valor de la columna contiene texto
  - **Condición:** No contiene / **Expresión de valor:** \! contiene (`columna`, 'texto') / **Description (Descripción):** Condición para comprobar si el valor de la columna no contiene texto
  - **Condición:** Coincide / **Expresión de valor:** coincidencias (`columna`, 'patrón') / **Description (Descripción):** Condición para comprobar si el valor de la columna coincide con el patrón
  - **Condición:** No coincide / **Expresión de valor:** \! coincidencias (`columna`, 'patrón') / **Description (Descripción):** Condición para comprobar si el valor de la columna no coincide con el patrón
  - **Condición:** Empieza por / **Expresión de valor:** StartsWith (`columna`, 'texto') / **Description (Descripción):** Condición para comprobar si el valor de la columna comienza con texto
  - **Condición:** No comienza con / **Expresión de valor:** \! StartsWith (`columna`, 'texto') / **Description (Descripción):** Condición para comprobar si el valor de la columna no comienza con texto
  - **Condición:** Acaba con / **Expresión de valor:** Termina con (`columna`, 'texto') / **Description (Descripción):** Condición para comprobar si el valor de la columna termina con texto
  - **Condición:** No termina en / **Expresión de valor:** \! Termina con (`columna`, 'texto') / **Description (Descripción):** Condición para comprobar si el valor de la columna no termina con texto

- ** Numérico **
  - **Condición:** Menor que / **Expresión de valor:** `columna` < número / **Description (Descripción):** Condición para comprobar si el valor de la columna es menor que un número
  - **Condición:** Menor o igual que / **Expresión de valor:** `columna` <= número / **Description (Descripción):** Condición para comprobar si el valor de la columna es menor o igual que un número
  - **Condición:** Mayor que / **Expresión de valor:** `columna` > número / **Description (Descripción):** Condición para comprobar si el valor de la columna es mayor que un número
  - **Condición:** Mayor o igual que / **Expresión de valor:** `columna` >= número / **Description (Descripción):** Condición para comprobar si el valor de la columna es mayor o igual que un número
  - **Condición:** Está entre / **Expresión de valor:** isBetween (`column`, minNumber, maxNumber) / **Description (Descripción):** Condición para comprobar si el valor de la columna está entre minNumber y maxNumber
  - **Condición:** No está entre / **Expresión de valor:** \! isBetween (`columna`, número mínimo, número máximo) / **Description (Descripción):** Condición para comprobar si el valor de la columna no está entre minNumber y maxNumber

- ** Booleano **
  - **Condición:** ¿Es cierto / **Expresión de valor:** `column` = VERDADERO / **Description (Descripción):** Condición para comprobar si el valor de la columna es booleano TRUE
  - **Condición:** Es falso / **Expresión de valor:** `column` = FALSO / **Description (Descripción):** Condición para comprobar si el valor de la columna es booleano FALSO

- ** Date/Timestamp **
  - **Condición:** Antes de / **Expresión de valor:** `column` < 'fecha' / **Description (Descripción):** Condición para comprobar si el valor de la columna es anterior a la fecha
  - **Condición:** Anterior o igual a / **Expresión de valor:** `columna` <= 'fecha' / **Description (Descripción):** Condición para comprobar si el valor de la columna es anterior o igual a la fecha
  - **Condición:** Más tarde que / **Expresión de valor:** `columna` > 'fecha' / **Description (Descripción):** Condición para comprobar si el valor de la columna es posterior a la fecha
  - **Condición:** Mayor o igual a / **Expresión de valor:** `columna` >= 'fecha' / **Description (Descripción):** Condición para comprobar si el valor de la columna es posterior o igual a la fecha

- **  String/Numeric/Date/Timestamp **
  - **Condición:** Es exactamente / **Expresión de valor:** `column` = 'valor' / **Description (Descripción):** Condición para comprobar si el valor de la columna es exactamente el valor
  - **Condición:** Is not / **Expresión de valor:** `columna`\! = 'valor' / **Description (Descripción):** Condición para comprobar si el valor de la columna no es un valor
  - **Condición:** Falta / **Expresión de valor:** Falta (`column`) / **Description (Descripción):** Condición para comprobar si falta el valor de la columna
  - **Condición:** No falta / **Expresión de valor:** \! Falta (`column`) / **Description (Descripción):** Condición para comprobar si no falta el valor de la columna
  - **Condición:** ¿Es válido / **Expresión de valor:** IsValid (`column`, tipo de datos) / **Description (Descripción):** Condición para comprobar si el valor de la columna es válido (el valor es de tipo de datos o se puede convertir a tipo de datos)
  - **Condición:** No es válido / **Expresión de valor:** \! IsValid (`column`, tipo de datos) / **Description (Descripción):** Condición para comprobar si el valor de la columna no es válido (el valor es de tipo de datos o se puede convertir a tipo de datos)

- ** Anidado **
  - **Condición:** Falta / **Expresión de valor:** Falta (`column`) / **Description (Descripción):** Condición para comprobar si falta el valor de la columna
  - **Condición:** No falta / **Expresión de valor:** \! Falta (`column`) / **Description (Descripción):** Condición para comprobar si no falta el valor de la columna
  - **Condición:** ¿Es válido / **Expresión de valor:** IsValid (`column`, tipo de datos) / **Description (Descripción):** Condición para comprobar si el valor de la columna es válido (el valor es de tipo de datos o se puede convertir a tipo de datos)
  - **Condición:** No es válido / **Expresión de valor:** \! IsValid (`column`, tipo de datos) / **Description (Descripción):** Condición para comprobar si el valor de la columna no es válido (el valor es de tipo de datos o se puede convertir a tipo de datos)

