# Evaluate Scriptfunctie

Evaluate() bepaalt of de tekenreeks van de invoertekst kan worden geëvalueerd als een geldige Qlik Sense-uitdrukking en retourneert, als dat inderdaad het geval is, de waarde van de uitdrukking als een tekenreeks. Als de invoertekenreeks geen geldige uitdrukking is, wordt NULL geretourneerd.

Syntaxis:

Evaluate(expression\_text)

Retourgegevenstypen: dubbele waarde

Argumenten

| Argument | Beschrijving |
| --- | --- |
| text | De tekenreeks die moet worden geëvalueerd. |

InformatieDeze tekenreeksfunctie kan niet in diagramuitdrukkingen worden gebruikt.

Functievoorbeeld en resultaten

| Functievoorbeeld | Resultaat |
| --- | --- |
| `Evaluate( 5 * 8 )` | Retourneert `40` |

## Voorbeeld - Basisprincipes voor Evaluate

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

#### Load-script

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling die wordt geladen in een tabel met de naam `Example`.

* Eén veld in de gegevenstabel met de naam `ExpressionText`.

* Een voorgaande lading die de functie `Evaluate` gebruikt om het veld `ExpressionText` te evalueren en twee nieuwe velden te retourneren: `Evaluated` en `Evaluatedx4`.

Load-script

```
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
];
```

Resultaten

De volgende velden worden in de gegevenstabel geladen:

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

De uitvoer van de functie `Evaluate` retourneert waarden voor alle `ExpressionText` tekenreeksen, behalve de laatste rij. De tekenreeks `Bob` kan niet worden geëvalueerd, dus de functie retourneert geen waarde - NULL. Alle rijen zijn geëvalueerd, bijvoorbeeld de tweede rij voegt `5` en `3` toe om `8` te retourneren. Sommige van de `ExpressionText` tekenreeksen retourneren de tekenreeks in de huidige staat omdat de tekenreeks al evalueert naar een getal. Bijvoorbeeld, de tekenreeks `0123456789012345678` evalueert naar hetzelfde getal.

Hoewel Qlik Sense een precisielimiet van 14 cijfers voor numerieke waarden heeft, evalueerde de functie `Evaluate` tekenreeksen van 18 cijfers als een getal en paste vermenigvuldiging toe binnen het script. Dit is handig voor het verwerken van zeer grote getallen in het script.

## Voorbeeld – Scenario met Evaluate

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

#### Load-script

Overzicht

Een gegevensverzameling met verkoopgegevens bevat producten, prijzen en kortingen. Dit voorbeeld leidt de gereduceerde prijs voor de producten af.

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling die wordt geladen in een tabel met de naam `Example`.

* De volgende velden in de gegevenstabel:

  * `Product`

  * `Price`

  * `Discount %`

* Een voorafgaande lading die de waarden `Price` en `Discount %` neemt en een extra veld met de naam `DiscountedPrice` berekent. Dit nieuwe veld gebruikt de functie `Evaluate` om de prijs minus de korting te berekenen.

Load-script

```
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
];
```

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

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

De uitvoer van de functie `Evaluate` laat zien hoe u de functie kunt gebruiken om waarden te berekenen.