# Num#스크립트 및 차트 함수

Num#()은 텍스트 문자열을 숫자 값으로 해석합니다. 즉, 두 번째 매개 변수에 지정된 형식을 사용하여 입력 문자열을 숫자로 변환합니다. 두 번째 매개 변수를 생략하면 데이터 로드 스크립트에 설정된 소수 및 천 단위 구분 기호를 사용합니다. 사용자 지정 소수점 구분 기호 및 천 단위 구분 기호는 옵션 파라메타입니다.

구문:

Num#(text[, format[, dec\_sep [, thou\_sep ] ] ])

반환 데이터 유형: 이중

Num#() 함수는 문자열과 숫자 값이 모두 포함된 이중 값을 반환합니다. 이 함수는 입력 표현식의 텍스트 표현을 가져와 숫자를 만듭니다. 숫자의 형식은 변경되지 않습니다. 출력 형식은 입력 형식과 동일하게 지정됩니다.

인수

| 인수 | 설명 |
| --- | --- |
| text | 평가할 텍스트 문자열입니다. |
| format | 첫 번째 매개변수에 사용되는 숫자 형식을 지정하는 문자열입니다. 생략하면 데이터 로드 스크립트에 설정된 소수 및 천 단위 구분 기호가 사용됩니다.<br><br>`Num#` 함수는 다음과 같이 다양한 숫자 구조에 대한 많은 형식 옵션을 지원합니다.<br><br>`#,##0`: 소수점 자릿수 없이 숫자를 표시합니다.<br><br>`#,##0.00`: 소수점 두 자리까지 숫자를 표시합니다.<br><br>`##0.00%`: 소수점 두 자리까지 숫자를 백분율로 표시합니다.<br><br>`​#,##0;(#,##0)`: 음성을 괄호 안에 표시하도록 형식을 지정합니다.<br><br>`$#,##0.00`: $ 기호를 사용하여 숫자를 통화로 형식화합니다.<br><br>`​0.00E+0`: 과학적 표기법으로 숫자를 표시합니다. |
| dec\_sep | 소수점 구분 기호를 지정하는 문자열입니다. 생략하면 데이터 로드 스크립트에 설정된 변수 DecimalSep 값이 사용됩니다.<br><br>`Num#` 함수는 다음과 같은 다양한 10진수 구분 기호 형식을 지원합니다.<br><br>쉼표 ​' `,` ': 예를 들어, 천 달러의 경우 `$1,000,00`입니다.<br><br>기간 ' `.` ':​ 예를 들어, `€ 1,000.00`입니다.<br><br>하이픈 ' `-` ': 소수점 구분 기호로 기존 마침표나 쉼표 대신 사용하면 `¥1,000-00`과 같은 값이 표시됩니다.<br><br>자세한 내용은 [DecimalSep](https://help.qlik.com/ko-KR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/DecimalSep.htm)을 참조하십시오. |
| thou\_sep | 천 단위 구분 기호를 지정하는 문자열입니다. 생략하면 데이터 로드 스크립트에 설정된 변수 ThousandSep 값이 사용됩니다.<br><br>`Num#` 함수는 천 단위 구분 기호에 대한 다양한 옵션을 지원합니다.<br><br>마침표 ​' `.` ': 천 단위 구분 기호로 마침표를 사용합니다(일반적인 일부 유럽 형식). 쉼표 소수점 구분 기호와 결합하면 `$1.000,00`로 표시됩니다.<br><br>공백 ​' ': 천 단위 구분 기호로 공백을 사용하는데, 이는 일부 유럽 국가에서 일반적으로 사용됩니다. `€ 1 000.00`으로 표시됩니다.<br><br>밑줄 ​'`_`': 천 단위 구분 기호에 밑줄을 사용합니다. 이는 기술적 또는 특정 지역 형식에서 가끔 사용됩니다. `$1_000.00`와 같은 값을 표시합니다.<br><br>자세한 내용은 [ThousandSep](https://help.qlik.com/ko-KR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/ThousandSep.htm)을 참조하십시오. |

예: 차트 표현식

| 예제 | 결과(반환된 문자열 값) |
| --- | --- |
| `Num#( '35,648.31', '#', '.' , ',' )` | `35,648.31`의 문자열과 `35648.31`의 숫자 값을 반환합니다. |
| `Num#( ‘35 648.312’, '#', '.' , ',' )` | `35 648.312`의 문자열과 `35648.312`의 숫자 값을 반환합니다. |
| `Num#( '35.648,3123', '#', '.' , ',' )` | `35.648,3123`의 문자열과 ` NULL  `(`-`)의 숫자 값을 반환합니다. |
| `Num#( '35 648,31234', '#', '.' , ',' )` | `35 648,31234`의 문자열과 ` NULL  `(`-`)의 숫자 값을 반환합니다. |
| `Num#('1,234.56', '#,##0.00')` | `1,234.56`의 문자열과 `1230.45`의 숫자 값을 반환합니다. |
| `Num#('$1,230.45', '$#,##0.00')` | `$1,230.45`의 문자열과 `1234.56`의 숫자 값을 반환합니다. |
| `Num#('20220315', 'YYYYMMDD')` | `20220315`의 문자열과 `20220315`의 숫자 값을 반환합니다. |

## 예 - Num# 기본 사항

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

#### 로드 스크립트

개요

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

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

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

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

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

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

  * `ProductID`

  * `ProductName`

  * `SalesAmount`

* 이 예를 설명하기 위한 `ThousandSep` 및 `DecimalSep`에 대한 표준 설정.

* `Num#` 함수를 사용하는 선행 LOAD. 실행하면 `FormattedSalesAmount`라는 추가 필드가 만들어집니다.

로드 스크립트

```
SET ThousandSep=',';
SET DecimalSep='.';
Example:
LOAD
ProductID,
ProductName,
SalesAmount,
Num#(SalesAmount, '#.##0,00',',','.') AS FormattedSalesAmount
INLINE [
ProductID, ProductName, SalesAmount
1, Product A, '1.234,56'
2, Product B, '2.456,78'
3, Product C, '345,67'
4, Product D, '987,12'
5, Product E, '1.200,45'
];
```

결과

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

* ` ProductID
                                       `

* `ProductName`

* `SalesAmount`

* `FormattedSalesAmount`

다음 측정값을 만듭니다.

* `=Num(FormattedSalesAmount)`: 숫자 서식에 대한 시스템 설정에 따라 필드의 숫자 값을 확인합니다.

Results table

| ProductID | ProductName | SalesAmount | FormattedSalesAmount | Num(FormattedSalesAmount) |
| --- | --- | --- | --- | --- |
| 1 | Product A | 1.234,56 | 1.234,56 | 1234.56 |
| 2 | Product B | 2.456,78 | 2.456,78 | 2456.78 |
| 3 | Product C | 345,67 | 345,67 | 345.67 |
| 4 | Product D | 987,12 | 987,12 | 987.12 |
| 5 | Product E | 1.200,45 | 1.200,45 | 1200.45 |

이 예에서는 `Num#` 함수가 `SalesAmount` 데이터를 원래 텍스트 서식에서 숫자 값으로 변환하는 방법을 확인할 수 있습니다.

## 예 - Num# 시나리오

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

#### 로드 스크립트

개요

데이터 집합에는 다양한 텍스트 서식으로 된 여러 국가의 판매 데이터가 포함되어 있습니다. 데이터를 표준화하여 표로 표시하려고 합니다.

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

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

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

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

  * `Country`

  * `Product`

  * `Amount`

* `Num#` 함수를 사용하여 `Amount` 필드의 값을 변환하는 선행 LOAD.

로드 스크립트

```
Example:
LOAD
Country,
Product,
IF(Country = 'Germany', Num#(Amount, '#.##0,00', ',', '.'), Num#(Amount, '#,##0.00')) AS Amount
INLINE [
Country, Product, Amount
Germany, Product A, '1.234,56'
USA, Product B, '2,345.78'
Germany, Product C, '987,12'
USA, Product D, '1,200.45'
Germany, Product E, '345,67'
];
```

결과

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

* ` Product
                                       `

* ` Country
                                       `

* `Amount`

다음 측정값을 만듭니다.

* `Num(Amount)`: 숫자 서식에 대한 시스템 설정에 설정된 `Amount` 필드의 숫자 값을 확인합니다.

Results table

| Product | Country | Amount | Num(Amount) |
| --- | --- | --- | --- |
| Customer A | Germany | 1.234,56 | 1234.56 |
| Customer B | USA | 2,345.78 | 2345.78 |
| Customer C | Germany | 987,12 | 987.12 |
| Customer D | USA | 1,200.45 | 1200.45 |
| Customer E | Germany | 345,67 | 345.67 |

`Amount` 열과 `Num(Amount)` 열을 비교하면 `  Num# ` 함수를 사용하여 표시된 데이터는 기본 숫자 값을 변경하지만 문자열 형식은 그대로 유지된다는 것을 알 수 있습니다. 예를 들어, `Amount` 열에 있는 `Germany`의 모든 값은 소수점 구분 기호로 쉼표를 사용하지만, `Num(Amount)`의 기본 형식은 모든 값에 마침표를 사용합니다.