# Evaluate Função de script

Evaluate() verifica se a string de texto de entrada pode ser avaliada com uma expressão Qlik Sense válida e, se puder, retorna o valor da expressão com uma string. Se a string de entrada não for uma expressão válida, NULL será retornado.

Sintaxe:

Evaluate(expression\_text)

Tipo de dados de retorno: dual

Argumentos

| Argumento | Descrição |
| --- | --- |
| text | A string a ser avaliada. |

Nota informativaEssa função de string não pode ser utilizada em expressões de gráfico.

Exemplo de função e resultados

| Exemplo de função | Resultado |
| --- | --- |
| `Evaluate( 5 * 8 )` | Retorna `40` |

## Exemplo - Fundamentos de Evaluate

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

#### Script de carregamento

Visão geral

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* Um conjunto de dados que é carregado em uma tabela de dados denominada `Example`.

* Um campo na tabela de dados chamado `ExpressionText`.

* Um carregamento anterior que usa a função `Evaluate` para avaliar o campo `ExpressionText` e retornar dois novos campos: `Evaluated` e `Evaluatedx4`.

Script de carregamento

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

Resultados

Os seguintes campos são carregados na tabela de dados:

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

A saída da função `Evaluate` retorna valores para todas as strings `ExpressionText`, exceto a última linha. A string `Bob` não pode ser avaliada, portanto, a função não retorna nenhum valor - NULL. Todas as linhas foram avaliadas, por exemplo, a segunda linha adiciona `5` e `3` para retornar `8`. Algumas das strings `ExpressionText` retornam a string no estado em que se encontra porque a string já é avaliada como um número. Por exemplo, a string `0123456789012345678` é avaliada como o mesmo número.

Embora o Qlik Sense tenha um limite de precisão de 14 dígitos para valores numéricos, a função `Evaluate` avaliou as strings de 18 dígitos como um número e aplicou a multiplicação dentro do script. Isso é útil para lidar com números muito grandes no script.

## Exemplo - Cenário de Evaluate

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

#### Script de carregamento

Visão geral

Um conjunto de dados de vendas contém produtos, preços e descontos. Este exemplo deriva o preço com desconto para os produtos.

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* Um conjunto de dados que é carregado em uma tabela de dados denominada `Example`.

* Os campos a seguir na tabela de dados:

  * `Product`

  * `Price`

  * `Discount %`

* Uma carga anterior que pega os valores `Price` e `Discount %` e calcula um campo adicional chamado `DiscountedPrice`. Esse novo campo usa a função `Evaluate` para calcular o preço menos o desconto.

Script de carregamento

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

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:

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

A saída da função `Evaluate` demonstra como você pode usar a função para calcular valores.