# inyear 스크립트 및 차트 함수

timestamp가 base\_date를 포함하는 연도에 속할 경우 이 함수는 True를 반환합니다.

구문:

InYear (timestamp, base\_date, period\_no [, first\_month\_of\_year])

반환 데이터 유형: 부울

Qlik Sense에서 부울 true 값은 -1로 표시되고 false 값은 0으로 표시됩니다.

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

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

`inyear()`inyear() 함수의 범위 다이어그램 ![inyear() 함수가 평가하고 기준 날짜의 배치에 따라 부울 결과를 반환하는 시간 범위를 보여주는 다이어그램입니다.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-diagram1.png)

`inyear()` 함수는 선택한 날짜 값을 `base_date`에서 정의한 연도와 비교할 때 부울 결과를 반환합니다.

inyear를 사용하는 경우

`inyear()` 함수는 부울 결과를 반환합니다. 일반적으로 이 유형의 함수는 `if expression`의 조건으로 사용됩니다. 이는 평가된 날짜가 해당 연도에 발생했는지 여부에 따라 집계 또는 계산을 반환합니다. 예를 들어, `inyear()` 함수를 사용하여 정의된 연도에 발생한 모든 판매를 식별할 수 있습니다.

인수

| 인수 | 설명 |
| --- | --- |
| timestamp | base\_date와 비교할 날짜입니다. |
| base\_date | 연도를 평가하는 데 사용되는 날짜입니다. |
| period\_no | 연도는 period\_no로 오프셋을 지정할 수 있습니다. period\_no는 정수이며, 값 0은 base\_date를 포함하는 연도를 나타냅니다. period\_no가 음수 값일 경우 이전 연도, 양수 값일 경우 다음 연도를 나타냅니다. |
| first\_month\_of\_year | 1월에 시작되지 않는 (회계)연도를 사용하려는 경우 first\_month\_of\_year에 2와 12 사이의 값을 지정하십시오. |

다음 값을 사용하여 `first_month_of_year` 인수에서 연도의 첫 번째 달을 설정할 수 있습니다.

first\_month\_of\_year 값

| 월 | 값 |
| --- | --- |
| 2월 | 2 |
| 3월 | 3 |
| 4월 | 4 |
| 5월 | 5 |
| 6월 | 6 |
| 7월 | 7 |
| 8월 | 8 |
| 9월 | 9 |
| 10월 | 10 |
| 11월 | 11 |
| 12월 | 12 |

## 국가별 설정

달리 지정하지 않는 한 이 항목의 예에서는 다음 날짜 형식을 사용합니다: 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)을 참조하십시오.

함수 예

| 예제 | 결과 |
| --- | --- |
| `inyear ('01/25/2013', '01/01/2013', 0 )` | TRUE 반환 |
| `inyear ('01/25/2012', '01/01/2013', 0)` | FALSE 반환 |
| `inyear ('01/25/2013', '01/01/2013', -1)` | FALSE 반환 |
| `inyear ('01/25/2012', '01/01/2013', -1 )` | TRUE 반환 |
| `inyear ('01/25/2013', '01/01/2013', 0, 3)` | TRUE 반환<br><br>`base_date` 및 `first_month_of_year` 값은 타임스탬프가 01/03/2012와 02/28/2013 내에 있어야 함을 지정합니다. |
| `inyear ('03/25/2013', '07/01/2013', 0, 3 )` | TRUE 반환 |

## 예 1 - 기본 예

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

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

개요

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

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

* '`Transactions`'라는 테이블에 로드되는 2020년과 2022년 사이의 트랜잭션 집합이 포함된 데이터 집합.

* '`in_year`' 필드로 설정된 `inyear()` 함수를 포함하고 2021년 7월 26일과 같은 연도에 발생한 트랜잭션을 확인하는 선행 LOAD.

로드 스크립트

```
SET DateFormat='MM/DD/YYYY'; 
Transactions: 
    Load 
        *, 
        inyear(date,'07/26/2021', 0) as in_year 
        ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/13/2020',37.23 
8189,'02/26/2020',17.17
8190,'03/27/2020',88.27 
8191,'04/16/2020',57.42 
8192,'05/21/2020',53.80 
8193,'08/14/2020',82.06 
8194,'10/07/2020',40.39 
8195,'12/05/2020',87.21 
8196,'01/22/2021',95.93 
8197,'02/03/2021',45.89 
8198,'03/17/2021',36.23 
8199,'04/23/2021',25.66 
8200,'05/04/2021',82.77 
8201,'06/30/2021',69.98 
8202,'07/26/2021',76.11 
8203,'12/27/2021',25.12 
8204,'06/06/2022',46.23 
8205,'07/18/2022',84.21 
8206,'11/14/2022',96.24 
8207,'12/12/2022',67.67 
]; 
```

결과

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

* `date`
* `in_year`

결과 테이블

| 날짜 | in\_year |
| --- | --- |
| 01/13/2020 | 0 |
| 02/26/2020 | 0 |
| 03/27/2020 | 0 |
| 04/16/2020 | 0 |
| 05/21/2020 | 0 |
| 08/14/2020 | 0 |
| 10/07/2020 | 0 |
| 12/05/2020 | 0 |
| 01/22/2021 | -1 |
| 02/03/2021 | -1 |
| 03/17/2021 | -1 |
| 04/23/2021 | -1 |
| 05/04/2021 | -1 |
| 06/30/2021 | -1 |
| 07/26/2021 | -1 |
| 12/27/2021 | -1 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

‘`in_year`’ 필드는 `inyear()` 함수를 사용하여 선행 LOAD 문에서 만들어집니다. 첫 번째 인수는 평가 중인 필드를 식별합니다. 두 번째 인수는 2021년 7월 26일에 대한 하드 코딩된 날짜이며, 비교 대상 연도를 확인하는 `base_date`입니다. `period_no` `0`은 마지막 인수이며, 이는 `inyear()` 함수가 연도 앞이나 뒤에 있는 연도를 비교하지 않음을 의미합니다.

7월 26일을 기준 날짜로 하는 `inyear()` 함수 범위의 다이어그램

7월 26일을 기준 날짜로 하는 `inyear()` 함수 범위의 다이어그램

7월 26일을 기준 날짜로 하는 `inyear()`inyear() 함수 범위의 다이어그램 ![7월 26일을 기준 날짜로 하고 2021년 1월 1일부터 2022년 1월 1일까지의 시간 범위가 강조 표시된 inyear() 함수의 다이어그램입니다.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-examples1_and4-diagram.png)

2021년에 발생하는 모든 트랜잭션은 부울 결과 TRUE를 반환합니다.

## 예 2 – period\_no

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

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

개요

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

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

* '`Transactions`'라는 테이블에 로드되는 2020년과 2022년 사이의 트랜잭션 집합이 포함된 데이터 집합.

* '`previous_year`' 필드로 설정된 `inyear()` 함수를 포함하고 2021년 7월 26일을 포함하는 연도의 이전 연도에 발생한 트랜잭션을 확인하는 선행 LOAD.

로드 스크립트

```
SET DateFormat='MM/DD/YYYY'; 
Transactions: 
    Load 
        *, 
        inyear(date,'07/26/2021', -1) as previous_year 
        ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/13/2020',37.23 
8189,'02/26/2020',17.17
8190,'03/27/2020',88.27 
8191,'04/16/2020',57.42 
8192,'05/21/2020',53.80 
8193,'08/14/2020',82.06 
8194,'10/07/2020',40.39 
8195,'12/05/2020',87.21 
8196,'01/22/2021',95.93 
8197,'02/03/2021',45.89 
8198,'03/17/2021',36.23 
8199,'04/23/2021',25.66 
8200,'05/04/2021',82.77 
8201,'06/30/2021',69.98 
8202,'07/26/2021',76.11 
8203,'12/27/2021',25.12 
8204,'06/06/2022',46.23 
8205,'07/18/2022',84.21 
8206,'11/14/2022',96.24 
8207,'12/12/2022',67.67 
]; 
```

결과

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

* `date`
* `previous_year`

결과 테이블

| 날짜 | previous\_year |
| --- | --- |
| 01/13/2020 | -1 |
| 02/26/2020 | -1 |
| 03/27/2020 | -1 |
| 04/16/2020 | -1 |
| 05/21/2020 | -1 |
| 08/14/2020 | -1 |
| 10/07/2020 | -1 |
| 12/05/2020 | -1 |
| 01/22/2021 | 0 |
| 02/03/2021 | 0 |
| 03/17/2021 | 0 |
| 04/23/2021 | 0 |
| 05/04/2021 | 0 |
| 06/30/2021 | 0 |
| 07/26/2021 | 0 |
| 12/27/2021 | 0 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

`inyear()` 함수의 `period_no` 인수로 `-1`을 사용하면 비교 대상 연도의 경계가 1년 뒤로 시프트됩니다. 2021년이 초기에 비교 대상 연도로 식별됩니다. `period_no`는 비교 대상 연도를 1년 오프셋하여 2020년을 비교 대상 연도로 만듭니다.

period\_no 인수가 `-1`로 설정된 `inyear()` 함수 범위의 다이어그램

period\_no 인수가 `-1`로 설정된 `inyear()` 함수 범위의 다이어그램

period\_no 인수가 `-1`-1로 설정된 `inyear()`inyear() 함수 범위의 다이어그램 ![7월 26일이 기준 날짜이고 period_no 인수가 -1로 설정된 inyear() 함수의 다이어그램입니다.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-example2-diagram.png)

따라서 2020년에 발생하는 모든 트랜잭션은 부울 결과 TRUE를 반환합니다.

## 예 3 - first\_month\_of\_year

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

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

개요

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

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

* '`Transactions`'라는 테이블에 로드되는 2020년과 2022년 사이의 트랜잭션 집합이 포함된 데이터 집합.

* ‘`in_year`’ 필드로 설정된 `inyear()` 함수를 포함하고 2021년 7월 26일과 같은 연도에 발생한 트랜잭션을 확인하는 선행 LOAD.

그러나 이 예에서 조직 정책은 회계 연도의 첫 번째 달이 되는 3월입니다.

로드 스크립트

```
SET DateFormat='MM/DD/YYYY'; 
Transactions: 
    Load 
        *, 
        inyear(date,'07/26/2021', 0, 3) as in_year 
        ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/13/2020',37.23 
8189,'02/26/2020',17.17
8190,'03/27/2020',88.27 
8191,'04/16/2020',57.42 
8192,'05/21/2020',53.80 
8193,'08/14/2020',82.06 
8194,'10/07/2020',40.39 
8195,'12/05/2020',87.21 
8196,'01/22/2021',95.93 
8197,'02/03/2021',45.89 
8198,'03/17/2021',36.23 
8199,'04/23/2021',25.66 
8200,'05/04/2021',82.77 
8201,'06/30/2021',69.98 
8202,'07/26/2021',76.11 
8203,'12/27/2021',25.12 
8204,'06/06/2022',46.23 
8205,'07/18/2022',84.21 
8206,'11/14/2022',96.24 
8207,'12/12/2022',67.67 
]; 
```

결과

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

* `date`
* `in_year`

결과 테이블

| 날짜 | in\_year |
| --- | --- |
| 01/13/2020 | 0 |
| 02/26/2020 | 0 |
| 03/27/2020 | 0 |
| 04/16/2020 | 0 |
| 05/21/2020 | 0 |
| 08/14/2020 | 0 |
| 10/07/2020 | 0 |
| 12/05/2020 | 0 |
| 01/22/2021 | 0 |
| 02/03/2021 | 0 |
| 03/17/2021 | -1 |
| 04/23/2021 | -1 |
| 05/04/2021 | -1 |
| 06/30/2021 | -1 |
| 07/26/2021 | -1 |
| 12/27/2021 | -1 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

`inyear()` 함수의 `first_month_of_year` 인수로 `3`을 사용하면 연도가 3월 1일에 시작되고 2월 말에 끝납니다.

3월을 연도의 첫 번째 달로 설정한 `inyear()` 함수 범위의 다이어그램

3월을 연도의 첫 번째 달로 설정한 `inyear()` 함수 범위의 다이어그램

3월을 연도의 첫 번째 달로 설정한 `inyear()`inyear() 함수 범위의 다이어그램 ![7월 26일을 기준 날짜로 하고 연도의 첫 번째 달을 3월로 설정한 inyear() 함수의 다이어그램입니다.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-example3-diagram.png)

따라서 2021년 3월 1일과 2022년 3월 1일 사이에 발생하는 모든 트랜잭션은 부울 결과 TRUE를 반환합니다.

## 예 4 - 차트 개체 예

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

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

개요

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

그러나 이 예에서 데이터 집합은 변경되지 않고 응용 프로그램에 로드됩니다. 트랜잭션이 2021년 7월 26일과 같은 연도에 발생했는지 여부를 확인하는 계산은 응용 프로그램의 차트 개체에서 측정값으로 만들어집니다.

로드 스크립트

```
SET DateFormat='MM/DD/YYYY'; 
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/13/2020',37.23 
8189,'02/26/2020',17.17
8190,'03/27/2020',88.27 
8191,'04/16/2020',57.42 
8192,'05/21/2020',53.80 
8193,'08/14/2020',82.06 
8194,'10/07/2020',40.39 
8195,'12/05/2020',87.21 
8196,'01/22/2021',95.93 
8197,'02/03/2021',45.89 
8198,'03/17/2021',36.23 
8199,'04/23/2021',25.66 
8200,'05/04/2021',82.77 
8201,'06/30/2021',69.98 
8202,'07/26/2021',76.11 
8203,'12/27/2021',25.12 
8204,'06/06/2022',46.23 
8205,'07/18/2022',84.21 
8206,'11/14/2022',96.24 
8207,'12/12/2022',67.67 
]; 
```

결과

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

* `date`

트랜잭션이 2021년 7월 26일과 같은 연도에 발생했는지 여부를 계산하려면 다음 측정값을 만듭니다.

* `=inyear(date,'07/26/2021', 0)`

결과 테이블

| 날짜 | =inyear(date,'07/26/2021',0) |
| --- | --- |
| 01/13/2020 | 0 |
| 02/26/2020 | 0 |
| 03/27/2020 | 0 |
| 04/16/2020 | 0 |
| 05/21/2020 | 0 |
| 08/14/2020 | 0 |
| 10/07/2020 | 0 |
| 12/05/2020 | 0 |
| 01/22/2021 | -1 |
| 02/03/2021 | -1 |
| 03/17/2021 | -1 |
| 04/23/2021 | -1 |
| 05/04/2021 | -1 |
| 06/30/2021 | -1 |
| 07/26/2021 | -1 |
| 12/27/2021 | -1 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

'`in_year`' 필드는 `inyear()` 함수를 사용하여 차트에 만들어집니다. 첫 번째 인수는 평가 중인 필드를 식별합니다. 두 번째 인수는 2021년 7월 26일에 대한 하드 코딩된 날짜이며, 비교 대상 연도를 확인하는 `base_date`입니다. `period_no` `0`은 마지막 인수이며, 이는 `inyear()` 함수가 연도 앞이나 뒤에 있는 연도를 비교하지 않음을 의미합니다.

7월 27일을 기준 날짜로 하는 `inyear()` 함수 범위의 다이어그램

7월 27일을 기준 날짜로 하는 `inyear()` 함수 범위의 다이어그램

7월 27일을 기준 날짜로 하는 `inyear()`inyear() 함수 범위의 다이어그램 ![7월 27일을 기준 날짜로 하고 2021년 1월 1일부터 2022년 1월 1일까지의 시간 범위가 강조 표시된 inyear() 함수의 다이어그램입니다.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyear-examples1_and4-diagram.png)

2021년에 발생하는 모든 트랜잭션은 부울 결과 TRUE를 반환합니다.

## 예 5 - 시나리오

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

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

개요

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

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

* 'Products'라는 테이블에 로드되는 데이터 집합.

* 테이블에는 다음 필드가 포함됩니다.

  * 제품 ID

  * 제품 유형

  * 제조 날짜

  * 가격

최종 사용자는 2021년에 제조된 제품의 비용을 제품 유형별로 표시하는 차트 개체를 원합니다.

로드 스크립트

```
Products: 
Load 
* 
Inline  
[ 
product_id,product_type,manufacture_date,cost_price 
8188,product A,'01/13/2020',37.23 
8189,product B,'02/26/2020',17.17 
8190,product B,'03/27/2020',88.27 
8191,product C,'04/16/2020',57.42 
8192,product D,'05/21/2020',53.80 
8193,product D,'08/14/2020',82.06 
8194,product C,'10/07/2020',40.39 
8195,product B,'12/05/2020',87.21
8196,product A,'01/22/2021',95.93 
8197,product B,'02/03/2021',45.89 
8198,product C,'03/17/2021',36.23 
8199,product C,'04/23/2021',25.66
8200,product B,'05/04/2021',82.77 
8201,product D,'06/30/2021',69.98 
8202,product D,'07/26/2021',76.11 
8203,product D,'12/27/2021',25.12 
8204,product C,'06/06/2022',46.23 
8205,product C,'07/18/2022',84.21 
8206,product A,'11/14/2022',96.24 
8207,product B,'12/12/2022',67.67 
]; 
```

결과

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

* product\_type

2021년에 제조된 각 제품의 합계를 계산하려면 다음 측정값을 만듭니다.

* =sum(if(InYear(manufacture\_date,makedate(2021,01,01),0),cost\_price,0))

다음과 같이 하십시오.

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

2. 모양에서 합계를 끕니다.

결과 테이블

| product\_type | =sum(if(InYear(manufacture\_date,makedate(2021,01,01),0),cost\_price,0)) |
| --- | --- |
| 제품 A | $95.93 |
| 제품 B | $128.66 |
| 제품 C | $61.89 |
| 제품 D | $171.21 |

inyear() 함수는 각 제품의 제조 날짜를 평가할 때 부울 값을 반환합니다. 2021년에 제조된 모든 제품의 경우 inyear() 함수는 부울 값 TRUE를 반환하고 cost\_price의 합계를 표시합니다.