# Evaluate - Funzione script

Evaluate() rileva se la stringa di testo di input può essere valutata come espressione di Qlik Sense valida e, in caso affermativo, restituisce il valore dell'espressione come stringa. Se la stringa di input non è un'espressione valida, viene restituito NULL.

Sintassi:

Evaluate(expression\_text)

Tipo di dati restituiti: duale

Argomenti

| Argomento | Descrizione |
| --- | --- |
| text | La stringa da valutare. |

Nota informaticaLa funzione stringa non può essere utilizzata nelle espressioni grafiche.

Esempio di funzione e risultati

| Esempio di funzione | Risultato |
| --- | --- |
| `Evaluate( 5 * 8 )` | Restituisce `40` |

## Esempio: principi fondamentali della funzione Evaluate

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

#### Script di caricamento

Panoramica

Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.

Lo script di caricamento contiene:

* Un set di dati che viene caricato in una tabella dati chiamata `Example`.

* Un campo della tabella dati denominata `ExpressionText`.

* Un caricamento precedente che utilizza la funzione `Evaluate` per valutare il campo `ExpressionText` e restituire due nuovi campi: `Evaluated` e `Evaluatedx4`.

Script di caricamento

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

Risultati

I seguenti campi vengono caricati nella tabella dati:

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

L'output della funzione `Evaluate` restituisce i valori di tutte le stringhe `ExpressionText` tranne l'ultima riga. La stringa `Bob` non può essere valutata, quindi la funzione restituisce un valore nullo, NULL. Tutte le righe sono state valutate, ad esempio la seconda riga aggiunge `5` e `3` per restituire `8`. Alcune stringhe `ExpressionText` restituiscono la stringa così com'è, perché la stringa è già valutata come un numero. Ad esempio, la stringa `0123456789012345678` valuta lo stesso numero.

Sebbene Qlik Sense abbia un limite di precisione di 14 cifre per i valori numerici, la funzione `Evaluate` ha valutato le stringhe di 18 cifre come un numero e ha applicato la moltiplicazione all'interno dello script. Questa opzione è utile per gestire numeri molto grandi negli script.

## Esempio: scenario per l'applicazione della funzione Evaluate

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

#### Script di caricamento

Panoramica

Un set di dati sulle vendite contiene prodotti, prezzi e sconti. In questo esempio si mostra come ricavare il prezzo scontato dei prodotti.

Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.

Lo script di caricamento contiene:

* Un set di dati che viene caricato in una tabella dati chiamata `Example`.

* I seguenti campi nella tabella dati:

  * `Product`

  * `Price`

  * `Discount %`

* Un carico precedente che prende i valori `Price` e `Discount %` e calcola un campo aggiuntivo denominato `DiscountedPrice`. Questo nuovo campo utilizza la funzione `Evaluate` per calcolare il prezzo meno lo sconto.

Script di caricamento

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

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:

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

L'output della funzione `Evaluate` dimostra come è possibile utilizzare la funzione per calcolare i valori.