# Evaluate Skriptfunktion

Evaluate() undersöker om indatatexten kan utvärderas som ett giltigt Qlik Sense-uttryck och returnerar i så fall värdet för uttrycket som en sträng. Om indatasträngen inte är ett giltigt uttryck returneras NULL.

Syntax:

Evaluate(expression\_text)

Returnerad datatyp: dual

Argument

| Argument | Beskrivning |
| --- | --- |
| text | Sträng som ska utvärderas. |

Anteckning om informationDenna strängfunktion kan inte användas i diagramuttryck.

Funktionsexempel och resultat

| Funktionsexempel | Resultat |
| --- | --- |
| `Evaluate( 5 * 8 )` | Returnerar `40` |

## Exempel – grunderna i utvärdering

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

#### Laddningsskript

Översikt

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som läses in i en datatabell som heter `Example`.

* Ett fält i datatabellen heter `ExpressionText`.

* En föregående laddning som använder funktionen `Evaluate` för att utvärdera fältet `ExpressionText` och returnera två nya fält: `Evaluated` och `Evaluatedx4`.

Laddningsskript

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

Resultat

Följande fält laddas i datatabellen:

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

Utdata från `Evaluate`-funktionen returnerar värden för alla `ExpressionText`-strängar utom den sista raden. Strängen `Bob` kan inte utvärderas, så funktionen returnerar inget värde – NULL. Alla rader har utvärderats, till exempel lägger den andra raden till `5` och `3` för att få `8`. Vissa av `ExpressionText`-strängarna returnerar strängen som den är eftersom strängen redan utvärderas till ett tal. Till exempel utvärderas strängen `0123456789012345678` till samma tal.

Även om Qlik Sense har en 14-siffrig precisionsgräns för numeriska värden, utvärderade `Evaluate`-funktionen 18-siffriga strängar som ett tal och tillämpade multiplikation i skriptet. Detta är användbart för att hantera mycket stora tal i skriptet.

## Exempel – Utvärderingsscenario

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

#### Laddningsskript

Översikt

En dataupsättning med försäljningsdata innehåller produkter, priser och rabatter. Detta exempel tar fram det rabatterade priset för produkterna.

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som läses in i en datatabell som heter `Example`.

* Följande fält i datatabellen:

  * `Product`

  * `Price`

  * `Discount %`

* En föregående inläsning som tar värdena `Price` och `Discount %` och beräknar ett ytterligare fält som heter `DiscountedPrice`. Det här nya fältet använder `Evaluate`-funktionen för att beräkna priset minus rabatten.

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

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

Utdata från `Evaluate`-funktionen visar hur du kan använda funktionen för att beräkna värden.