# Evaluate - Fonction de script

Evaluate() détermine si la chaîne de texte d'entrée peut être évaluée en tant qu'expression Qlik Sense valide et, si tel est le cas, renvoie la valeur de l'expression sous forme de chaîne. Si la chaîne d'entrée n'est pas une expression valide, la valeur NULL est renvoyée.

Evaluate(expression\_text)

double

Arguments

| Argument | Description |
| --- | --- |
| text | Chaîne à évaluer. |

Note InformationsCette fonction de chaîne ne s'utilise pas dans les expressions de graphique.

Exemple de fonction et résultats

| Exemple de fonction | Résultat |
| --- | --- |
| `Evaluate( 5 * 8 )` | Renvoie `40`. |

## Exemple - Les bases de Evaluate

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

#### Script de chargement

Vue d'ensemble

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Jeu de données chargé dans une table de données appelée `Example`.

* Champ dans la table de données portant le nom `ExpressionText`.

* Instruction Load antérieure qui utilise la fonction `Evaluate` pour évaluer le champ `ExpressionText` et renvoyer deux nouveaux champs : `Evaluated` et `Evaluatedx4`.

Script de chargement

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

Résultats

Les champs suivants sont chargés dans la table de données :

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

La sortie de la fonction `Evaluate` renvoie des valeurs pour toutes les chaînes `ExpressionText`, à l'exception de la dernière ligne. La chaîne `Bob` ne peut pas être évaluée ; la fonction ne renvoie donc aucune valeur - NULL. Toutes les lignes ont été évaluées, par exemple la deuxième ligne additionne `5` et `3` pour renvoyer `8`. Certaines des chaînes `ExpressionText` renvoient la chaîne telle quelle parce qu'elle est déjà évaluée sur un nombre. Par exemple, la chaîne de caractères `0123456789012345678` est évaluée sur le même nombre.

Bien que Qlik Sense ait une limite de précision de 14 chiffres pour les valeurs numériques, la fonction `Evaluate` a évalué des chaînes de 18 chiffres comme un nombre et a appliqué une multiplication dans le script. Cette fonction est utile pour traiter de très grands nombres dans le script.

## Exemple - Scénario Evaluate

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

#### Script de chargement

Vue d'ensemble

Un jeu de données commerciales contient des produits, des prix et des réductions. Cet exemple permet de calculer le prix réduit des produits.

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Jeu de données chargé dans une table de données appelée `Example`.

* Champs suivants dans la table de données :

  * `Product`

  * `Price`

  * `Discount %`

* Instruction Load antérieure qui prend les valeurs `Price` et `Discount %` et calcule un champ supplémentaire appelé `DiscountedPrice`. Ce nouveau champ utilise la fonction `Evaluate` pour calculer le prix moins la réduction.

Script de chargement

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

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :

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

La sortie de la fonction `Evaluate` montre comment utiliser la fonction pour calculer des valeurs.