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 Sense가 설치된 컴퓨터 또는 서버의 국가별 시스템 설정을 기반으로 합니다. 액세스하는 Qlik Sense 서버가 스웨덴으로 설정된 경우 데이터 로드 편집기는 날짜, 시간 및 통화에 대해 스웨덴 지역 설정을 사용합니다. 이러한 국가별 형식 설정은 Qlik Sense 사용자 인터페이스에 표시되는 언어와 관련이 없습니다. Qlik Sense는 사용 중인 브라우저와 동일한 언어로 표시됩니다.
예 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 |