# Evaluate - Función de script

Evaluate() halla si la cadena de texto introducida puede ser evaluada como una expresión Qlik Sense válida, y, si es así, devuelve el valor de la expresión en forma de cadena. Si la cadena de entrada no es una expresión válida, devuelve NULL.

Sintaxis:

Evaluate(expression\_text)

Tipo de datos que devuelve: dual

Argumentos

| Argumento | Descripción |
| --- | --- |
| text | La cadena de texto que se ha de evaluar. |

Nota informativaEsta función de script no puede utilizarse en expresiones de gráfico.

Ejemplo de la función y resultados

| Ejemplo de la función | Resultado |
| --- | --- |
| `Evaluate( 5 * 8 )` | Devuelve `40` |

## Ejemplo: fundamentos de Evaluate

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Evaluate.htm)

#### Script de carga

Descripción

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que se carga en una tabla de datos denominada `Example`.

* Un campo de la tabla de datos llamado `ExpressionText`.

* Una carga precedente que utiliza la función `Evaluate` para evaluar el campo `ExpressionText` y devolver dos nuevos campos: `Evaluated` y `Evaluatedx4`.

Script de carga

```
Example:
Load
ExpressionText
, Evaluate(ExpressionText) as Evaluated
, Evaluate(ExpressionText)*4 as Evaluatedx4
;
Load * Inline
[ExpressionText
4
5+3
100/5
123*2
329-9
0123456789012345678
1234567890123456789
0123456.5512
0123456.5512479994578952364859346469
Today()
Bob
];
```

Resultados

Los siguientes campos se cargan en la tabla de datos:

* `ExpressionText`

* `Evaluated`

* `Evaluatedx4`

Results table

| ExpressionText | Evaluated | Evaluatedx4 |
| --- | --- | --- |
| 4 | 4 | 16 |
| 5+3 | 8 | 32 |
| 100/5 | 20 | 80 |
| 123\*2 | 246 | 984 |
| 329-9 | 320 | 1280 |
| 0123456789012345678 | 0123456789012345678 | 4.9382715604938e+17 |
| 1234567890123456789 | 1234567890123456789 | 4.9382715604938e+18 |
| 0123456.5512 | 0123456.5512 | 493826.2048 |
| 0123456.5512479994578952364859346469 | 0123456.5512479994578952364859346469 | 493826.204992 |
| Today() | 11/5/2024 | 182404 |
| Bob | - | - |

El resultado de la función `Evaluate` devuelve los valores de todas las cadenas de `ExpressionText` excepto la última fila. La cadena `Bob` no puede evaluarse, por lo que la función no devuelve ningún valor: NULL. Todas las filas han sido evaluadas, por ejemplo la segunda fila suma `5` y `3` para devolver `8`. Algunas de las cadenas de `ExpressionText` devuelven la cadena tal cual porque la cadena ya se evalúa como un número. Por ejemplo, la cadena `0123456789012345678` se evalúa con el mismo número.

Aunque Qlik Sense tiene un límite de precisión de 14 dígitos para los valores numéricos, la función `Evaluate` evaluó cadenas de 18 dígitos como un número y aplicó la multiplicación dentro del script. Esto es útil para manejar números muy grandes dentro del script.

## Ejemplo: uso de Evaluate

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Evaluate.htm)

#### Script de carga

Descripción

Un conjunto de datos de ventas contiene productos, precios y descuentos. Este ejemplo obtiene el precio con descuento de los productos.

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que se carga en una tabla de datos denominada `Example`.

* Los siguientes campos de la tabla de datos:

  * `Product`

  * `Price`

  * `Discount %`

* Un load precedente que toma los valores `Price` y `Discount %` y calcula un campo adicional llamado `DiscountedPrice`. Este nuevo campo utiliza la función `Evaluate` para calcular el precio menos el descuento.

Script de carga

```
Example:
LOAD
Product,
Price,
[Discount (%)],
Price * (1 - ​​Evaluate([Discount (%)] / 100)) AS DiscountedPrice
INLINE [
Product, Price, Discount (%)
Laptop, 1000, 15
Smartphone, 800, 10
Tablet, 600, 20
Headphones, 200, 5
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* `Product`

* `Price`

* `Discount %`

* `DiscountedPrice`

Results table

| Product | Price | Discount % | DiscountedPrice |
| --- | --- | --- | --- |
| Headphones | 200 | 5 | 190 |
| Tablet | 600 | 20 | 480 |
| Smartphone | 800 | 10 | 720 |
| Laptop | 1000 | 15 | 850 |

El resultado de la función `Evaluate` demuestra cómo puede utilizarse la función para calcular valores.