# Evaluate 스크립트 함수

Evaluate()는 입력 텍스트 문자열을 유효한 Qlik Sense 표현식으로 평가할 수 있는지 확인하고, 평가할 수 있는 경우는 표현식의 값을 문자열로 반환합니다. 입력 문자열이 유효한 표현식이 아니면 NULL이 반환됩니다.

구문:

Evaluate(expression\_text)

반환 데이터 유형: 이중

인수

| 인수 | 설명 |
| --- | --- |
| text | 평가할 문자열. |

정보 메모이 문자열 함수는 차트 표현식에 사용할 수 없습니다.

함수 예 및 결과

| 함수 예 | 결과 |
| --- | --- |
| `Evaluate( 5 * 8 )` | `40`를 반환합니다. |

## 예 - 기본 사항 평가

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

#### 로드 스크립트

개요

데이터 로드 편집기를 열고 새 섹션에 아래 로드 스크립트를 추가합니다.

로드 스크립트에는 다음이 포함됩니다.

* `Example`이라는 데이터 테이블에 로드되는 데이터 집합입니다.

* 데이터 테이블의 한 필드는 `ExpressionText`입니다.

* `Evaluate` 함수를 사용하여 필드 `ExpressionText`를 평가하고 두 개의 새 필드인 `Evaluated` 및 `Evaluatedx4`를 반환하는 선행 LOAD.

로드 스크립트

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

결과

다음 필드는 데이터 테이블에 로드됩니다.

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

`Evaluate` 함수의 출력은 마지막 행을 제외한 모든 `ExpressionText` 문자열에 대한 값을 반환합니다. 문자열 `Bob`를 평가할 수 없으므로 함수는 값을 반환하지 않습니다(NULL). 모든 행이 평가되었습니다. 예를 들어, 두 번째 행은 `5` 및 `3`을 추가하여 `8`을 반환합니다. 일부 `ExpressionText` 문자열은 문자열이 이미 숫자로 평가되기 때문에 문자열을 그대로 반환합니다. 예를 들어, 문자열 `0123456789012345678`은 같은 숫자로 평가됩니다.

Qlik Sense는 숫자 값에 대해 14자리 정밀도 제한을 갖지만, `Evaluate` 함수는 18자리 문자열을 숫자로 평가하고 스크립트 내에서 곱셈을 적용했습니다. 이는 스크립트 내에서 매우 큰 숫자를 처리하는 데 유용합니다.

## 예 - Evaluate 시나리오

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

#### 로드 스크립트

개요

판매 데이터 집합에는 제품, 가격, 할인 정보가 포함되어 있습니다. 이 예에서는 제품의 할인된 가격을 도출합니다.

데이터 로드 편집기를 열고 새 섹션에 아래 로드 스크립트를 추가합니다.

로드 스크립트에는 다음이 포함됩니다.

* `Example`이라는 데이터 테이블에 로드되는 데이터 집합입니다.

* 데이터 테이블의 필드는 다음과 같습니다.

  * `Product`

  * `Price`

  * `Discount %`

* `Price` 및 `Discount %` 값을 취하고 `DiscountedPrice`라는 추가 필드를 계산하는 선행 LOAD. 이 새로운 필드는 `Evaluate` 함수를 사용하여 할인을 뺀 가격을 계산합니다.

로드 스크립트

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

결과

데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.

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

`Evaluate` 함수의 출력은 함수를 사용하여 값을 계산하는 방법을 보여 줍니다.