# Dual - 스크립트 및 차트 함수

Dual()은 숫자와 문자열을 단일 레코드로 결합합니다. 이러한 레코드의 숫자 표현은 정렬 및 계산 목적에 사용할 수 있으며, 문자열 값은 표시 목적으로 사용할 수 있습니다.

[Dual Function](https://play.vidyard.com/vNa9jcN6DizzYQ1hDZ5VAr)

구문:

Dual(text, number)

반환 데이터 유형: 이중

정보 메모모든 이중 반환 값은 오른쪽 정렬됩니다.

인수

| 인수 | 설명 |
| --- | --- |
| text | 숫자 인수와 조합하여 사용할 문자열 값입니다. |
| number | 문자열 인수의 문자열과 조합하여 사용할 숫자입니다. |

Qlik Sense에서 모든 필드 값은 잠재적으로 이중 값입니다. 따라서 필드 값에 숫자 값과 텍스트 값을 모두 포함할 수 있습니다. 예제는 숫자 값 40908, 텍스트 표현 '2011-12-31'을 가질 수 있는 날짜입니다.

정보 메모한 필드에 읽어들인 여러 데이터 항목이 문자열 표현은 서로 다르지만 동일하게 유효한 숫자 표현을 가진 경우 모든 데이터 항목이 첫 번째로 발견되는 문자열 표현을 공유합니다.

팁 메모dual 함수는 일반적으로 다른 데이터를 관련 필드로 읽기 전에 필터 창 등에 표시될 첫 번째 문자열 표현을 만들기 위해 스크립트 초반에 사용됩니다.

예: 차트 표현식

| 예제 | 설명 |
| --- | --- |
| `Dual(IF(DayOfWeek = 0, 'Monday',`<br>`IF(DayOfWeek = 1, 'Tuesday',`<br>`If(DayOfWeek = 2 ,'Wednesday',`<br>`If(DayOfWeek = 3 ,'Thursday',		If(DayOfWeek = 4 ,'Friday',		If(DayOfWeek = 5 ,'Saturday',		 If(DayOfWeek = 6 ,'Sunday'`<br>`))))))), DayOfWeek)` | 필드 `DayOfWeek`는 시각화에서 차원으로 사용될 수 있습니다. 테이블에서는 요일이 사전순이 아닌 정확한 번호 순서대로 자동 정렬됩니다. |
| `Dual(Pick( Priority , 'Low','Medium','High'), Priority)` | 필드 `Priority`는 시각화에서 차원으로 사용될 수 있습니다. 테이블에서 필드 `Priority`는 알파벳 시퀀스가 아닌 정확한 번호 순서로 자동 정렬됩니다. |
| `Dual('Q' & Ceil(Month(Date)/3), Ceil(Month(Date)/3))` | 필드 `Date`는 시각화에서 차원으로 사용될 수 있습니다. 텍스트 값 `Q1` ~ `Q4`가 만들어지고 숫자 값 `1` ~ `4`가 할당됩니다. |
| `Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date))` | 필드 `Date`는 시각화에서 차원으로 사용될 수 있습니다. 이 예에서는 `'2012-W22'` 형태의 텍스트 값을 만들고 동시에 주의 첫째 날의 날짜 번호에 해당하는 숫자 값을 할당합니다(예: `41057`). |

예: 스크립트 로드

| 예제 | 설명 |
| --- | --- |
| 다음 예를 스크립트에 추가하고 실행합니다.<br><br>`Load dual ( NameDay,NumDay ) as DayOfWeek inline` `[ NameDay,NumDay` `Monday,0` `Tuesday,1` `Wednesday,2` `Thursday,3` `Friday,4` `Saturday,5` `Sunday,6 ];` | 예를 들어, 필드 `DayOfWeek`는 시각화에서 차원으로 사용될 수 있습니다. 표에서는 요일이 사전순이 아닌 정확한 번호 순서로 자동 정렬됩니다. |
| `Load<br>Dual('Q' & Ceil(Month(Now())/3), Ceil(Month(Now())/3)) as Quarter<br>AutoGenerate 1;` | 이 예에서는 현재 분기를 찾습니다. Now 함수가 해당 연도의 처음 3개월 내에 실행되면 `Q1`로 표시되고, 두 번째 3개월에 대해서는 `Q2`가 표시됩니다. 하지만 정렬에 사용하는 경우 `Quarter` 필드는 숫자 값 1 ~ 4로 동작합니다. |
| `Dual('Q' & Ceil(Month(Date)/3), Ceil(Month(Date)/3)) as Quarter` | 이전 예에서처럼 `Quarter` 필드를 텍스트 값 `Q1` ~ `Q4`로 만들고, 숫자 값 `1` ~ `4`를 할당합니다. 스크립트에서 사용하기 위해서는 `Date`의 값을 로드해야 합니다. |
| `Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date)) as YearWeek` | 이 예에서는 `2012-W22` 형식의 텍스트 값으로 `YearWeek` 필드를 만들고 동시에 해당 주의 시작 요일의 날짜에 해당하는 숫자 값을 할당합니다(예: `41057`의 앱 소스 예시를 참조하십시오. 스크립트에서 사용하기 위해서는 `Date`의 값을 로드해야 합니다. |

## 예 - Dual 기본 사항

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

#### 차트 표현식

개요

데이터 집합에는 고객 서비스 데이터가 포함되어 있습니다. 요일별로 통화 건수를 검토하려고 합니다.

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

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

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

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

  * `DayOfWeek`
  * `NoOfCalls`

로드 스크립트

```
Example:
Load * inline [
DayOfWeek, NoOfCalls
0, 25000
1, 30000
2, 27500
3, 32000
4, 23250
5, 28950
6, 32350
];
```

결과

데이터를 로드하고 시트를 엽니다. 새 막대형 차트를 만든 후 다음 방법 중 하나를 사용하여 차원을 추가합니다.

1. 차원 표현식에 다음을 추가합니다.

   ```
   =Dual(IF(DayOfWeek = 0, 'Monday',
   IF(DayOfWeek = 1, 'Tuesday',
   If(DayOfWeek = 2 ,'Wednesday',
   If(DayOfWeek = 3 ,'Thursday',
   If(DayOfWeek = 4 ,'Friday',
   If(DayOfWeek = 5 ,'Saturday',
   If(DayOfWeek = 6 ,'Sunday'
   ))))))), DayOfWeek) 
   ```

2. 이 방법이 더 효율적입니다. 차원 표현식에 다음을 추가합니다.

   ```
   =Dual(pick( DayOfWeek +1 , 'Monday','Tuesday','Wednesday', 'Thursday','Friday', 'Saturday','Sunday' ), DayOfWeek)
   ```

다음 측정값을 만듭니다.

* `=Sum(NoOfCalls)`: 통화 수를 계산합니다.

결과: 요일별 통화 수를 보여 주는 막대형 차트

결과: 요일별 통화 수를 보여 주는 막대형 차트

결과: 요일별 통화 수를 보여 주는 막대형 차트 ![차원 표현식에서 Dual 함수를 사용하여 만들어진 차원이 있는 막대형 차트](https://help.qlik.com/ko-KR/sense/November2025/Subsystems/Hub/Content/Resources/Images/dual-barchart.png)

막대형 차트는 요일별 통화 수를 보여 줍니다. 요일을 올바른 순서로 자동 정렬합니다.

## 예 - Dual 시나리오

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

#### 차트 표현식

개요

데이터 집합에는 고객 지원 피드백이 포함되어 있습니다. 피드백을 정렬하여 음성 응답을 먼저 보여 주고 그다음에 양성 응답을 보여 주려고 합니다.

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

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

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

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

  * ResponseType
  * NoOfResponses

로드 스크립트

```
Example:
Load * inline [
ResponseType, NoOfResponses
1, 350
2, 560
3, 4350
4, 2350
5, 5350
];
```

결과

데이터를 로드하고 시트를 엽니다. 새로운 막대형 차트를 만들고 차원에 다음 표현식을 추가합니다.

* =Dual(pick( ResponseType , 'Very Bad','Bad','Average', 'Good','Very Good'), ResponseType)

다음 측정값을 만듭니다.

* =Sum(NoOfResponses): 응답 수를 계산합니다.

결과: 응답 유형별 응답 수를 보여 주는 막대형 차트

결과: 응답 유형별 응답 수를 보여 주는 막대형 차트

결과: 응답 유형별 응답 수를 보여 주는 막대형 차트 ![차원 표현식에서 Dual 함수를 사용하여 만들어진 차원이 있는 막대형 차트](https://help.qlik.com/ko-KR/sense/November2025/Subsystems/Hub/Content/Resources/Images/dual-barchart2.png)

막대형 차트는 응답 유형별 응답 수를 보여 줍니다. 막대는 음수에서 양수 순으로 자동 정렬됩니다. 숫자 값인 응답 유형에는 텍스트 설명이 지정되었습니다.