# Evaluate Skriptfunktion

Evaluate() ermittelt, ob der eingegebene Textstring als gültige Qlik Sense-Formel evaluiert werden kann. Ist dies der Fall, wird der Wert der Formel als String zurückgegeben. Ist der eingegebene String keine gültige Formel, liefert diese Funktion NULL.

Syntax:

Evaluate(expression\_text)

Rückgabe Datentyp: dual

Argumente

| Argument | Beschreibung |
| --- | --- |
| text | Der zu evaluierende String. |

InformationshinweisDiese Stringfunktion kann in Diagrammformeln nicht verwendet werden.

Funktionsbeispiel und Ergebnisse

| Funktionsbeispiel | Ergebnis |
| --- | --- |
| `Evaluate( 5 * 8 )` | Liefert `40` |

## Beispiel – Grundlegendes zu „Evaluate“

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

#### Ladeskript

Übersicht

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Datensatz, der in eine Datentabelle namens `Example` geladen wird

* Ein Feld in der Datentabelle heißt `ExpressionText`.

* Ein vorangehender load-Befehl, der die Funktion `Evaluate` verwendet, um das Feld `ExpressionText` auszuwerten und zwei neue Felder zurückzugeben: `Evaluated` und `Evaluatedx4`.

Ladeskript

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

Ergebnisse

Die folgenden Felder werden in die Datentabelle 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 | - | - |

Die Ausgabe der Funktion `Evaluate` gibt Werte für alle `ExpressionText`-Strings außer der letzten Zeile zurück. Der String `Bob` kann nicht ausgewertet werden, daher gibt die Funktion keinen Wert zurück – NULL. Alle Zeilen wurden ausgewertet, z. B. addiert die zweite Zeile `5` und `3`, um `8` zurückzugeben. Einige der `ExpressionText`-Strings geben den String unverändert zurück, da der String bereits als Zahl ausgewertet wird. Der String `0123456789012345678` ergibt zum Beispiel die gleiche Zahl.

Obwohl Qlik Sense eine Genauigkeitsgrenze von 14 Stellen für numerische Werte hat, hat die Funktion `Evaluate` 18-stellige Strings als Zahl ausgewertet und die Multiplikation innerhalb des Skripts angewendet. Dies ist nützlich für den Umgang mit sehr großen Zahlen innerhalb des Skripts.

## Beispiel – Szenario für „Evaluate“

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

#### Ladeskript

Übersicht

Ein Datensatz mit Verkaufsdaten enthält Produkte, Preise und Rabatte. In diesem Beispiel wird der ermäßigte Preis für die Produkte abgeleitet.

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Datensatz, der in eine Datentabelle namens `Example` geladen wird

* Die folgenden Felder in der Datentabelle:

  * `Product`

  * `Price`

  * `Discount %`

* Ein vorangehender load-Befehl, der anhand der Werte `Price` und `Discount %` ein zusätzliches Feld namens `DiscountedPrice` berechnet. Dieses neue Feld verwendet die Funktion `Evaluate`, um den Preis abzüglich des Rabatts zu berechnen.

Ladeskript

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

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:

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

Die Ausgabe der Funktion `Evaluate` zeigt, wie Sie die Funktion zur Berechnung von Werten verwenden können.