# inyeartodate 스크립트 및 차트 함수

이 함수는 timestamp가 base\_date의 마지막 밀리초까지 포함하여 base\_date를 포함한 연도의 일부에 속할 경우 True를 반환합니다.

구문:

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

반환 데이터 유형: 부울

정보 메모

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

inyeartodate 함수의 다이어그램

inyeartodate 함수의 다이어그램

inyeartodate 함수의 다이어그램 ![inyeartodate 함수가 TRUE 값을 반환하는 날짜 범위의 다이어그램 예.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-general.png)

`inyeartodate()` 함수는 `base_date`를 사용하여 연도의 특정 부분을 세그먼트로 분할하며, 해당 연도 세그먼트에 대해 허용되는 최대 날짜를 식별합니다. 그런 다음 이 함수는 날짜 필드 또는 값이 이 세그먼트에 속하는지 평가하고 부울 결과를 반환합니다.

인수

| 인수 | 설명 |
| --- | --- |
| 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 사이의 값을 지정하십시오. |

## inyeartodate를 사용하는 경우

`inyeartodate()` 함수는 부울 결과를 반환합니다. 일반적으로 이 유형의 함수는 `if` 표현식의 조건으로 사용됩니다. 이는 평가된 날짜가 해당 날짜를 포함하여 해당 연도에 발생했는지 여부에 따라 집계 또는 계산을 반환합니다.

예를 들어, `inyeartodate()` 함수를 사용하여 특정 날짜까지 연도에 제조된 모든 장비를 식별할 수 있습니다.

이 예에서는 날짜 서식 MM/DD/YYYY를 사용합니다. 날짜 서식은 데이터 로드 스크립트 맨 위에서 `SET DateFormat` 문으로 지정됩니다. 이 예제의 서식을 필요에 따라 변경하십시오.

함수 예

| 예제 | 결과 |
| --- | --- |
| `inyeartodate ('01/25/2013', '02/01/2013', 0)` | `TRUE`을 반환합니다. |
| `inyeartodate ('01/25/2012', '01/01/2013', 0)` | `FALSE`을 반환합니다. |
| `inyeartodate ('01/25/2012', '02/01/2013', -1)` | `TRUE`을 반환합니다. |
| `inyeartodate ('11/25/2012', '01/31/2013', 0, 4)` | `TRUE`을 반환합니다.<br>`timestamp`의 값이 네 번째 월에 시작되는 회계년도 내에 속하고 `base_date` 값 이전입니다. |
| `inyeartodate ('3/31/2013', '01/31/2013', 0, 4 )` | `FALSE`을 반환합니다.<br>이전 예와 비교하여, `timestamp`의 값은 여전히 회계년도 내에 포함되지만 `base_date` 값 이후이므로 해당 연도의 일부를 벗어납니다. |

## 국가별 설정

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

## 예 1 – 추가 인수 없음

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

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

개요

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

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

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

* `DateFormat` 시스템 변수(MM/DD/YYYY) 서식으로 제공된 날짜 필드.

* 2021년 7월 26일까지의 해당 연도에 발생한 트랜잭션을 결정하는 필드 `in_year_to_date` 만들기.

로드 스크립트

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

Transactions:
    Load
        *,
        inyeartodate(date,'07/26/2021', 0) as in_year_to_date
        ;
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,'06/14/2020',82.06
8194,'08/07/2020',40.39
8195,'09/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,'07/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_to_date`

결과 테이블

| 날짜 | 연초부터 현재까지 |
| --- | --- |
| 01/13/2020 | 0 |
| 02/26/2020 | 0 |
| 03/27/2020 | 0 |
| 04/16/2020 | 0 |
| 05/21/2020 | 0 |
| 06/14/2020 | 0 |
| 08/07/2020 | 0 |
| 09/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 |
| 07/27/2021 | 0 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

'`in_year_to_date`' 필드는 `inyeartodate()` 함수를 사용하여 선행 LOAD 문에서 만들어집니다. 제공된 첫 번째 인수는 평가 중인 필드를 식별합니다.

두 번째 인수는 2021년 7월 26일에 대한 하드 코딩된 날짜이며, 연도 세그먼트의 끝 경계를 식별하는 `base_date`입니다. `period_no` 0은 마지막 인수이며, 이는 함수가 세그먼트로 분할된 연도 앞이나 뒤에 있는 연도를 비교하지 않음을 의미합니다.

inyeartodate 함수의 다이어그램, 추가 인수 없음

inyeartodate 함수의 다이어그램, 추가 인수 없음

inyeartodate 함수의 다이어그램, 추가 인수 없음 ![inyeartodate 함수가 TRUE 값을 반환하는 날짜 범위를 보여 주는 다이어그램.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-examples-no-additional-arguments.png)

1월 1일과 7월 26일 사이에 발생하는 모든 트랜잭션은 부울 결과 `TRUE`를 반환합니다. 2021년 이전 및 2021년 7월 26일 이후의 트랜잭션 날짜는 `FALSE`를 반환합니다.

## 예 2 – period\_no

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

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

개요

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

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

* 첫 번째 예와 동일한 데이터 집합 및 시나리오.

* 2021년 7월 26일에 끝나는 연도 세그먼트 이전의 전체 연도에 발생하는 트랜잭션을 결정하는 필드 `previous_year_to_date` 만들기.

로드 스크립트

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

Transactions:
    Load
        *,
        inyeartodate(date,'07/26/2021', -1) as previous_year_to_date
        ;
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,'06/14/2020',82.06
8194,'08/07/2020',40.39
8195,'09/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,'07/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_to_date`

결과 테이블

| 날짜 | 전년도 연초부터 현재까지 |
| --- | --- |
| 01/13/2020 | -1 |
| 02/26/2020 | -1 |
| 03/27/2020 | -1 |
| 04/16/2020 | -1 |
| 05/21/2020 | -1 |
| 06/14/2020 | -1 |
| 08/07/2020 | 0 |
| 09/05/2020 | 0 |
| 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 |
| 07/27/2021 | 0 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

`period_no` 값 -1은 `inyeartodate ()` 함수가 입력 분기 세그먼트를 이전 연도와 비교함을 나타냅니다. 입력 날짜가 2021년 7월 26일인 경우 2021년 1월 1일부터 2021년 7월 26일까지의 세그먼트는 처음에 연간 누계로 식별되었습니다. 그런 다음 `period_no`는 이 세그먼트를 1년 앞서 오프셋하여 날짜 경계가 2020년 1월 1일에서 7월 26일이 되도록 합니다.

inyeartodate 함수의 다이어그램, period\_no 예

inyeartodate 함수의 다이어그램, period\_no 예

inyeartodate 함수의 다이어그램, period\_no 예 ![inyeartodate 함수가 TRUE 값을 반환하는 날짜 범위를 보여 주는 다이어그램.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-examples-period-no.png)

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

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

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

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

개요

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

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

* 첫 번째 예와 동일한 데이터 집합 및 시나리오.

* 2021년 7월 26일까지의 같은 연도에 발생한 트랜잭션을 결정하는 필드 `in_year_to_date` 만들기.

이 예에서는 3월을 회계 연도의 첫 번째 달로 설정합니다.

로드 스크립트

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

Transactions:
    Load
        *,
        inyeartodate(date,'07/26/2021', 0,3) as in_year_to_date
        ;
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,'06/14/2020',82.06
8194,'08/07/2020',40.39
8195,'09/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,'07/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_to_date`

결과 테이블

| 날짜 | 연초부터 현재까지 |
| --- | --- |
| 01/13/2020 | 0 |
| 02/26/2020 | 0 |
| 03/27/2020 | 0 |
| 04/16/2020 | 0 |
| 05/21/2020 | 0 |
| 06/14/2020 | 0 |
| 08/07/2020 | 0 |
| 09/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 |
| 07/27/2021 | 0 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

`inyeartodate()` 함수에서 3을 `first_month_of_year` 인수로 사용하면 이 함수는 3월 1일에 연도를 시작합니다. 그런 다음 2021년 7월 26일인 `base_date`가 해당 연도 세그먼트의 종료 날짜로 설정됩니다.

inyeartodate 함수의 다이어그램, first\_month\_of\_year 예

inyeartodate 함수의 다이어그램, first\_month\_of\_year 예

inyeartodate 함수의 다이어그램, first\_month\_of\_year 예 ![inyeartodate 함수가 TRUE 값을 반환하는 날짜 범위를 보여 주는 다이어그램.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-examples-first-mth-yr.png)

따라서 2021년 3월 1일에서 7월 26일 사이에 발생하는 모든 트랜잭션은 부울 결과 `TRUE`를 반환하는 반면 날짜가 이 경계를 벗어난 트랜잭션은 `FALSE`의 값을 반환합니다.

## 예 4 – 차트 개체 예

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inyeartodate.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,'06/14/2020',82.06 
8194,'08/07/2020',40.39 
8195,'09/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,'07/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.

다음 측정값을 만듭니다.

=inyeartodate(date,'07/26/2021', 0)

결과 테이블

| 날짜 | =inyeartodate(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 |
| 06/14/2020 | 0 |
| 08/07/2020 | 0 |
| 09/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 |
| 07/27/2021 | 0 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

in\_year\_to\_date 측정값은 inyeartodate() 함수를 사용하여 차트 개체에 만들어집니다. 제공된 첫 번째 인수는 평가 중인 필드를 식별합니다. 두 번째 인수는 2021년 7월 26일에 대한 하드 코딩된 날짜이며, 비교 연도 세그먼트의 끝 경계를 식별하는 base\_date입니다. period\_no 0은 마지막 인수이며, 이는 함수가 세그먼트로 분할된 연도 앞이나 뒤에 있는 연도를 비교하지 않음을 의미합니다.

inyeartodate 함수 다이어그램, 차트 개체 예

inyeartodate 함수 다이어그램, 차트 개체 예

inyeartodate 함수 다이어그램, 차트 개체 예 ![inyeartodate 함수가 TRUE 값을 반환하는 날짜 범위를 보여 주는 다이어그램.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-examples-chart-object.png)

2021년 1월 1일과 7월 26일 사이에 발생한 모든 트랜잭션은 부울 결과 TRUE를 반환합니다. 2021년 이전 및 2021년 7월 26일 이후의 트랜잭션 날짜는 FALSE를 반환합니다.

## 예 5 – 시나리오

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

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

개요

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

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

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

* 제품 ID, 제품 유형, 제조 날짜 및 원가에 관한 정보.

최종 사용자는 2021년 7월 26일까지 제조된 제품의 원가를 제품 유형별로 표시하는 차트 개체를 원합니다.

로드 스크립트

```
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년 7월 27일 이전에 제조된 각 제품의 합계를 계산하는 측정값을 만듭니다.

=sum(if(inyeartodate(manufacture\_date,makedate(2021,07,26),0),cost\_price,0))

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

결과 테이블

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

inyeartodate() 함수는 각 제품의 제조 날짜를 평가할 때 부울 값을 반환합니다. 2021년 7월 27일 이전에 제조된 모든 제품의 경우 inyeartodate() 함수는 부울 값 TRUE를 반환하고 cost\_price의 합계를 계산합니다.

제품 D는 2021년 7월 26일 이후에도 제조된 유일한 제품입니다. product\_ID가 8203인 항목은 12월 27일에 제조되었으며 가격은 $25.12입니다. 따라서 이 비용은 차트 개체의 제품 D에 대한 합계에 포함되지 않았습니다.