# weekyear 스크립트 및 차트 함수

이 함수는 환경 변수에 따라 해당 주차가 속한 연도를 반환합니다.주차 범위는 1과 약 52 사이입니다.

weekyear(timestamp [, first\_week\_day [, broken\_weeks [, reference\_day]]])

반환 데이터 유형: 정수

인수

| 인수 | 설명 |
| --- | --- |
| timestamp | 평가할 날짜 또는 타임스탬프입니다. |
| 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/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm)를 참조하십시오. |
| broken\_weeks | broken\_weeks를 지정하지 않으면 BrokenWeeks 변수의 값이 주를 분리할지 여부를 정의하는 데 사용됩니다.<br><br>시스템 변수에 대한 자세한 내용은 [BrokenWeeks](https://help.qlik.com/ko-KR/sense/May2026/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/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/ReferenceDay.htm)를 참조하십시오. |

`weekyear()` 함수는 날짜가 속하는 연도의 주를 결정합니다.그런 다음 해당 주차에 해당하는 연도를 반환합니다.

`BrokenWeeks`가 `0`(false)으로 설정되면 `weekyear()`는 `year()`와 동일하게 반환됩니다.

`weekyear()` 함수의 범위 다이어그램

`weekyear()` 함수의 범위 다이어그램

`weekyear()`weekyear() 함수의 범위 다이어그램 ![Diagram that shows the range of time that the weekyear() function evaluates. The weekyear() identifies the year that a week number took place in.](https://help.qlik.com/ko-KR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-diagram1.png)

그러나 `BrokenWeeks` 시스템 변수가 분리되지 않은 주를 사용하도록 설정된 경우 1주차는 `ReferenceDay` 시스템 변수에 지정된 값을 기준으로 1월의 특정 일 수만 포함해야 합니다.

예를 들어 `ReferenceDay` 값 `4`가 사용되는 경우 1주차에는 1월의 4일이 포함되어야 합니다.1주차에는 전년도 12월의 날짜가 포함되거나 연도의 마지막 주차에 다음 해 1월의 날짜가 포함될 수 있습니다.이와 같은 상황에서 `weekyear()` 함수는 `year()` 함수에 다른 값을 반환합니다.

분리되지 않은 주를 사용할 때의 `weekyear()` 함수 범위의 다이어그램

분리되지 않은 주를 사용할 때의 `weekyear()` 함수 범위의 다이어그램

분리되지 않은 주를 사용할 때의 `weekyear()`weekyear() 함수 범위의 다이어그램 ![Diagram that shows how the weekyear() function works with unbroken weeks. If unbroken weeks are used, the weekyear() function will return a different value than the year() function.](https://help.qlik.com/ko-KR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-diagram2.png)

사용 시기

`weekyear()` 함수는 연도별로 집계를 비교하려는 경우에 유용합니다.예를 들어 연도별 제품의 총 판매액을 보려는 경우에 사용할 수 있습니다.사용자가 `weekyear()`응용 프로그램`year()`의 `BrokenWeeks` 시스템 변수와 일관성을 유지하기를 원할 때 보다는 함수가 선택됩니다.

## 국가별 설정

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

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

함수 예

| 예시 | 결과 |
| --- | --- |
| `weekyear('12/30/1996',0,0,4)` | 1997년의 1주차가 1996년 12월 30일에 시작되므로 1997년을 반환합니다. |
| `weekyear('01/02/1997',0,0,4)` | 1997을 반환합니다. |
| `weekyear('12/28/1997',0,0,4)` | 1997을 반환합니다. |
| `weekyear('12/30/1997',0,0,4)` | 1998년의 1주차가 1997년 12월 29일에 시작되므로 1998년을 반환합니다 |
| `weekyear('01/02/1999',0,0,4)` | 1998년 53주차가 1999년 1월 3일에 끝나므로 1998년을 반환합니다. |

관련 항목

| 항목 | 상호 작용 |
| --- | --- |
| [week 스크립트 및 차트 함수](https://help.qlik.com/ko-KR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/week.htm) | ISO 8601에 따라 주차를 나타내는 정수를 반환합니다. |
| [year 스크립트 및 차트 함수](https://help.qlik.com/ko-KR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/year.htm) | 이 표현식이 표준 숫자 해석에 따라 날짜로 해석될 때 연도를 나타내는 정수를 반환합니다. |

## 예 1 - 분리된 주

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

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

개요

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

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

* '`Transactions`'라는 테이블에 로드되는 2020년 마지막 주와 2021년 첫 주에 대한 트랜잭션 집합을 포함하는 데이터 집합.

* 1로 설정된 `BrokenWeeks` 변수.

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

  * `weekyear()` 함수, 트랜잭션이 발생한 연도를 반환하는 필드 ‘`week_year`’로 설정됩니다.

  * `week()` 함수, 각 트랜잭션 날짜의 주차를 표시하는 필드 '`week`'로 설정됩니다.

로드 스크립트

```
SET BrokenWeeks=1; 
						
Transactions: 
	Load 
       *, 
       week(date) as week, 
       weekyear(date) as week_year 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8176,12/28/2020,19.42 
8177,12/29/2020,23.80 
8178,12/30/2020,82.06 
8179,12/31/2020,40.56 
8180,01/01/2021,37.23 
8181,01/02/2021,17.17 
8182,01/03/2021,88.27 
8183,01/04/2021,57.42
8184,01/05/2021,67.42 
8185,01/06/2021,23.80 
8186,01/07/2021,82.06 
]; 
```

결과

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

* `id`
* `date`
* `week`
* `week_year`

결과 테이블

| ID | 날짜 | 주 | 주\_년 |
| --- | --- | --- | --- |
| 8176 | 12/28/2020 | 53 | 2020 |
| 8177 | 2020년 12월 29일 | 53 | 2020 |
| 8178 | 2020년 12월 30일 | 53 | 2020 |
| 8179 | 12/31/2020 | 53 | 2020 |
| 8180 | 01/01/2021 | 1 | 2021 |
| 8181 | 01/02/2021 | 1 | 2021 |
| 8182 | 01/03/2021 | 2 | 2021 |
| 8183 | 2021/01/04 | 2 | 2021 |
| 8184 | 2021/01/05 | 2 | 2021 |
| 8185 | 2021년 01월 06일 | 2 | 2021 |
| 8186 | 01/07/2021 | 2 | 2021 |

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

`BrokenWeeks` 시스템 변수는 응용 프로그램이 분리된 주를 사용함을 의미하는 `1`으로 설정됩니다.1주차가 1월 1일에 시작됩니다.

분리된 주를 사용하는 `weekyear()` 함수 범위의 다이어그램

분리된 주를 사용하는 `weekyear()` 함수 범위의 다이어그램

분리된 주를 사용하는 `weekyear()`weekyear() 함수 범위의 다이어그램 ![Diagram that shows the weekyear() function identifies that transaction 8181 took place in week 1 and returns the year of that week, 2021.](https://help.qlik.com/ko-KR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-examples1_and3-diagram.png)

트랜잭션 8181은 1주차에 속하는 1월 2일에 발생합니다.따라서, '`week_year`' 필드에 대해 값 2021을 반환합니다.

## 예 2 - 분리되지 않은 주

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

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

개요

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

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

* '`Transactions`'라는 테이블에 로드되는 2020년 마지막 주와 2021년 첫 주에 대한 트랜잭션 집합을 포함하는 데이터 집합.

* `BrokenWeeks`으로 설정된 `0` 변수.

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

  * `weekyear()` 함수, 트랜잭션이 발생한 연도를 반환하는 필드 '`week_year`'로 설정됩니다.

  * `week()` 함수, 각 트랜잭션 날짜의 주차를 표시하는 필드 '`week`'로 설정됩니다.

그러나 이 예에서 회사 정책은 분리되지 않은 주를 사용하는 것입니다.

로드 스크립트

```
SET BrokenWeeks=0; 
						
Transactions: 
	Load 
       *, 
       week(date) as week, 
       weekyear(date) as week_year 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8176,12/28/2020,19.42 
8177,12/29/2020,23.80 
8178,12/30/2020,82.06 
8179,12/31/2020,40.56 
8180,01/01/2021,37.23 
8181,01/02/2021,17.17 
8182,01/03/2021,88.27 
8183,01/04/2021,57.42
8184,01/05/2021,67.42 
8185,01/06/2021,23.80 
8186,01/07/2021,82.06 
]; 
```

결과

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

* `id`
* `date`
* `week`
* `week_year`

결과 테이블

| ID | 날짜 | 주 | 주\_년 |
| --- | --- | --- | --- |
| 8176 | 12/28/2020 | 53 | 2020 |
| 8177 | 2020년 12월 29일 | 53 | 2020 |
| 8178 | 2020년 12월 30일 | 53 | 2020 |
| 8179 | 12/31/2020 | 53 | 2020 |
| 8180 | 01/01/2021 | 53 | 2020 |
| 8181 | 01/02/2021 | 53 | 2020 |
| 8182 | 01/03/2021 | 1 | 2021 |
| 8183 | 2021/01/04 | 1 | 2021 |
| 8184 | 2021/01/05 | 1 | 2021 |
| 8185 | 2021년 01월 06일 | 1 | 2021 |
| 8186 | 01/07/2021 | 1 | 2021 |

`BrokenWeeks` 시스템 변수는 응용 프로그램이 분리된 주를 사용함을 의미하는 `0`으로 설정됩니다.따라서 1주차는 1월 1일에 시작할 필요가 없습니다.

2020년의 53주차는 2021년 1월 2일까지 계속되고 2021년의 1주차는 2021년 1월 3일 일요일에 시작됩니다.

분리되지 않은 주를 사용하는 `weekyear()` 함수 범위의 다이어그램

분리되지 않은 주를 사용하는 `weekyear()` 함수 범위의 다이어그램

분리되지 않은 주를 사용하는 `weekyear()`weekyear() 함수 범위의 다이어그램 ![Diagram that shows how the weekyear() function works with unbroken weeks and that week 53 has days in 2020 and 2021. Transaction 8181 takes place on January 2 but the weekyear() function identifies its year as 2020 because of the unbroken weeks.](https://help.qlik.com/ko-KR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-example2-diagram.png)

트랜잭션 8181은 1주차에 속하는 1월 2일에 발생합니다.따라서, '`week_year`' 필드에 대해 2021 값을 반환합니다.

## 예 3 - 차트 개체 예

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

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

개요

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

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

로드 스크립트

```
SET BrokenWeeks=1; 
						
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8176,12/28/2020,19.42 
8177,12/29/2020,23.80 
8178,12/30/2020,82.06 
8179,12/31/2020,40.56 
8180,01/01/2021,37.23 
8181,01/02/2021,17.17 
8182,01/03/2021,88.27 
8183,01/04/2021,57.42
8184,01/05/2021,67.42 
8185,01/06/2021,23.80 
8186,01/07/2021,82.06 
]; 
```

결과

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

* `id`
* `date`

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

* `=week(date)`

주차를 기준으로 트랜잭션이 발생한 연도를 계산하려면 다음 측정값을 만듭니다.

* `=weekyear(date)`

결과 테이블

| ID | 날짜 | 주 | 주\_년 |
| --- | --- | --- | --- |
| 8176 | 12/28/2020 | 53 | 2020 |
| 8177 | 2020년 12월 29일 | 53 | 2020 |
| 8178 | 2020년 12월 30일 | 53 | 2020 |
| 8179 | 12/31/2020 | 53 | 2020 |
| 8180 | 01/01/2021 | 1 | 2021 |
| 8181 | 01/02/2021 | 1 | 2021 |
| 8182 | 01/03/2021 | 2 | 2021 |
| 8183 | 2021/01/04 | 2 | 2021 |
| 8184 | 2021/01/05 | 2 | 2021 |
| 8185 | 2021년 01월 06일 | 2 | 2021 |
| 8186 | 01/07/2021 | 2 | 2021 |

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

`BrokenWeeks` 시스템 변수는 응용 프로그램이 분리된 주를 사용함을 의미하는 `1`으로 설정됩니다. 1주차는 1월 1일에 시작됩니다.

분리된 주를 사용하는 `weekyear()` 함수 범위의 다이어그램

분리된 주를 사용하는 `weekyear()` 함수 범위의 다이어그램

분리된 주를 사용하는 `weekyear()`weekyear() 함수 범위의 다이어그램 ![Diagram that shows the weekyear() function identifies that transaction 8181 took place in week 1 and returns the year of that week, 2021.](https://help.qlik.com/ko-KR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-examples1_and3-diagram.png)

트랜잭션 8181은 1주차에 속하는 1월 2일에 발생합니다.따라서, '`week_year`' 필드에 대해 값 2021을 반환합니다.

## 예 4 - 시나리오

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

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

개요

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

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

* '`Transactions`'라는 테이블에 로드되는 2020년 마지막 주와 2021년 첫 주에 대한 트랜잭션 집합을 포함하는 데이터 집합.

* `BrokenWeeks`으로 설정된 `0` 변수.이는 응용 프로그램이 분리되지 않은 주를 사용한다는 것을 의미합니다.

* `ReferenceDay`으로 설정된 `2` 변수.이는 연도가 1월 2일에 시작되고 1월에 최소 2일이 포함됨을 의미합니다.

* `FirstWeekDay`으로 설정된 `1` 변수.이는 주의 첫 번째 날이 화요일임을 의미합니다.

회사 정책은 분리된 주를 사용하는 것입니다.최종 사용자는 연도별 총 판매를 나타내는 차트를 원합니다.응용 프로그램은 1월에 최소 2일이 포함된 1주차와 함께 분리되지 않은 주를 사용합니다.

로드 스크립트

```
SET BrokenWeeks=0; 
SET ReferenceDay=2; 
SET FirstWeekDay=1; 
 
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8176,12/28/2020,19.42 
8177,12/29/2020,23.80 
8178,12/30/2020,82.06 
8179,12/31/2020,40.56 
8180,01/01/2021,37.23 
8181,01/02/2021,17.17 
8182,01/03/2021,88.27 
8183,01/04/2021,57.42 
8184,01/05/2021,67.42 
8185,01/06/2021,23.80 
8186,01/07/2021,82.06 
]; 
```

결과

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

주차를 기준으로 트랜잭션이 발생한 연도를 계산하려면 다음 측정값을 만듭니다.

* `=weekyear(date)`

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

* `sum(amount)`

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

결과 테이블

| weekyear(date) | =sum(amount) |
| --- | --- |
| 2020 | 19.42 |
| 2021 | 373.37 |