year - 스크립트 및 차트 함수
이 함수는 expression이 표준 숫자 해석에 따라 날짜로 해석될 경우 연도를 나타내는 정수를 반환합니다.
구문:
year(expression)
반환 데이터 유형: 정수
year() 함수는 스크립트 및 차트 함수로 사용할 수 있습니다. 이 함수는 특정 날짜의 연도를 반환합니다. 일반적으로 마스터 캘린더의 차원으로 연도 필드를 만드는 데 사용됩니다.
사용 시기
year() 함수는 연도별로 집계를 비교하려는 경우에 유용합니다. 예를 들어 연도별 제품의 총 판매액을 보고 싶을 때 이 함수를 사용할 수 있습니다.
이러한 차원은 마스터 캘린더 테이블에 필드를 만드는 함수를 사용하여 로드 스크립트에서 만들 수 있습니다. 또는 차트에서 계산된 차원으로 직접 사용할 수 있습니다.
예 | 결과 |
---|---|
year( '2012-10-12' ) | 2012를 반환합니다. |
year( '35648' ) | 35648 = 1997-08-06이므로, 1997을 반환합니다. |
국가별 설정
달리 지정하지 않는 한 이 항목의 예에서는 다음 날짜 형식을 사용합니다. YYYY/MM/DD. 날짜 형식은 데이터 로드 스크립트의 SET DateFormat 문에 지정됩니다. 기본 날짜 형식은 지역 설정 및 기타 요인으로 인해 시스템에서 다를 수 있습니다. 아래 예의 형식을 요구 사항에 맞게 변경할 수 있습니다. 또는 이러한 예와 일치하도록 로드 스크립트의 형식을 변경할 수 있습니다. 자세한 내용은 앱 및 스크립트에 대한 지역 설정 수정를 참조하십시오.
앱의 기본 지역 설정은 사용자 프로필을 기반으로 합니다. 이러한 국가별 형식 설정은 Qlik Cloud 사용자 인터페이스에 표시되는 언어와 관련이 없습니다. Qlik Cloud는 사용 중인 브라우저와 동일한 언어로 표시됩니다.
앱 작성자인 경우 만든 앱의 기본 지역을 설정할 수 있습니다. 자세한 내용은 Qlik Cloud 분석에서 앱 및 스크립트 만들기를 위한 기본 지역 설정 지정을 참조하십시오.
예 1 – DateFormat 데이터 집합(스크립트)
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
-
Master Calendar라는 테이블에 로드되는 날짜 데이터 집합.
-
기본 DateFormat 시스템 변수 MM/DD/YYYY가 사용됩니다.
-
year() 함수를 사용하여 추가 필드 year를 만드는 데 사용되는 선행 LOAD.
로드 스크립트
SET DateFormat='MM/DD/YYYY';
Master_Calendar:
Load
date,
year(date) as year
;
Load
date
Inline
[
date
12/28/2020
12/29/2020
12/30/2020
12/31/2020
01/01/2021
01/02/2021
01/03/2021
01/04/2021
01/05/2021
01/06/2021
01/07/2021
];
결과
데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.
-
date
-
year
date | 년 |
---|---|
12/28/2020 | 2020 |
12/29/2020 | 2020 |
12/30/2020 | 2020 |
12/31/2020 | 2020 |
01/01/2021 | 2021 |
01/02/2021 | 2021 |
01/03/2021 | 2021 |
01/04/2021 | 2021 |
01/05/2021 | 2021 |
01/06/2021 | 2021 |
01/07/2021 | 2021 |
예 2 - ANSI 날짜
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
-
Master Calendar라는 테이블에 로드되는 날짜 데이터 집합.
-
기본 DateFormat 시스템 변수(MM/DD/YYYY)가 사용됩니다. 그러나 데이터 집합에 포함된 날짜는 ANSI 표준 날짜 서식입니다.
-
year() 함수를 사용하여 'year'라는 추가 필드를 만드는 데 사용되는 선행 LOAD.
로드 스크립트
SET DateFormat='MM/DD/YYYY';
Master_Calendar:
Load
date,
year(date) as year
;
Load
date
Inline
[
date
2020-12-28
2020-12-29
2020-12-30
2020-12-31
2021-01-01
2021-01-02
2021-01-03
2021-01-04
2021-01-05
2021-01-06
2021-01-07
];
결과
데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.
-
date
-
year
date | 년 |
---|---|
2020-12-28 | 2020 |
2020-12-29 | 2020 |
2020-12-30 | 2020 |
2020-12-31 | 2020 |
2021-01-01 | 2021 |
2021-01-02 | 2021 |
2021-01-03 | 2021 |
2021-01-04 | 2021 |
2021-01-05 | 2021 |
2021-01-06 | 2021 |
2021-01-07 | 2021 |
예 3 – 서식이 지정되지 않은 날짜
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
-
Master Calendar라는 테이블에 로드되는 숫자 서식의 날짜 데이터 집합.
-
기본 DateFormat 시스템 변수(MM/DD/YYYY)가 사용됩니다.
-
year() 함수를 사용하여 추가 필드 'year'를 만드는 데 사용되는 선행 LOAD.
서식이 지정되지 않은 원본 날짜(unformatted_date)가 로드되고 명확성을 제공하기 위해 date() 함수를 사용하여 숫자 날짜를 서식이 지정된 날짜 필드로 변환하는 데 long_date라는 추가 필드가 사용됩니다.
로드 스크립트
SET DateFormat='MM/DD/YYYY';
Master_Calendar:
Load
unformatted_date,
date(unformatted_date) as long_date,
year(unformatted_date) as year
;
Load
unformatted_date
Inline
[
unformatted_date
44868
44898
44928
44958
44988
45018
45048
45078
45008
45038
45068
];
결과
데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.
-
unformatted_date
-
long_date
-
year
unformatted_date | long_date | 년 |
---|---|---|
44868 | 11/03/2022 | 2022 |
44898 | 12/03/2022 | 2022 |
44928 | 01/02/2023 | 2023 |
44958 | 02/01/2023 | 2023 |
44988 | 03/03/2023 | 2023 |
45008 | 03/23/2023 | 2023 |
45018 | 04/02/2023 | 2023 |
45038 | 04/22/2023 | 2023 |
45048 | 05/02/2023 | 2023 |
45068 | 05/22/2023 | 2023 |
45078 | 06/01/2023 | 2023 |
예 4 – 차트 개체 예
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
이 예에서는 주문 데이터 집합이 Sales라는 테이블에 로드됩니다. 테이블에는 세 개의 필드가 있습니다.
-
id
-
sales_date
-
amount
제품 판매에 대한 보증은 판매일로부터 2년 동안 지속됩니다. 차트에 측정값을 만들어 각 보증이 만료되는 연도를 확인하는 작업입니다.
로드 스크립트
Sales:
Load
id,
sales_date,
amount
Inline
[
id,sales_date,amount
1,12/28/2020,231.24,
2,12/29/2020,567.28,
3,12/30/2020,364.28,
4,12/31/2020,575.76,
5,01/01/2021,638.68,
6,01/02/2021,785.38,
7,01/03/2021,967.46,
8,01/04/2021,287.67
9,01/05/2021,764.45,
10,01/06/2021,875.43,
11,01/07/2021,957.35
];
결과
데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 이 필드를 차원으로 추가합니다. sales_date.
다음 측정값을 만듭니다.
=year(sales_date+365*2)
sales_date | =year(sales_date+365*2) |
---|---|
12/28/2020 | 2022 |
12/29/2020 | 2022 |
12/30/2020 | 2022 |
12/31/2020 | 2022 |
01/01/2021 | 2023 |
01/02/2021 | 2023 |
01/03/2021 | 2023 |
01/04/2021 | 2023 |
01/05/2021 | 2023 |
01/06/2021 | 2023 |
01/07/2021 | 2023 |
이 측정값의 결과는 위의 테이블에서 볼 수 있습니다. 날짜에 2년을 더하려면 365에 2를 곱하고 그 결과를 판매 날짜에 더합니다. 따라서 2020년에 발생한 판매의 만료 연도는 2022년입니다.