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

이 함수는 date를 포함한 주의 첫 번째 날의 첫 번째 밀리초의 타임스탬프에 해당하는 기본 숫자 값으로 연도 및 주차를 보여주는 값을 반환합니다.

구문:

WeekName(date[, period\_no [, first\_week\_day [, broken\_weeks [, reference\_day]]]])

`weekname()` 함수는 날짜가 속하는 주를 결정하고 주 수와 해당 주의 연도를 반환합니다. 주의 첫 번째 요일은 `FirstWeekDay` 시스템 변수에 의해 결정됩니다. 그러나 `weekname()` 함수의 `first_week_day` 인수를 사용하여 주의 첫 번째 요일을 변경할 수도 있습니다.

Qlik Sense에서는 앱이 만들어질 때 지역 설정을 가져오고 해당 설정은 스크립트에 환경 변수로 저장됩니다.

북미 앱 개발자는 스크립트에서 종종 분리된 주에 해당하는 `Set BrokenWeeks=1;`을 가져옵니다. 유럽 앱 개발자는 스크립트에서 종종 분리되지 않은 주에 해당하는 `Set BrokenWeeks=0;`을 가져옵니다.

응용 프로그램이 분리된 주를 사용하는 경우 주차 계산은 발생한 일 수에 관계없이 1월 1일에 시작하여 `FirstWeekDay` 시스템 변수 전날에 끝납니다.

그러나 응용 프로그램이 분리되지 않은 주를 사용하는 경우 1주차는 전년도 또는 1월의 처음 며칠에 시작할 수 있습니다. 이는 `ReferenceDay` 및 `FirstWeekDay` 시스템 변수를 사용하는 방법에 따라 다릅니다.

Weekname 함수의 예

| 날짜 | ISO 주 이름 | US 주 이름 |
| --- | --- | --- |
| Sat 2020 Dec 26 | 2020/52 | 2020/52 |
| Sun 2020 Dec 27 | 2020/52 | 2020/53 |
| Mon 2020 Dec 28 | 2020/53 | 2020/53 |
| Tue 2020 Dec 29 | 2020/53 | 2020/53 |
| Wed 2020 Dec 30 | 2020/53 | 2020/53 |
| Thu 2020 Dec 31 | 2020/53 | 2020/53 |
| Fri 2021 Jan 1 | 2020/53 | 2021/01 |
| Sat 2021 Jan 2 | 2020/53 | 2021/01 |
| Sun 2021 Jan 3 | 2020/53 | 2021/02 |
| Mon 2021 Jan 4 | 2021/01 | 2021/02 |
| Tue 2021 Jan 5 | 2021/01 | 2021/02 |

사용 시기

`weekname()` 함수는 주별로 집계를 비교하려는 경우에 유용합니다.

예를 들어 주별 제품의 총 판매액을 보려는 경우. 응용 프로그램에서 `BrokenWeeks` 환경 변수와의 일관성을 유지하려면 `lunarweekname()` 대신 `weekname()`을 사용합니다. 응용 프로그램이 분리되지 않은 주를 사용하는 경우 1주차는 전년도 12월의 날짜를 포함하거나 현재 연도의 1월 날짜를 제외할 수 있습니다. 응용 프로그램에서 분리된 주를 사용하는 경우 1주차에는 7일 미만이 포함될 수 있습니다.

반환 데이터 유형: 이중

인수

| 인수 | 설명 |
| --- | --- |
| timestamp | 평가할 날짜 또는 타임스탬프입니다. |
| period\_no | shift는 정수이며, 값 0은 date를 포함하는 주를 나타냅니다. shift가 음수 값일 경우 이전 주, 양수 값일 경우 다음 주를 나타냅니다. |
| first\_week\_day | 주의 시작 요일을 지정합니다. 생략하면 변수 FirstWeekDay의 값이 사용됩니다.<br><br>first\_week\_day에 가능한 값은 월요일에 0, 화요일에 1, 수요일에 2, 목요일에 3, 금요일에 4, 토요일에 5, 일요일에 6입니다.<br><br>시스템 변수에 대한 자세한 내용은 [FirstWeekDay](https://help.qlik.com/ko-KR/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm)를 참조하십시오. |
| broken\_weeks | broken\_weeks를 지정하지 않으면 BrokenWeeks 변수의 값이 주를 분리할지 여부를 정의하는 데 사용됩니다.<br><br>시스템 변수에 대한 자세한 내용은 [BrokenWeeks](https://help.qlik.com/ko-KR/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/BrokenWeeks.htm)를 참조하십시오. |
| reference\_day | reference\_day를 지정하지 않으면 ReferenceDay 변수의 값이 1주차를 정의하기 위한 기준일로 설정할 1월 날짜를 정의하는 데 사용됩니다. 기본적으로 Qlik Sense 함수는 4를 기준일로 사용합니다. 이는 1주차에 1월 4일이 포함되어야 한다는 의미입니다. 혹은 달리 말하면 1주차에 항상 1월이 4일 이상이 있어야 합니다.<br><br>시스템 변수에 대한 자세한 내용은 [ReferenceDay](https://help.qlik.com/ko-KR/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/ReferenceDay.htm)를 참조하십시오. |

## 국가별 설정

달리 지정하지 않는 한 이 항목의 예에서는 다음 날짜 형식을 사용합니다. YYYY/MM/DD. 날짜 형식은 데이터 로드 스크립트의 `SET DateFormat` 문에 지정됩니다. 기본 날짜 형식은 지역 설정 및 기타 요인으로 인해 시스템에서 다를 수 있습니다. 아래 예의 형식을 요구 사항에 맞게 변경할 수 있습니다. 또는 이러한 예와 일치하도록 로드 스크립트의 형식을 변경할 수 있습니다.

앱의 기본 국가별 설정은 Qlik Sense가 설치된 컴퓨터 또는 서버의 국가별 시스템 설정을 기반으로 합니다. 액세스하는 Qlik Sense 서버가 스웨덴으로 설정된 경우 데이터 로드 편집기는 날짜, 시간 및 통화에 대해 스웨덴 지역 설정을 사용합니다. 이러한 국가별 형식 설정은 Qlik Sense 사용자 인터페이스에 표시되는 언어와 관련이 없습니다. Qlik Sense는 사용 중인 브라우저와 동일한 언어로 표시됩니다.

아래의 예는 다음과 같이 가정합니다.

```
Set FirstWeekDay=0;  
Set BrokenWeeks=0;   
Set ReferenceDay=4;
```

함수 예

| 예 | 결과 |
| --- | --- |
| weekname('01/12/2013') | 2013/02를 반환합니다. |
| weekname('01/12/2013', -1) | 2013/01을 반환합니다. |
| weekname('01/12/2013', 0, 1) | 2013/02를 반환합니다. |

## 예 1 – 추가 인수가 없는 날짜

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

#### 로드 스크립트 및 결과

개요

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

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

* '`Transactions`'라는 테이블에 로드되는 2021년의 마지막 주와 2022년의 처음 2주 동안의 트랜잭션 집합을 포함하는 데이터 집합.

* `MM/DD/YYYY` 서식으로 설정된 `DateFormat` 시스템 변수.

* `1`으로 설정된 `BrokenWeeks` 시스템 변수.

* `6`로 설정된 `FirstWeekDay` 시스템 변수.

* 다음을 포함하는 선행 LOAD:

  * '`week_number`' 필드로 설정된 `weekday()` 함수. 트랜잭션이 발생한 연도와 주차를 반환합니다.

  * '`week_day`'라는 필드로 설정된 `weekname()` 함수. 각 트랜잭션 날짜의 요일 값을 표시합니다.

로드 스크립트

```

SET BrokenWeeks=1; 
SET DateFormat='MM/DD/YYYY'; 
SET FirstWeekDay=6; 

Transactions: 
   Load 
     *, 
     WeekDay(date) as week_day, 
     Weekname(date) as week_number 
     ; 
Load 
* 
Inline  
[ 
id,date,amount 
8183,12/27/2021,58.27 
8184,12/28/2021,67.42 
8185,12/29/2021,23.80 
8186,12/30/2021,82.06 
8187,12/31/2021,40.56 
8188,01/01/2022,37.23 
8189,01/02/2022,17.17 
8190,01/03/2022,88.27 
8191,01/04/2022,57.42 
8192,01/05/2022,53.80 
8193,01/06/2022,82.06 
8194,01/07/2022,40.56 
8195,01/08/2022,53.67 
8196,01/09/2022,26.63 
8197,01/10/2022,72.48 
8198,01/11/2022,18.37 
8199,01/12/2022,45.26 
8200,01/13/2022,58.23 
8201,01/14/2022,18.52 
]; 
```

결과

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

* `id`
* `date`
* `week_day`
* `week_number`

결과 테이블

| ID | 날짜 | week\_day | week\_number |
| --- | --- | --- | --- |
| 8183 | 12/27/2021 | 월 | 2021/53 |
| 8184 | 12/28/2021 | 화 | 2021/53 |
| 8185 | 12/29/2021 | 수 | 2021/53 |
| 8186 | 12/30/2021 | 목 | 2021/53 |
| 8187 | 12/31/2021 | 금 | 2021/53 |
| 8188 | 01/01/2022 | 토 | 2022/01 |
| 8189 | 01/02/2022 | 일 | 2022/02 |
| 8190 | 01/03/2022 | 월 | 2022/02 |
| 8191 | 01/04/2022 | 화 | 2022/02 |
| 8192 | 01/05/2022 | 수 | 2022/02 |
| 8193 | 01/06/2022 | 목 | 2022/02 |
| 8194 | 01/07/2022 | 금 | 2022/02 |
| 8195 | 01/08/2022 | 토 | 2022/02 |
| 8196 | 01/09/2022 | 일 | 2022/03 |
| 8197 | 01/10/2022 | 월 | 2022/03 |
| 8198 | 01/11/2022 | 화 | 2022/03 |
| 8199 | 01/12/2022 | 수 | 2022/03 |
| 8200 | 01/13/2022 | 목 | 2022/03 |
| 8201 | 01/14/2022 | 금 | 2022/03 |

’`week_number`’ 필드는 `weekname()` 함수를 사용하고 날짜 필드를 함수의 인수로 전달하여 선행 LOAD 문에서 만들어집니다.

`weekname()` 함수는 처음에 날짜 값이 속하는 주를 식별하고 트랜잭션이 발생한 연도와 주 수 개수를 반환합니다.

`FirstWeekDay` 시스템 변수는 일요일을 주의 첫 번째 요일로 설정합니다. `BrokenWeeks` 시스템 변수는 분리된 주를 사용하도록 응용 프로그램을 설정합니다. 즉, 1주차는 1월 1일에 시작됩니다.

기본 변수가 있는 `weekname()` 함수 다이어그램.

기본 변수가 있는 `weekname()` 함수 다이어그램.

기본 변수가 있는 `weekname()`weekname() 함수 다이어그램. ![weekname() 함수가 트랜잭션이 발생한 주 수와 연도를 식별하는 방법을 보여 주는 다이어그램입니다.](https://help.qlik.com/ko-KR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekname-example1-diagram1.png)

1주차는 토요일인 1월 1일에 시작하므로 이 날짜에 발생한 트랜잭션은 값 `2022/01`(연도 및 주 수)을 반환합니다.

트랜잭션 8192의 주 수를 식별하는 `weekname()` 함수 다이어그램.

트랜잭션 8192의 주 수를 식별하는 `weekname()` 함수 다이어그램.

트랜잭션 8192의 주 수를 식별하는 `weekname()`weekname() 함수 다이어그램. ![weekname() 함수가 트랜잭션 8192가 발생한 주 수를 식별하는 방법을 보여 주는 다이어그램입니다.](https://help.qlik.com/ko-KR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekname-example1-diagram2.png)

응용 프로그램이 분리된 주를 사용하고 첫 번째 요일이 일요일이기 때문에 1월 2일부터 1월 8일까지 발생한 트랜잭션은 값 `2022/02`(2022년의 주 수 2)를 반환합니다. 이에 대한 예는 1월 5일에 발생한 트랜잭션 8192이며 '`week_number`' 필드의 값 `2022/02`를 반환합니다.

## 예 2 – period\_no

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

#### 로드 스크립트 및 결과

개요

첫 번째 예와 동일한 데이터 집합 및 시나리오가 사용됩니다.

그러나 이 예에서 작업은 트랜잭션이 발생한 이전 연도 및 주 수를 반환하는 필드 '`previous_week_number`'를 만드는 것입니다.

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

로드 스크립트

```
SET BrokenWeeks=1; 
SET FirstWeekDay=6; 
						
Transactions: 
   Load 
     *, 
     weekname(date,-1) as previous_week_number 
     ; 
Load 
* 
Inline  
[ 
id,date,amount 
8183,12/27/2021,58.27 
8184,12/28/2021,67.42 
8185,12/29/2021,23.80 
8186,12/30/2021,82.06 
8187,12/31/2021,40.56 
8188,01/01/2022,37.23 
8189,01/02/2022,17.17 
8190,01/03/2022,88.27 
8191,01/04/2022,57.42 
8192,01/05/2022,53.80 
8193,01/06/2022,82.06 
8194,01/07/2022,40.56 
8195,01/08/2022,53.67 
8196,01/09/2022,26.63 
8197,01/10/2022,72.48 
8198,01/11/2022,18.37 
8199,01/12/2022,45.26 
8200,01/13/2022,58.23 
8201,01/14/2022,18.52 
]; 
```

결과

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

* `id`
* `date`
* `week_day`
* `week_number`

결과 테이블

| ID | 날짜 | week\_day | week\_number |
| --- | --- | --- | --- |
| 8183 | 12/27/2021 | 월 | 2021/52 |
| 8184 | 12/28/2021 | 화 | 2021/52 |
| 8185 | 12/29/2021 | 수 | 2021/52 |
| 8186 | 12/30/2021 | 목 | 2021/52 |
| 8187 | 12/31/2021 | 금 | 2021/52 |
| 8188 | 01/01/2022 | 토 | 2021/52 |
| 8189 | 01/02/2022 | 일 | 2021/53 |
| 8190 | 01/03/2022 | 월 | 2021/53 |
| 8191 | 01/04/2022 | 화 | 2021/53 |
| 8192 | 01/05/2022 | 수 | 2021/53 |
| 8193 | 01/06/2022 | 목 | 2021/53 |
| 8194 | 01/07/2022 | 금 | 2021/53 |
| 8195 | 01/08/2022 | 토 | 2022/01 |
| 8196 | 01/09/2022 | 일 | 2022/02 |
| 8197 | 01/10/2022 | 월 | 2022/02 |
| 8198 | 01/11/2022 | 화 | 2022/02 |
| 8199 | 01/12/2022 | 수 | 2022/02 |
| 8200 | 01/13/2022 | 목 | 2022/02 |
| 8201 | 01/14/2022 | 금 | 2022/02 |

`period_no` `-1`은 `weekname()` 함수에서 오프셋 인수로 사용되므로 함수는 먼저 트랜잭션이 발생한 주를 식별합니다. 그런 다음 1주일 전을 찾아 해당 주의 첫 번째 밀리초를 식별합니다.

`period_no` 오프셋이 -1인 `weekname()` 함수 다이어그램.

`period_no` 오프셋이 -1인 `weekname()` 함수 다이어그램.

`period_no`period\_no 오프셋이 -1인 `weekname()`weekname() 함수 다이어그램.![period_no 오프셋이 음수 1인 경우 weekname() 함수가 이전 주의 주 수를 검색하는 방법을 보여 주는 다이어그램입니다.](https://help.qlik.com/ko-KR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekname-example2-diagram.png)

트랜잭션 8192는 2022년 1월 5일에 발생했습니다. `weekname()` 함수는 1주일 전인 2021년 12월 30일을 찾아 해당 날짜의 주 수와 연도를 반환합니다(`2021/53`).

## 예 3 – first\_week\_day

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

#### 로드 스크립트 및 결과

개요

첫 번째 예와 동일한 데이터 집합 및 시나리오가 사용됩니다.

그러나 이 예에서 회사 정책은 근무 주를 화요일에 시작하는 것입니다.

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

로드 스크립트

```
SET BrokenWeeks=1; 
SET DateFormat='MM/DD/YYYY'; 

Transactions: 
   Load 
     *, 
     weekday(date) as week_day, 
     weekname(date,0,1) as week_number 
     ; 
Load 
* 
Inline  
[ 
id,date,amount 
8183,12/27/2021,58.27 
8184,12/28/2021,67.42 
8185,12/29/2021,23.80 
8186,12/30/2021,82.06 
8187,12/31/2021,40.56 
8188,01/01/2022,37.23 
8189,01/02/2022,17.17 
8190,01/03/2022,88.27 
8191,01/04/2022,57.42 
8192,01/05/2022,53.80 
8193,01/06/2022,82.06 
8194,01/07/2022,40.56 
8195,01/08/2022,53.67 
8196,01/09/2022,26.63 
8197,01/10/2022,72.48 
8198,01/11/2022,18.37 
8199,01/12/2022,45.26 
8200,01/13/2022,58.23 
8201,01/14/2022,18.52 
]; 
```

결과

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

* `id`
* `date`
* `week_day`
* `week_number`

결과 테이블

| ID | 날짜 | week\_day | week\_number |
| --- | --- | --- | --- |
| 8183 | 12/27/2021 | 월 | 2021/52 |
| 8184 | 12/28/2021 | 화 | 2021/53 |
| 8185 | 12/29/2021 | 수 | 2021/53 |
| 8186 | 12/30/2021 | 목 | 2021/53 |
| 8187 | 12/31/2021 | 금 | 2021/53 |
| 8188 | 01/01/2022 | 토 | 2022/01 |
| 8189 | 01/02/2022 | 일 | 2022/01 |
| 8190 | 01/03/2022 | 월 | 2022/01 |
| 8191 | 01/04/2022 | 화 | 2022/02 |
| 8192 | 01/05/2022 | 수 | 2022/02 |
| 8193 | 01/06/2022 | 목 | 2022/02 |
| 8194 | 01/07/2022 | 금 | 2022/02 |
| 8195 | 01/08/2022 | 토 | 2022/02 |
| 8196 | 01/09/2022 | 일 | 2022/02 |
| 8197 | 01/10/2022 | 월 | 2022/02 |
| 8198 | 01/11/2022 | 화 | 2022/03 |
| 8199 | 01/12/2022 | 수 | 2022/03 |
| 8200 | 01/13/2022 | 목 | 2022/03 |
| 8201 | 01/14/2022 | 금 | 2022/03 |

화요일을 주의 첫 번째 요일로 하는 `weekname()` 함수 다이어그램.

화요일을 주의 첫 번째 요일로 하는 `weekname()` 함수 다이어그램.

화요일을 주의 첫 번째 요일로 하는 `weekname()`weekname() 함수 다이어그램.![화요일이 주의 첫 번째 요일로 설정된 경우 weekname() 함수가 작동하는 방법을 보여 주는 다이어그램입니다.](https://help.qlik.com/ko-KR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekname-example3-diagram1.png)

`weekname()` 함수에서 `first_week_date` 인수 `1`을 사용하므로 화요일을 주의 첫 번째 요일로 사용합니다. 따라서 이 함수는 2021년 53주가 12월 28일 화요일에 시작한다고 결정합니다. 그리고 분리된 주를 사용하는 응용 프로그램으로 인해 1주차는 2022년 1월 1일에 시작하여 2022년 1월 3일 월요일의 마지막 밀리초에 끝납니다.

화요일이 주의 첫 번째 요일인 트랜잭션 8192의 주 수를 보여 주는 다이어그램.

화요일이 주의 첫 번째 요일인 트랜잭션 8192의 주 수를 보여 주는 다이어그램.

화요일이 주의 첫 번째 요일인 트랜잭션 8192의 주 수를 보여 주는 다이어그램.![화요일을 주의 첫 번째 요일로 설정한 경우 weekname() 함수가 트랜잭션 8192에 대해 다른 주 수를 반환하는 방법을 보여 주는 다이어그램입니다.](https://help.qlik.com/ko-KR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekname-example3-diagram2.png)

트랜잭션 8192는 2022년 1월 5일에 발생했습니다. 따라서 화요일의 `first_week_day` 매개 변수를 사용하여 `weekname()` 함수는 '`week_number`' 필드의 값 `2022/02`를 반환합니다.

## 예 4 – 차트 개체 예

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

#### 로드 스크립트 및 차트 표현식

개요

첫 번째 예와 동일한 데이터 집합 및 시나리오가 사용됩니다.

그러나 이 예에서 데이터 집합은 변경되지 않고 응용 프로그램에 로드됩니다. 트랜잭션이 발생한 연도의 주 수를 반환하는 계산은 응용 프로그램의 차트 개체에서 측정값으로 만들어집니다.

로드 스크립트

```
SET BrokenWeeks=1; 
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8183,12/27/2021,58.27 
8184,12/28/2021,67.42 
8185,12/29/2021,23.80 
8186,12/30/2021,82.06 
8187,12/31/2021,40.56 
8188,01/01/2022,37.23 
8189,01/02/2022,17.17 
8190,01/03/2022,88.27 
8191,01/04/2022,57.42 
8192,01/05/2022,53.80 
8193,01/06/2022,82.06 
8194,01/07/2022,40.56 
8195,01/08/2022,53.67 
8196,01/09/2022,26.63 
8197,01/10/2022,72.48 
8198,01/11/2022,18.37 
8199,01/12/2022,45.26 
8200,01/13/2022,58.23 
8201,01/14/2022,18.52 
]; 
```

결과

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

* id

* date

* =week\_day (date)

트랜잭션이 발생한 주의 시작을 계산하려면 다음 측정값을 만듭니다.

=weekname(date)

결과 테이블

| ID | 날짜 | =weekday(date) | =weekname(date) |
| --- | --- | --- | --- |
| 8183 | 12/27/2021 | 월 | 2021/53 |
| 8184 | 12/28/2021 | 화 | 2021/53 |
| 8185 | 12/29/2021 | 수 | 2021/53 |
| 8186 | 12/30/2021 | 목 | 2021/53 |
| 8187 | 12/31/2021 | 금 | 2021/53 |
| 8188 | 01/01/2022 | 토 | 2022/01 |
| 8189 | 01/02/2022 | 일 | 2022/02 |
| 8190 | 01/03/2022 | 월 | 2022/02 |
| 8191 | 01/04/2022 | 화 | 2022/02 |
| 8192 | 01/05/2022 | 수 | 2022/02 |
| 8193 | 01/06/2022 | 목 | 2022/02 |
| 8194 | 01/07/2022 | 금 | 2022/02 |
| 8195 | 01/08/2022 | 토 | 2022/02 |
| 8196 | 01/09/2022 | 일 | 2022/03 |
| 8197 | 01/10/2022 | 월 | 2022/03 |
| 8198 | 01/11/2022 | 화 | 2022/03 |
| 8199 | 01/12/2022 | 수 | 2022/03 |
| 8200 | 01/13/2022 | 목 | 2022/03 |
| 8201 | 01/14/2022 | 금 | 2022/03 |

'week\_number' 필드는 weekname() 함수를 사용하고 함수의 인수로 날짜 필드를 전달하여 차트 개체에서 측정값으로 만들어집니다.

weekname() 함수는 처음에 날짜 값이 속하는 주를 식별하고 트랜잭션이 발생한 연도와 주 수 개수를 반환합니다.

FirstWeekDay 시스템 변수는 일요일을 주의 첫 번째 요일로 설정합니다. BrokenWeeks 시스템 변수는 분리된 주를 사용하도록 응용 프로그램을 설정합니다. 즉, 1주차는 1월 1일에 시작됩니다.

일요일이 주의 첫 번째 요일인 주 수를 보여 주는 다이어그램.

일요일이 주의 첫 번째 요일인 주 수를 보여 주는 다이어그램.

일요일이 주의 첫 번째 요일인 주 수를 보여 주는 다이어그램.![1주차가 1월 1일에 시작하고 일요일이 주의 첫 번째 요일로 시작됨을 보여 주는 다이어그램입니다.](https://help.qlik.com/ko-KR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekname-example4-diagram1.png)

트랜잭션 8192가 두 번째 주에 발생했음을 보여 주는 다이어그램.

트랜잭션 8192가 두 번째 주에 발생했음을 보여 주는 다이어그램.

트랜잭션 8192가 두 번째 주에 발생했음을 보여 주는 다이어그램.![트랜잭션 8192가 2주차에 발생함을 보여 주는 다이어그램입니다.](https://help.qlik.com/ko-KR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekname-example4-diagram1.png)

응용 프로그램이 분리된 주를 사용하고 첫 번째 요일이 일요일이기 때문에 1월 2일부터 1월 8일까지 발생한 트랜잭션은 값 2022/02(2022년의 두 번째 주)를 반환합니다. 트랜잭션 8192는 1월 5일에 발생했으며 'week\_number' 필드에 대한 값 2022/02를 반환합니다.

## 예 5 – 시나리오

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

#### 로드 스크립트 및 결과

개요

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

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

* 'Transactions'라는 테이블에 로드되는 2019년의 마지막 주와 2020년의 처음 2주 동안의 트랜잭션 집합을 포함하는 데이터 집합.

* 0으로 설정된 BrokenWeeks 시스템 변수.

* 2로 설정된 ReferenceDay 시스템 변수.

* MM/DD/YYYY 서식으로 설정된 DateFormat 시스템 변수.

로드 스크립트

```
SET BrokenWeeks=0;  
SET ReferenceDay=2;  
SET DateFormat='MM/DD/YYYY'; 

Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8183,12/27/2019,58.27 
8184,12/28/2019,67.42 
8185,12/29/2019,23.80 
8186,12/30/2019,82.06 
8187,12/31/2019,40.56 
8188,01/01/2020,37.23 
8189,01/02/2020,17.17 
8190,01/03/2020,88.27 
8191,01/04/2020,57.42 
8192,01/05/2020,53.80 
8193,01/06/2020,82.06 
8194,01/07/2020,40.56 
8195,01/08/2020,53.67 
8196,01/09/2020,26.63 
8197,01/10/2020,72.48 
8198,01/11/2020,18.37 
8199,01/12/2020,45.26 
8200,01/13/2020,58.23 
8201,01/14/2020,18.52 
]; 
```

결과

데이터를 로드하고 시트를 엽니다. 새 테이블을 만듭니다.

다음 표현식을 사용하여 계산된 차원을 만듭니다.

=weekname(date)

총 판매액을 계산하려면 다음 집계 측정값을 만듭니다.

=sum(amount)

측정값의 숫자 형식을 화폐로 설정합니다.

결과 테이블

| weekname(date) | =sum(amount) |
| --- | --- |
| 2019/52 | $125.69 |
| 2020/01 | $346.51 |
| 2020/02 | $347.57 |
| 2020/03 | $122.01 |

이 시나리오에서 weekname() 함수를 사용한 결과를 보여 주기 위해 다음 필드를 차원으로 추가합니다.

date

날짜 필드가 있는 결과 테이블

| weekname(date) | 날짜 | =sum(amount) |
| --- | --- | --- |
| 2019/52 | 12/27/2019 | $58.27 |
| 2019/52 | 12/28/2019 | $67.42 |
| 2020/01 | 12/29/2019 | $23.80 |
| 2020/01 | 12/30/2019 | $82.06 |
| 2020/01 | 12/31/2019 | $40.56 |
| 2020/01 | 01/01/2020 | $37.23 |
| 2020/01 | 01/02/2020 | $17.17 |
| 2020/01 | 01/03/2020 | $88.27 |
| 2020/01 | 01/04/2020 | $57.42 |
| 2020/02 | 01/05/2020 | $53.80 |
| 2020/02 | 01/06/2020 | $82.06 |
| 2020/02 | 01/07/2020 | $40.56 |
| 2020/02 | 01/08/2020 | $53.67 |
| 2020/02 | 01/09/2020 | $26.63 |
| 2020/02 | 01/10/2020 | $72.48 |
| 2020/02 | 01/11/2020 | $18.37 |
| 2020/03 | 01/12/2020 | $45.26 |
| 2020/03 | 01/13/2020 | $58.23 |
| 2020/03 | 01/14/2020 | $18.52 |

응용 프로그램은 분리되지 않은 주를 사용하고 ReferenceDay 시스템 변수로 인해 1주차에는 1월에 최소 2일이 필요하므로 2020년 1주차에는 2019년 12월 29일의 트랜잭션이 포함됩니다.