# Num 스크립트 및 차트 함수

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

구문:

Num(number[, format[, dec\_sep [, thou\_sep]]])

반환 데이터 유형: 이중

Num 함수는 문자열과 숫자 값이 모두 포함된 이중 값을 반환합니다. 이 함수는 입력 표현식의 숫자 값을 사용하여 숫자를 나타내는 문자열을 생성합니다.

인수

| 인수 | 설명 |
| --- | --- |
| number | 평가할 텍스트 문자열입니다. |
| 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/cloud-services/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/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/ThousandSep.htm)을 참조하십시오. |

숫자 서식에 대한 자세한 내용은 [숫자 및 시간 서식 규칙](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Introduction/conventions-number-time-formats.htm)을 참조하십시오.

예: 차트 표현식

| 예제 | 결과(반환된 문자열 값) |
| --- | --- |
| `Num(35648.312)` | `35648.312`를 반환합니다(스크립트의 환경 변수에 따라 다름) |
| `Num(35648.312, '0.0', '.')` | `35648.3`를 반환합니다. |
| `Num(35648.312, '0,00', ',')` | `3,56,48`를 반환합니다. |
| `Num(35648.312, '#,##0.0', '.', ',')` | `35,648.3`를 반환합니다. |
| `Num(35648.312, '# ##0', ',', ' ')` | `35 648`를 반환합니다. |

## 예 - Num 기본 사항

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

#### 차트 표현식

개요

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

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

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

* 데이터 테이블의 다음 필드:

  * `InputValue`

로드 스크립트

```
Example:
Load * inline [
InputValue
35648
3564800
356.48
];
```

결과

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

* ` InputValue
                                       `

다음 측정값을 만듭니다.

* `=Num(InputDate)`: 시스템 설정을 사용하여 형식이 지정된 숫자로 값을 봅니다.

* `=Num(InputValue, '0.0', '.')`: 함수에 제공된 형식을 사용하여 형식이 지정된 숫자로 값을 봅니다.

* `=Num(InputValue, '0,00', ',')`: 함수에 제공된 형식을 사용하여 형식이 지정된 숫자로 값을 봅니다.

* `=Num(InputValue, '#,##0.0', '.', ',')`: 함수에 제공된 형식을 사용하여 형식이 지정된 숫자로 값을 봅니다.

* `=Num(InputValue, '# ##0', ',', ' ')`: 함수에 제공된 형식을 사용하여 형식이 지정된 숫자로 값을 봅니다.

Results table

| InputValue | Num(InputDate) | Num(InputValue, '0.0', '.') | Num(InputValue, '0,00', ',') | Num(InputValue, '#,##0.0', '.', ',') | Num(InputValue, '# ##0', ',', ' ') |
| --- | --- | --- | --- | --- | --- |
| 356.48 | 356.48 | 356.5 | 3,56 | 356.5 | 356 |
| 35648 | 35648 | 35648.0 | 3,56,48 | 35,648.0 | 35 648 |
| 3564800 | 3564800 | 3564800.0 | 3,56,48,00 | 3,564,800.0 | 3 564 800 |

결과는 `Num` 함수가 함수 표현식에 제공된 형식에 따라 `InputValue` 필드의 값을 표시하는 방법을 보여 줍니다.

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

#### 로드 스크립트

`Num` 함수는 스크립트에 천 단위와 소수점 구분 기호가 이미 설정되어 있는 경우에도 로드 스크립트에서 숫자를 형식화하는 데 사용할 수 있습니다. 아래의 로드 스크립트에는 특정 천 단위 및 소수 구분 기호가 포함되어 있지만 다른 방식으로 데이터 서식을 지정하기 위해 `Num`을 사용합니다.

로드 스크립트

데이터 로드 편집기에서 새 섹션을 만든 다음 스크립트 예를 추가하고 실행합니다. 그런 다음, 최소한 결과 테이블에 나열된 필드를 응용 프로그램의 시트에 추가하여 결과를 확인합니다.

```
SET ThousandSep=',';
SET DecimalSep='.';
Transactions:
Load
*,
Num(transaction_amount) as [No formatting],
Num(transaction_amount,'0') as [0],
Num(transaction_amount,'#,##0') as [#,##0],
Num(transaction_amount,'# ###,00') as [# ###,00],
Num(transaction_amount,'# ###,00',',',' ') as [# ###,00 , ',' , ' '],
Num(transaction_amount,'#,###.00','.',',') as [#,###.00 , '.' , ','],
Num(transaction_amount,'$#,###.00') as [$#,###.00],
;
Load * Inline [
transaction_id, transaction_date, transaction_amount, transaction_quantity, discount, customer_id, size, color_code
3750, 20180830, 12423.56, 23, 0,2038593, L, Red
3751, 20180907, 5356.31, 6, 0.1, 203521, m, orange
3752, 20180916, 15.75, 1, 0.22, 5646471, S, blue
3753, 20180922, 1251, 7, 0, 3036491, l, Black
3754, 20180922, 21484.21, 1356, 75, 049681, xs, Red
3756, 20180922, -59.18, 2, 0.333333333333333, 2038593, M, Blue
3757, 20180923, 3177.4, 21, .14, 203521, XL, Black
];
```

결과

로드 스크립트에서 NumNum 함수의 다른 용도의 결과를 보여 주는 Qlik SenseQlik Sense 테이블입니다. 표의 네 번째 열에는 예 목적으로 사용된 잘못된 서식이 포함되어 있습니다.

| No formatting | 0 | #,##0 | # ###,00 | # ###,00 , ',' , ' ' | #,###.00 , '.' , ',' | $#,###.00 |
| --- | --- | --- | --- | --- | --- | --- |
| -59.18 | -59 | -59 | -59###,00 | -59,18 | -59.18 | $-59,18 |
| 15.75 | 16 | 16 | 16###,00 | 15,75 | 15.75 | $15,75 |
| 1251 | 1251 | 1,251 | 1251###,00 | 1 251,00 | 1,251.00 | $1,251.00 |
| 3177.4 | 3177 | 3,177 | 3177###,00 | 3 177,40 | 3,177.40 | $3,177.40 |
| 5356.31 | 5356 | 5,356 | 5356###,00 | 5 356,31 | 5,356.31 | $5,356.31 |
| 12423.56 | 12424 | 12,424 | 12424###,00 | 12 423,56 | 12,423.56 | $12,423.56 |
| 21484.21 | 21484 | 21,484 | 21484###,00 | 21 484,21 | 21,484.21 | $21,484.21 |

## 예 - Num 시나리오

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

#### 차트 표현식

개요

데이터 집합에는 더 간단한 숫자 서식을 사용하여 표시하려는 판매 데이터가 포함되어 있습니다.

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

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

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

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

  * `Customer`
  * `Sales`

로드 스크립트

```
Example:
Load * inline [
Customer, Sales
Customer A, 2550000
Customer B, 12500
Customer C, 15000
Customer D, 250
];
```

결과

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

* ` Customer
                                       `

다음 측정값을 만듭니다.

* `=If(Sales > 1000000, Num(Sales/1000000, '#,##0.00M'), If(Sales > 1000, Num(Sales/1000, '#,##0.00K'), Num(Sales, '#,##0.00')))`: 값의 숫자 표시를 설정합니다.

Results table

| Customer | If(Sales &gt; 1000000, Num(Sales/1000000, '#,##0.00M'), If(Sales &gt; 1000, Num(Sales/1000, '#,##0.00K'), Num(Sales, '#,##0.00'))) |
| --- | --- |
| Customer A | 2.55M |
| Customer B | 12.50K |
| Customer C | 15.00K |
| Customer D | 250.00 |

열 2의 측정값 표현식은 `Num` 함수를 사용하여 데이터를 간소화된 숫자 서식으로 표시합니다.

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

#### 로드 스크립트

`Num` 함수는 로드 스크립트에서 숫자를 백분율로 형식화하는 데 사용할 수 있습니다.

로드 스크립트

데이터 로드 편집기에서 새 섹션을 만든 다음 예제 스크립트를 추가하고 실행합니다. 그런 다음, 결과를 보기 위해 결과 열에 나열된 필드를 응용 프로그램의 시트에 추가합니다.

```
SET ThousandSep=',';
SET DecimalSep='.';
Transactions:
Load
*,
Num(discount,'#,##0%') as [Discount #,##0%]
;
Load * Inline [
transaction_id, transaction_date, transaction_amount, transaction_quantity, discount, customer_id, size, color_code
3750, 20180830, 12423.56, 23, 0,2038593, L, Red
3751, 20180907, 5356.31, 6, 0.1, 203521, m, orange
3752, 20180916, 15.75, 1, 0.22, 5646471, S, blue
3753, 20180922, 1251, 7, 0, 3036491, l, Black
3754, 20180922, 21484.21, 1356, 75, 049681, xs, Red
3756, 20180922, -59.18, 2, 0.333333333333333, 2038593, M, Blue
3757, 20180923, 3177.4, 21, .14, 203521, XL, Black
];
```

Qlik SenseQlik Sense 로드 스크립트에서 백분율 서식을 지정하는 데 사용되는 `Num`Num 함수의 결과가 표시된 테이블.

| Discount | Discount #,##0% |
| --- | --- |
| 0 | 0% |
| 0.1 | 10% |
| 0.22 | 22% |
| 0 | 0% |
| 75 | 7,500% |
| 0.333333333333333 | 33% |
| .14 | 14% |