year - 스크립트 및 차트 함수
이 함수는 expression이 표준 숫자 해석에 따라 날짜로 해석될 경우 연도를 나타내는 정수를 반환합니다.
구문:
year(expression)
반환 데이터 유형: 정수
year() 함수는 스크립트 및 차트 함수로 사용할 수 있습니다. 이 함수는 특정 날짜의 연도를 반환합니다. 일반적으로 마스터 캘린더의 차원으로 연도 필드를 만드는 데 사용됩니다.
사용 시기
year() 함수는 연도별로 집계를 비교하려는 경우에 유용합니다. 예를 들어 연도별 제품의 총 판매액을 보고 싶을 때 이 함수를 사용할 수 있습니다.
이러한 차원은 마스터 캘린더 테이블에 필드를 만드는 함수를 사용하여 로드 스크립트에서 만들 수 있습니다. 또는 차트에서 계산된 차원으로 직접 사용할 수 있습니다.
예 | 결과 |
---|---|
year( '2012-10-12' ) | 2012를 반환합니다. |
year( '35648' ) | 35648 = 1997-08-06이므로, 1997을 반환합니다. |
국가별 설정
달리 지정하지 않는 한 이 항목의 예에서는 다음 날짜 형식을 사용합니다. YYYY/MM/DD. 날짜 형식은 데이터 로드 스크립트의 SET DateFormat 문에 지정됩니다. 기본 날짜 형식은 지역 설정 및 기타 요인으로 인해 시스템에서 다를 수 있습니다. 아래 예의 형식을 요구 사항에 맞게 변경할 수 있습니다. 또는 이러한 예와 일치하도록 로드 스크립트의 형식을 변경할 수 있습니다.
앱의 기본 국가별 설정은 Qlik Sense가 설치된 컴퓨터 또는 서버의 국가별 시스템 설정을 기반으로 합니다. 액세스하는 Qlik Sense 서버가 스웨덴으로 설정된 경우 데이터 로드 편집기는 날짜, 시간 및 통화에 대해 스웨덴 지역 설정을 사용합니다. 이러한 국가별 형식 설정은 Qlik Sense 사용자 인터페이스에 표시되는 언어와 관련이 없습니다. Qlik Sense는 사용 중인 브라우저와 동일한 언어로 표시됩니다.
예 1 – DateFormat 데이터 집합(스크립트)
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
-
Master Calendar라는 테이블에 로드되는 날짜 데이터 집합.
-
기본 DateFormat 시스템 변수(MM/DD/YYYY)가 사용됩니다.
-
year() 함수를 사용하여 추가 필드 'year'를 만드는 데 사용되는 선행 로드.
로드 스크립트
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'라는 추가 필드를 만드는 데 사용되는 선행 로드.
로드 스크립트
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'를 만드는 데 사용되는 선행 로드.
서식이 지정되지 않은 원본 날짜(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년입니다.