# 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/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm)를 참조하십시오. |
| broken\_weeks | broken\_weeks를 지정하지 않으면 BrokenWeeks 변수의 값이 주를 분리할지 여부를 정의하는 데 사용됩니다.<br><br>시스템 변수에 대한 자세한 내용은 [BrokenWeeks](https://help.qlik.com/ko-KR/cloud-services/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/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/ReferenceDay.htm)를 참조하십시오. |

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

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

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

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

`weekyear()`weekyear() 함수의 범위 다이어그램 ![weekyear() 함수가 평가하는 시간 범위를 보여 주는 다이어그램입니다.](https://help.qlik.com/ko-KR/cloud-services/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() 함수 범위의 다이어그램 ![weekyea() 함수가 분리되지 않은 주와 함께 작동하는 방식을 보여 주는 다이어그램입니다.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-diagram2.png)

weekyear를 사용하는 경우

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

## 국가별 설정

달리 지정하지 않는 한 이 항목의 예에서는 다음 날짜 형식을 사용합니다: MM/DD/YYYY. 날짜 형식은 데이터 로드 스크립트의 `SET DateFormat` 문에 지정됩니다. 기본 날짜 형식은 지역 설정 및 기타 요인으로 인해 시스템에서 다를 수 있습니다. 아래 예의 형식을 요구 사항에 맞게 변경할 수 있습니다. 또는 이러한 예와 일치하도록 로드 스크립트의 형식을 변경할 수 있습니다. 자세한 내용은 [응용 프로그램 및 스크립트에 대한 지역 설정 수정](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm)를 참조하십시오.

응용 프로그램의 기본 지역 설정은 사용자 프로필을 기반으로 합니다. 이러한 국가별 형식 설정은 Qlik Cloud 사용자 인터페이스에 표시되는 언어와 관련이 없습니다. Qlik Cloud는 사용 중인 브라우저와 동일한 언어로 표시됩니다.

응용 프로그램 작성자인 경우 만든 응용 프로그램의 기본 지역을 설정할 수 있습니다. 자세한 내용은 [Qlik Cloud 분석에서 앱 및 스크립트 만들기를 위한 기본 지역 설정 지정](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting)을 참조하십시오.

함수 예

| 예제 | 결과 |
| --- | --- |
| `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/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/week.htm) | ISO 8601에 따라 주차를 나타내는 정수를 반환합니다. |
| [year 스크립트 및 차트 함수](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/year.htm) | 이 표현식이 표준 숫자 해석에 따라 날짜로 해석될 때 연도를 나타내는 정수를 반환합니다. |

## 예 1 - 분리된 주

[](https://help.qlik.com/en-US/cloud-services/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 | 2020년 12월 31일 | 53 | 2020 |
| 8180 | 2021년 1월 1일 | 1 | 2021 |
| 8181 | 2021년 1월 2일 | 1 | 2021 |
| 8182 | 2021년 1월 3일 | 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() 함수 범위의 다이어그램 ![트랜잭션 8181이 1주에 발생했음을 식별하고 해당 주의 연도인 2021을 반환하는 weekyear() 함수를 보여 주는 다이어그램입니다.](https://help.qlik.com/ko-KR/cloud-services/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/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekyear.htm)

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

개요

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

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

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

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

* 다음을 포함하는 선행 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 | 2020년 12월 31일 | 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() 함수 범위의 다이어그램 ![weekyea() 함수가 분리되지 않은 주와 함께 작동하는 방식과 53주차에 2020년과 2021년의 날짜가 있는 것을 보여 주는 다이어그램입니다.](https://help.qlik.com/ko-KR/cloud-services/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/cloud-services/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 | 2020년 12월 31일 | 53 | 2020 |
| 8180 | 2021년 1월 1일 | 1 | 2021 |
| 8181 | 2021년 1월 2일 | 1 | 2021 |
| 8182 | 2021년 1월 3일 | 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() 함수 범위의 다이어그램 ![트랜잭션 8181이 1주에 발생했음을 식별하고 해당 주의 연도인 2021을 반환하는 weekyear() 함수를 보여 주는 다이어그램입니다.](https://help.qlik.com/ko-KR/cloud-services/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/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/weekyear.htm)

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

개요

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

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

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

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

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

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

회사 정책은 분리된 주를 사용하는 것입니다. 최종 사용자는 연도별 총 판매를 나타내는 차트를 원합니다. 응용 프로그램은 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 |