# yeartodate 스크립트 및 차트 함수

이 함수는 스크립트를 마지막으로 로드한 날짜의 연도 내에 입력 타임스탬프가 포함되는지 파악하고, 포함되는 경우 True, 포함되지 않는 경우 False를 반환합니다. 스크립트를 마지막으로 로드한 날짜의 연도는 UTC 시간을 기준으로 평가됩니다.

구문:

YearToDate(timestamp[ , yearoffset [ , firstmonth [ , todaydate] ] ])

반환 데이터 유형: 부울

정보 메모

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

`yeartodate()` 함수의 다이어그램 예

`yeartodate()` 함수의 다이어그램 예

`yeartodate()`yeartodate() 함수의 다이어그램 예 ![yeartodate 함수가 True 또는 False 값을 반환하는 날짜 값을 표시하는 다이어그램입니다.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-function-yeartodate-overview.png)

옵션 파라메타가 사용되지 않은 경우 현재 연도는 한 해의 1월 1일에서 마지막 스크립트 실행 날짜(포함)까지의 모든 날짜를 의미합니다.

즉, 추가 매개 변수 없이 트리거될 때 `yeartodate()` 함수는 타임스탬프를 평가하고 다시 로드가 발생한 날짜를 포함하여 캘린더 연도 내에 날짜가 발생했는지 여부에 따라 부울 결과를 반환하는 데 사용됩니다.

그러나 `firstmonth` 인수를 사용하여 연도의 시작 날짜를 대체하고 `yearoffset` 인수를 사용하여 이전 연도 또는 다음 연도와 비교할 수도 있습니다.

마지막으로, 기록 데이터 집합의 경우 `yeartodate()` 함수는 `todaydate`를 설정하는 매개 변수를 제공합니다. 이 매개 변수는 대신 타임스탬프를 `todaydate` 인수에 제공된 날짜까지 포함하여 캘린더 연도와 비교합니다.

인수

| 인수 | 설명 |
| --- | --- |
| timestamp | 평가할 타임스탬프입니다(예: '10/12/2012'). |
| yearoffset | yearoffset을 지정하면 다른 연도의 동일한 기간에 대해 yeartodate가 True를 반환합니다. 음수 yearoffset은 이전 연도를 나타내고 양의 오프셋은 이후의 연도를 나타냅니다. 최근 날짜는 yearoffset = -1을 지정하여 얻습니다. 생략하면 0이 사용됩니다. |
| firstmonth | firstmonth를 1과 12 사이(생략할 경우 1)로 지정하면 연도의 시작일을 원하는 달의 첫 날로 옮길 수 있습니다. 예를 들어, 5월 1일에 시작하는 회계 연도로 작업하려면 firstmonth = 5를 지정합니다. 값이 1이면 회계 연도가 1월 1일에 시작됨을 나타내고 값이 12이면 12월 1일부터 시작하는 회계 연도를 나타냅니다. |
| todaydate | todaydate(생략할 경우 마지막 스크립트 실행 시의 타임스탬프)를 지정하면 기간의 상한으로 사용된 날짜를 이동할 수 있습니다. |

## yeartodate를 사용하는 경우

`yeartodate()` 함수는 부울 결과를 반환합니다. 일반적으로 이 유형의 함수는 if 표현식의 조건으로 사용됩니다. 이렇게 하면 평가 날짜가 응용 프로그램의 마지막 다시 로드 날짜를 포함하여 해당 연도에 발생했는지 여부에 따라 집계 또는 계산이 반환됩니다.

예를 들어 YearToDate() 함수를 사용하여 현재 연도에서 지금까지 제조된 모든 장비를 식별할 수 있습니다.

다음 예에서는 마지막 다시 로드 시간 = 11/18/2011을 가정합니다.

함수 예

| 예제 | 결과 |
| --- | --- |
| `yeartodate( '11/18/2010')` | 반환 값: False |
| `yeartodate( '02/01/2011')` | 반환 값: True |
| `yeartodate( '11/18/2011')` | 반환 값: True |
| `yeartodate( '11/19/2011')` | 반환 값: False |
| `yeartodate( '11/19/2011', 0, 1, '12/31/2011')` | 반환 값: True |
| `yeartodate( '11/18/2010', -1)` | 반환 값: True |
| `yeartodate( '11/18/2011', -1)` | 반환 값: False |
| `yeartodate( '04/30/2011', 0, 5)` | 반환 값: False |
| `yeartodate( '05/01/2011', 0, 5)` | 반환 값: True |

## 국가별 설정

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

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

개요

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

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

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

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

* 마지막 다시 로드 날짜까지 캘린더 연도에 발생한 트랜잭션을 확인하는 필드 `year_to_date` 만들기.

작성 시 날짜는 2022년 4월 26일입니다.

로드 스크립트

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

Transactions:
    Load
        *,
        yeartodate(date) as year_to_date
        ;
Load
*
Inline 
[
id,date,amount
8188,01/10/2020,37.23
8189,02/28/2020,17.17
8190,04/09/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,02/02/2022,46.23
8205,02/26/2022,84.21
8206,03/07/2022,96.24
8207,03/11/2022,67.67
];
```

결과

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

* `date`

* `year_to_date`

결과 테이블

| 날짜 | 연간 누계 |
| --- | --- |
| 01/10/2020 | 0 |
| 2020년 2월 28일 | 0 |
| 2020/04/09 | 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 | 0 |
| 04/23/2021 | 0 |
| 05/04/2021 | 0 |
| 06/30/2021 | 0 |
| 07/26/2021 | 0 |
| 12/27/2021 | 0 |
| 2022/02/02 | -1 |
| 2022/02/26 | -1 |
| 2022년 03월 07일 | -1 |
| 2022년 03월 11일 | -1 |

`yeartodate()` 함수의 다이어그램, 기본 예

`yeartodate()` 함수의 다이어그램, 기본 예

`yeartodate()`yeartodate() 함수의 다이어그램, 기본 예 ![yeartodate 함수가 True 또는 False 값을 반환하는 날짜 값을 표시하는 다이어그램입니다.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-function-yeartodate-examples-basic.png)

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

더 이상의 매개 변수가 함수에 전달되지 않기 때문에 `yeartodate()` 함수는 초기에 다시 로드 날짜를 식별하므로 부울 결과 `TRUE`를 반환하는 현재 캘린더 연도(1월 1일부터 시작)의 경계를 식별합니다.

따라서 다시 로드 날짜인 1월 1일과 4월 26일 사이에 발생하는 모든 트랜잭션은 부울 결과 `TRUE`를 반환합니다. 2022년이 시작되기 전에 발생한 모든 트랜잭션은 부울 결과 `FALSE`를 반환합니다.

## 예 2 – yearoffset

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

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

개요

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

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

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

* 캘린더 연도부터 현재까지 2년 전 발생한 트랜잭션을 확인하는 필드 `two_years_prior` 만들기.

로드 스크립트

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

Transactions:
    Load
        *,
        yeartodate(date,-2) as two_years_prior
        ;
Load
*
Inline 
[
id,date,amount
8188,01/10/2020,37.23
8189,02/28/2020,17.17
8190,04/09/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,02/02/2022,46.23
8205,02/26/2022,84.21
8206,03/07/2022,96.24
8207,03/11/2022,67.67
];
```

결과

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

* `date`

* `two_years_prior`

결과 테이블

| 날짜 | 2년 전 |
| --- | --- |
| 01/10/2020 | -1 |
| 2020년 2월 28일 | -1 |
| 2020/04/09 | -1 |
| 04/16/2020 | -1 |
| 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 | 0 |
| 04/23/2021 | 0 |
| 05/04/2021 | 0 |
| 06/30/2021 | 0 |
| 07/26/2021 | 0 |
| 12/27/2021 | 0 |
| 2022/02/02 | 0 |
| 2022/02/26 | 0 |
| 2022년 3월 7일 | 0 |
| 2022년 3월 11일 | 0 |

`yeartodate()` 함수의 `yearoffset` 인수로 -2를 사용하여 함수는 비교 캘린더 연도 세그먼트의 경계를 2년 전체만큼 시프트합니다. 초기에 연도 세그먼트는 2022년 1월 1일에서 4월 26일 사이에 해당합니다. 그런 다음 `yearoffset` 인수는 이 세그먼트를 2년 전으로 오프셋합니다. 날짜 경계는 2020년 1월 1일에서 4월 26일 사이가 됩니다.

`yeartodate()` 함수의 다이어그램, yearoffset 예

`yeartodate()` 함수의 다이어그램, yearoffset 예

`yeartodate()`yeartodate() 함수의 다이어그램, yearoffset 예 ![yeartodate 함수가 True 또는 False 값을 반환하는 날짜 값을 표시하는 다이어그램입니다.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-function-yeartodate-examples-yearoffset.png)

따라서 2020년 1월 1일과 4월 26일 사이에 발생하는 모든 트랜잭션은 부울 결과 `TRUE`를 반환합니다. 이 세그먼트 이전 또는 이후에 나타나는 모든 트랜잭션이 `FALSE`를 반환합니다.

## 예 3 – firstmonth

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

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

개요

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

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

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

* 마지막 다시 로드 날짜까지 캘린더 연도에 발생한 트랜잭션을 확인하는 필드, `year_to_date` 만들기.

이 예에서는 회계 연도의 시작을 7월 1일로 설정합니다.

로드 스크립트

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

Transactions:
    Load
        *,
        yeartodate(date,0,7) as year_to_date
        ;
Load
*
Inline 
[
id,date,amount
8188,01/10/2020,37.23
8189,02/28/2020,17.17
8190,04/09/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,02/02/2022,46.23
8205,02/26/2022,84.21
8206,03/07/2022,96.24
8207,03/11/2022,67.67
];
```

결과

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

* `date`

* `year_to_date`

결과 테이블

| 날짜 | 연간 누계 |
| --- | --- |
| 01/10/2020 | 0 |
| 2020년 2월 28일 | 0 |
| 2020/04/09 | 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 | 0 |
| 04/23/2021 | 0 |
| 05/04/2021 | 0 |
| 06/30/2021 | 0 |
| 07/26/2021 | -1 |
| 12/27/2021 | -1 |
| 2022/02/02 | -1 |
| 2022/02/26 | -1 |
| 2022년 03월 07일 | -1 |
| 2022년 03월 11일 | -1 |

이 경우 `yeartodate()` 함수에서 `firstmonth` 인수 7을 사용하므로 해당 연도의 첫 번째 날이 7월 1일로 설정되고 해당 연도의 마지막 날이 6월 30일로 설정됩니다.

`yeartodate()` 함수 다이어그램, firstmonth 예

`yeartodate()` 함수 다이어그램, firstmonth 예

`yeartodate()`yeartodate() 함수 다이어그램, firstmonth 예 ![yeartodate 함수가 True 또는 False 값을 반환하는 날짜 값을 표시하는 다이어그램입니다.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-function-yeartodate-examples-firstmonth.png)

따라서 2021년 7월 1일과 다시 로드 날짜인 2022년 4월 26일 사이에 발생한 모든 트랜잭션은 부울 결과 `TRUE`를 반환합니다. 2021년 7월 1일 이전에 발생한 모든 트랜잭션은 부울 결과 `FALSE`를 반환합니다.

## 예 4 – todaydate

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

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

개요

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

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

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

* 마지막 다시 로드 날짜까지 캘린더 연도에 발생한 트랜잭션을 확인하는 필드, year\_to\_date 만들기.

그러나 이 예에서는 2022년 3월 1일을 포함하여 캘린더 연도에 발생한 모든 트랜잭션을 식별해야 합니다.

로드 스크립트

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

Transactions:
    Load
        *,
        yeartodate(date, 0, 1, '03/01/2022') as year_to_date
;
Load
*
Inline 
[
id,date,amount
8188,01/10/2020,37.23
8189,02/28/2020,17.17
8190,04/09/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,02/02/2022,46.23
8205,02/26/2022,84.21
8206,03/07/2022,96.24
8207,03/11/2022,67.67
];
```

결과

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

* date

* year\_to\_date

결과 테이블

| 날짜 | 연간 누계 |
| --- | --- |
| 01/10/2020 | 0 |
| 2020년 2월 28일 | 0 |
| 2020/04/09 | 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 | 0 |
| 04/23/2021 | 0 |
| 05/04/2021 | 0 |
| 06/30/2021 | 0 |
| 07/26/2021 | 0 |
| 12/27/2021 | 0 |
| 2022/02/02 | -1 |
| 2022/02/26 | -1 |
| 2022년 03월 07일 | 0 |
| 2022년 3월 11일 | 0 |

이 경우 todaydate 인수 03/01/2022가 yeartodate() 함수에서 사용되므로 비교 캘린더 연도 세그먼트의 끝 경계를 2022년 3월 1일로 설정합니다. firstmonth 매개 변수(1 ~ 12)를 제공하는 것이 중요합니다. 그렇지 않으면 함수는 null 결과를 반환합니다.

yeartodate() 함수의 다이어그램, todaydate 인수를 사용한 예

yeartodate() 함수의 다이어그램, todaydate 인수를 사용한 예

yeartodate()yeartodate() 함수의 다이어그램, todaydate 인수를 사용한 예 ![yeartodate 함수가 True 또는 False 값을 반환하는 날짜 값을 표시하는 다이어그램입니다.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-function-yeartodate-examples-todaydate.png)

따라서 todaydate 매개 변수인 2022년 1월 1일과 2022년 3월 1일 사이에 발생하는 모든 트랜잭션은 부울 결과 TRUE를 반환합니다. 2022년 1월 1일 이전 또는 2022년 3월 1일 이후에 발생한 모든 트랜잭션은 부울 결과 FALSE를 반환합니다.

## 예 5 – 차트 개체 예

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

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

개요

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

이 로드 스크립트에는 첫 번째 예와 동일한 데이터 집합 및 시나리오가 포함되어 있습니다.

그러나 이 예에서는 변경되지 않은 데이터 집합이 응용 프로그램에 로드됩니다. 마지막 다시 로드 날짜까지 캘린더 연도에 발생한 트랜잭션을 확인하는 계산은 응용 프로그램의 차트 개체에서 측정값으로 만들어집니다.

로드 스크립트

```
Transactions:
Load
*
Inline 
[
id,date,amount
8188,01/10/2020,37.23
8189,02/28/2020,17.17
8190,04/09/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,02/02/2022,46.23
8205,02/26/2022,84.21
8206,03/07/2022,96.24
8207,03/11/2022,67.67
];
```

결과

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

다음 측정값을 추가합니다.

=yeartodate(date)

결과 테이블

| 날짜 | =연초부터현재까지(날짜) |
| --- | --- |
| 01/10/2020 | 0 |
| 2020년 2월 28일 | 0 |
| 2020/04/09 | 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 | 0 |
| 04/23/2021 | 0 |
| 05/04/2021 | 0 |
| 06/30/2021 | 0 |
| 07/26/2021 | 0 |
| 12/27/2021 | 0 |
| 2022/02/02 | -1 |
| 2022/02/26 | -1 |
| 2022년 03월 07일 | -1 |
| 2022년 03월 11일 | -1 |

year\_to\_date 측정값은 yeartodate() 함수를 사용하고 date 필드를 함수의 인수로 전달하여 차트 개체에서 만들어집니다.

더 이상의 매개 변수가 함수에 전달되지 않기 때문에 yeartodate() 함수는 초기에 다시 로드 날짜를 식별하므로 부울 결과 TRUE를 반환하는 현재 캘린더 연도(1월 1일부터 시작)의 경계를 식별합니다.

yeartodate() 함수의 다이어그램, 차트 개체를 사용한 예

yeartodate() 함수의 다이어그램, 차트 개체를 사용한 예

yeartodate()yeartodate() 함수의 다이어그램, 차트 개체를 사용한 예 ![yeartodate 함수가 True 또는 False 값을 반환하는 날짜 값을 표시하는 다이어그램입니다.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-function-yeartodate-examples-chart-object.png)

다시 로드 날짜인 1월 1일과 4월 26일 사이에 발생하는 모든 트랜잭션은 부울 결과 TRUE를 반환합니다. 2022년이 시작되기 전에 발생한 모든 트랜잭션은 부울 결과 FALSE를 반환합니다.

## 예 6 – 시나리오

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

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

개요

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

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

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

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

최종 사용자는 2021년 해당 기간 동안의 총 판매를 마지막 다시 로드 시간과 같은 현재 연도부터 현재까지로 표시하는 KPI 개체를 원합니다.

작성 시 날짜는 2022년 6월 16일입니다.

로드 스크립트

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

Transactions:
Load
*
Inline 
[
id,date,amount
8188,01/10/2020,37.23
8189,02/28/2020,17.17
8190,04/09/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,02/02/2022,46.23
8205,02/26/2022,84.21
8206,03/07/2022,96.24
8207,03/11/2022,67.67
];
```

결과

다음과 같이 하십시오.

1. KPI 개체를 만듭니다.

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

   =sum(if(yeartodate(date,-1),amount,0))

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

2021년 KPI yeartodate() 차트

2021년 KPI yeartodate() 차트

2021년 KPI yeartodate()yeartodate() 차트 ![yeartodate 함수를 사용하여 생성된 2021년 판매 데이터를 나타내는 KPI 시각화.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-function-yeartodate-scenario-kpi.png)

yeartodate() 함수는 각 트랜잭션 ID의 날짜를 평가할 때 부울 값을 반환합니다. 다시 로드가 2022년 6월 16일에 발생했으므로 yeartodate 함수는 연도 기간을 2022년 1월 1일에서 2022년 6월 16일 사이로 분할합니다. 그러나 period\_no 값 -1이 이 함수에 사용되었으므로 이러한 경계는 이전 연도로 시프트됩니다. 따라서 2022년 1월 1일에서 2022년 6월 16일 사이에 발생하는 모든 트랜잭션에 대해 yeartodate() 함수는 부울 값 TRUE를 반환하고 금액을 합산합니다.