

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.

# OPERACIÓN\_BOOLEANA
<a name="recipe-actions.BOOLEAN_OPERATION"></a>

Cree una nueva columna en función del resultado de la condición lógica IF. Devuelve el valor verdadero si la expresión booleana es verdadera, el valor falso si la expresión booleana es falsa o devuelve un valor personalizado.

**Parameters**
+ `trueValueExpression`— Resultado cuando se cumple la condición.
+ `falseValueExpression`— Resultado cuando no se cumple la condición.
+ `valueExpression`— Condición booleana.
+ `withExpressions`— Configuración para resultados agregados.
+ `targetColumn`: un nombre para la columna recién creada.

Puede utilizar valores constantes, referencias a columnas y resultados agregados en trueValueExpression, false ValueExpression y ValueExpression.

**Example Ejemplo: valores constantes**  
Valores que permanecen sin cambios, como un número o una oración.  
  

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

**Example Ejemplo: referencias a columnas**  
Valores que son columnas del conjunto de datos.  
  

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

**Example Ejemplo: resultados agregados**  
Valores que se calculan mediante funciones de agregación. Una función de agregado realiza un cálculo en una columna y devuelve un ú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"
      }
    }
  }
}
```
Los usuarios deben convertir el JSON en una cadena escapando.  
Tenga en cuenta que los nombres de los parámetros en true ValueExpressionValueExpression, false y ValueExpression deben coincidir con los nombres de WithExpressions. Para utilizar los resultados agregados de algunas columnas, debe crear parámetros para ellas y proporcionar las funciones de agregado.

**Example Ejemplo:**  

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

**Example Ejemplo: and/or**  
Puede usar y o para combinar varias condiciones.  
  

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

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

La siguiente tabla muestra todas las funciones de agregado válidas que se pueden usar en una operación booleana.



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

