quartername - 스크립트 및 차트 함수
이 함수는 해당 분기의 첫 번째 날의 첫 번째 밀리초의 타임스탬프에 해당하는 기본 숫자 값으로 분기의 월(MonthNames 스크립트 변수에 따라 서식 지정) 및 연도를 보여주는 표시 값을 반환합니다.
구문:
QuarterName(date[, period_no[, first_month_of_year]])
반환 데이터 유형: dual
quartername() 함수는 날짜가 속하는 분기를 확인합니다. 그런 다음 이 분기의 시작-끝 월과 연도를 표시하는 값을 반환합니다. 이 결과의 기본 숫자 값은 분기의 첫 번째 밀리초입니다.
인수 | 설명 |
---|---|
date | 평가할 날짜 또는 타임스탬프입니다. |
period_no | period_no는 정수이며, 값 0은 date를 포함하는 분기를 나타냅니다. period_no가 음수 값일 경우 이전 분기, 양수 값일 경우 다음 분기를 나타냅니다. |
first_month_of_year | 1월에 시작되지 않는 (회계)연도를 사용하려는 경우 first_month_of_year에 2와 12 사이의 값을 지정하십시오. |
사용 시기
quartername() 함수는 분기별로 집계를 비교하려는 경우에 유용합니다. 예를 들어 분기별 제품의 총 판매를 보려는 경우에 사용할 수 있습니다.
이 함수는 로드 스크립트에서 사용하여 마스터 캘린더 테이블에 필드를 만들 수 있습니다. 또는 차트에서 계산된 차원으로 직접 사용할 수 있습니다.
이 예에서는 날짜 서식 MM/DD/YYYY를 사용합니다. 날짜 서식은 데이터 로드 스크립트 맨 위에서 SET DateFormat 문으로 지정됩니다. 이 예의 형식을 필요에 따라 변경하십시오.
예 | 결과 |
---|---|
quartername('10/29/2013') | Oct-Dec 2013를 반환합니다. |
quartername('10/29/2013', -1) | Jul-Sep 2013를 반환합니다. |
quartername('10/29/2013', 0, 3) | Sep-Nov 2013을 반환합니다. |
국가별 설정
달리 지정하지 않는 한 이 항목의 예에서는 다음 날짜 형식을 사용합니다. YYYY/MM/DD. 날짜 형식은 데이터 로드 스크립트의 SET DateFormat 문에 지정됩니다. 기본 날짜 형식은 지역 설정 및 기타 요인으로 인해 시스템에서 다를 수 있습니다. 아래 예의 형식을 요구 사항에 맞게 변경할 수 있습니다. 또는 이러한 예와 일치하도록 로드 스크립트의 형식을 변경할 수 있습니다. 자세한 내용은 앱 및 스크립트에 대한 지역 설정 수정를 참조하십시오.
앱의 기본 지역 설정은 사용자 프로필을 기반으로 합니다. 이러한 국가별 형식 설정은 Qlik Cloud 사용자 인터페이스에 표시되는 언어와 관련이 없습니다. Qlik Cloud는 사용 중인 브라우저와 동일한 언어로 표시됩니다.
앱 작성자인 경우 만든 앱의 기본 지역을 설정할 수 있습니다. 자세한 내용은 Qlik Cloud 분석에서 앱 및 스크립트 만들기를 위한 기본 지역 설정 지정을 참조하십시오.
예 1 – 추가 인수가 없는 날짜
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
-
Transactions라는 테이블에 로드되는 2022년 트랜잭션 집합이 포함된 데이터 집합.
-
DateFormat 시스템 변수(MM/DD/YYYY) 서식으로 제공된 날짜 필드.
-
트랜잭션이 발생한 분기를 반환하는 필드 transaction_quarter 만들기.
필요에 따라 목록 등을 사용하여 여기에 다른 텍스트를 추가합니다.
로드 스크립트
SET DateFormat='MM/DD/YYYY';
SET MonthNames='Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec';
Transactions:
Load
*,
quartername(date) as transaction_quarter
;
Load
*
Inline
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
결과
데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.
-
date
-
transaction_quarter
date | transaction_quarter |
---|---|
1/7/2022 | Jan-Mar 2022 |
1/19/2022 | Jan-Mar 2022 |
2/5/2022 | Jan-Mar 2022 |
2/28/2022 | Jan-Mar 2022 |
3/16/2022 | Jan-Mar 2022 |
4/1/2022 | Apr-Jun 2022 |
5/7/2022 | Apr-Jun 2022 |
5/16/2022 | Apr-Jun 2022 |
6/15/2022 | Apr-Jun 2022 |
6/26/2022 | Apr-Jun 2022 |
7/9/2022 | Jul-Sep 2022 |
7/22/2022 | Jul-Sep 2022 |
7/23/2022 | Jul-Sep 2022 |
7/27/2022 | Jul-Sep 2022 |
8/2/2022 | Jul-Sep 2022 |
8/8/2022 | Jul-Sep 2022 |
8/19/2022 | Jul-Sep 2022 |
9/26/2022 | Jul-Sep 2022 |
10/14/2022 | Oct-Dec 2022 |
10/29/2022 | Oct-Dec 2022 |
transaction_quarter 필드는 quartername() 함수를 사용하고 날짜 필드를 함수의 인수로 전달하여 선행 LOAD 문에서 만들어집니다.
quartername() 함수는 초기에 날짜 값이 속하는 분기를 식별합니다. 그런 다음 이 분기의 시작-끝 월과 연도를 표시하는 값을 반환합니다.
트랜잭션 8203은 2022년 8월 8일에 발생했습니다. quartername() 함수는 트랜잭션이 3분기에 발생했음을 식별하므로 2022년 7월-9월을 반환합니다. MonthNames 시스템 변수와 동일한 서식으로 월이 표시됩니다.
예 2 – period_no 인수를 사용한 날짜
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
-
첫 번째 예와 동일한 데이터 집합 및 시나리오.
-
이전 분기를 트랜잭션이 발생한 시점으로 되돌리는 필드 previous_quarter 만들기.
로드 스크립트
SET DateFormat='MM/DD/YYYY';
SET MonthNames='Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec';
Transactions:
Load
*,
quartername(date,-1) as previous_quarter
;
Load
*
Inline
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
결과
데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.
-
date
-
previous_quarter
date | previous_quarter |
---|---|
1/7/2022 | Oct-Dec 2021 |
1/19/2022 | Oct-Dec 2021 |
2/5/2022 | Oct-Dec 2021 |
2/28/2022 | Oct-Dec 2021 |
3/16/2022 | Oct-Dec 2021 |
4/1/2022 | Jan-Mar 2022 |
5/7/2022 | Jan-Mar 2022 |
5/16/2022 | Jan-Mar 2022 |
6/15/2022 | Jan-Mar 2022 |
6/26/2022 | Jan-Mar 2022 |
7/9/2022 | Apr-Jun 2022 |
7/22/2022 | Apr-Jun 2022 |
7/23/2022 | Apr-Jun 2022 |
7/27/2022 | Apr-Jun 2022 |
8/2/2022 | Apr-Jun 2022 |
8/8/2022 | Apr-Jun 2022 |
8/19/2022 | Apr-Jun 2022 |
9/26/2022 | Apr-Jun 2022 |
10/14/2022 | Jul-Sep 2022 |
10/29/2022 | Jul-Sep 2022 |
이 경우 quartername() 함수에서 period_no -1을 오프셋 인수로 사용했으므로 이 함수는 먼저 트랜잭션이 3분기에 발생했음을 식별합니다. 그런 다음 한 분기 이전으로 시프트하고 이 분기의 시작-끝 월과 연도를 표시하는 값을 반환합니다.
트랜잭션 8203은 8월 8일에 발생했습니다. quartername() 함수는 트랜잭션이 발생하기 전 분기가 4월 1일에서 6월 30일 사이임을 식별합니다. 따라서 2022년 4월-6월을 반환합니다.
예 3 – first_week_day 인수를 사용한 날짜
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
이 로드 스크립트에는 첫 번째 예와 동일한 데이터 집합 및 시나리오가 포함되어 있습니다. 그러나 이 예에서는 회계 연도의 시작으로 3월 1일을 설정해야 합니다.
로드 스크립트
SET DateFormat='MM/DD/YYYY';
SET MonthNames='Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec';
Transactions:
Load
*,
quartername(date,0,3) as transaction_quarter
;
Load
*
Inline
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
결과
데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.
-
date
-
transaction_quarter
date | transaction_quarter |
---|---|
1/7/2022 | Dec-Feb 2021 |
1/19/2022 | Dec-Feb 2021 |
2/5/2022 | Dec-Feb 2021 |
2/28/2022 | Dec-Feb 2021 |
3/16/2022 | Mar-May 2022 |
4/1/2022 | Mar-May 2022 |
5/7/2022 | Mar-May 2022 |
5/16/2022 | Mar-May 2022 |
6/15/2022 | Jun-Aug 2022 |
6/26/2022 | Jun-Aug 2022 |
7/9/2022 | Jun-Aug 2022 |
7/22/2022 | Jun-Aug 2022 |
7/23/2022 | Jun-Aug 2022 |
7/27/2022 | Jun-Aug 2022 |
8/2/2022 | Jun-Aug 2022 |
8/8/2022 | Jun-Aug 2022 |
8/19/2022 | Jun-Aug 2022 |
9/26/2022 | Sep-Nov 2022 |
10/14/2022 | Sep-Nov 2022 |
10/29/2022 | Sep-Nov 2022 |
이 경우 quartername() 함수에서 first_month_of_year 인수 3을 사용하므로 연도의 시작이 1월 1일에서 3월 1일로 이동합니다. 따라서 1년의 분기는 3월-5월, 6월-8월, 9월-11월 및 12월-2월로 구분됩니다.
트랜잭션 8203은 8월 8일에 발생했습니다. quartername() 함수는 트랜잭션이 6월 초에서 8월 말 사이의 2분기에 발생했음을 식별합니다. 따라서 2022년 6월-8월을 반환합니다.
예 4 – 차트 개체 예
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
이 로드 스크립트에는 첫 번째 예와 동일한 데이터 집합 및 시나리오가 포함되어 있습니다.
그러나 이 예에서는 변경되지 않은 데이터 집합이 응용 프로그램에 로드됩니다. 트랜잭션이 발생한 분기의 끝에 대한 타임스탬프를 반환하는 계산은 응용 프로그램의 차트 개체에서 측정값으로 만들어집니다.
로드 스크립트
Transactions:
Load
*
Inline
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
결과
데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 이 필드를 차원으로 추가합니다. date.
다음 측정값을 만듭니다.
=quartername(date)
date | =quartername(date) |
---|---|
1/7/2022 | Jan-Mar 2022 |
1/19/2022 | Jan-Mar 2022 |
2/5/2022 | Jan-Mar 2022 |
2/28/2022 | Jan-Mar 2022 |
3/16/2022 | Jan-Mar 2022 |
4/1/2022 | Apr-Jun 2022 |
5/7/2022 | Apr-Jun 2022 |
5/16/2022 | Apr-Jun 2022 |
6/15/2022 | Apr-Jun 2022 |
6/26/2022 | Apr-Jun 2022 |
7/9/2022 | Jul-Sep 2022 |
7/22/2022 | Jul-Sep 2022 |
7/23/2022 | Jul-Sep 2022 |
7/27/2022 | Jul-Sep 2022 |
8/2/2022 | Jul-Sep 2022 |
8/8/2022 | Jul-Sep 2022 |
8/19/2022 | Jul-Sep 2022 |
9/26/2022 | Jul-Sep 2022 |
10/14/2022 | Oct-Dec 2022 |
10/29/2022 | Oct-Dec 2022 |
transaction_quarter 측정값은 quartername() 함수를 사용하고 date 필드를 함수의 인수로 전달하여 차트 개체에서 만들어집니다.
quartername() 함수는 초기에 날짜 값이 속하는 분기를 식별합니다. 그런 다음 이 분기의 시작-끝 월과 연도를 표시하는 값을 반환합니다.
트랜잭션 8203은 2022년 8월 8일에 발생했습니다. quartername() 함수는 트랜잭션이 3분기에 발생했음을 식별하므로 2022년 7월-9월을 반환합니다. MonthNames 시스템 변수와 동일한 서식으로 월이 표시됩니다.
예 5 – 시나리오
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
-
Transactions라는 테이블에 로드되는 2022년 트랜잭션 집합이 포함된 데이터 집합.
-
DateFormat 시스템 변수(MM/DD/YYYY) 서식으로 제공된 날짜 필드.
최종 사용자는 트랜잭션에 대한 분기별 총 판매를 나타내는 차트 개체를 원합니다. 데이터 모델에서 이 차원을 사용할 수 없는 경우에도 quartername() 함수를 차트에서 계산된 차원으로 사용하여 이를 달성할 수 있습니다.
로드 스크립트
SET DateFormat='MM/DD/YYYY';
Transactions:
Load
*
Inline
[
id,date,amount
8188,'1/7/2022',17.17
8189,'1/19/2022',37.23
8190,'2/28/2022',88.27
8191,'2/5/2022',57.42
8192,'3/16/2022',53.80
8193,'4/1/2022',82.06
8194,'5/7/2022',40.39
8195,'5/16/2022',87.21
8196,'6/15/2022',95.93
8197,'6/26/2022',45.89
8198,'7/9/2022',36.23
8199,'7/22/2022',25.66
8200,'7/23/2022',82.77
8201,'7/27/2022',69.98
8202,'8/2/2022',76.11
8203,'8/8/2022',25.12
8204,'8/19/2022',46.23
8205,'9/26/2022',84.21
8206,'10/14/2022',96.24
8207,'10/29/2022',67.67
];
결과
다음과 같이 하십시오.
-
데이터를 로드하고 시트를 엽니다. 새 테이블을 만듭니다.
-
다음 표현식을 사용하여 계산된 차원을 만듭니다.
=quartername(date)
-
그런 후, 다음 집계 측정값을 사용하여 총 판매액을 계산합니다.
=sum(amount)
-
측정값의 숫자 형식을 화폐로 설정합니다.
=quartername(date) | =sum(amount) |
---|---|
Jul-Sep 2022 | $446.31 |
Apr-Jun 2022 | $351.48 |
Jan-Mar 2022 | $253.89 |
Oct-Dec 2022 | $163.91 |