monthname - 스크립트 및 차트 함수
이 함수는 해당 월의 첫 번째 날의 첫 번째 밀리초의 타임스탬프에 해당하는 기본 숫자 값으로 월(MonthNames 스크립트 변수에 따라 서식 지정) 및 연도를 보여주는 표시 값을 반환합니다.
구문:
MonthName(date[, period_no])
반환 데이터 유형: dual
인수 | 설명 |
---|---|
date | 평가할 날짜 또는 타임스탬프입니다. |
period_no | period_no는 정수이며, 0이거나 생략되는 경우는 date를 포함하는 월을 나타냅니다. period_no가 음수 값일 경우 이전 달, 양수 값일 경우 다음 달을 나타냅니다. |
예 | 결과 |
---|---|
monthname('10/19/2013') |
Oct 2013를 반환합니다. |
monthname('10/19/2013', -1) | Sep 2013를 반환합니다. |
국가별 설정
달리 지정하지 않는 한 이 항목의 예에서는 다음 날짜 형식을 사용합니다. YYYY/MM/DD. 날짜 형식은 데이터 로드 스크립트의 SET DateFormat 문에 지정됩니다. 기본 날짜 형식은 지역 설정 및 기타 요인으로 인해 시스템에서 다를 수 있습니다. 아래 예의 형식을 요구 사항에 맞게 변경할 수 있습니다. 또는 이러한 예와 일치하도록 로드 스크립트의 형식을 변경할 수 있습니다.
앱의 기본 국가별 설정은 Qlik Sense가 설치된 컴퓨터 또는 서버의 국가별 시스템 설정을 기반으로 합니다. 액세스하는 Qlik Sense 서버가 스웨덴으로 설정된 경우 데이터 로드 편집기는 날짜, 시간 및 통화에 대해 스웨덴 지역 설정을 사용합니다. 이러한 국가별 형식 설정은 Qlik Sense 사용자 인터페이스에 표시되는 언어와 관련이 없습니다. Qlik Sense는 사용 중인 브라우저와 동일한 언어로 표시됩니다.
예 1 – 기본 예
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
-
Transactions라는 테이블에 로드되는 2022년 트랜잭션 집합이 포함된 데이터 집합.
-
DateFormat 시스템 변수(MM/DD/YYYY) 서식으로 제공된 날짜 필드.
-
트랜잭션이 발생한 월을 반환하는 필드 transaction_month 만들기.
로드 스크립트
SET DateFormat='MM/DD/YYYY';
SET MonthNames='Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec';
Transactions:
Load
*,
monthname(date) as transaction_month
;
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_month
date | transaction_month |
---|---|
1/7/2022 | Jan 2022 |
1/19/2022 | Jan 2022 |
2/5/2022 | Feb 2022 |
2/28/2022 | Feb 2022 |
3/16/2022 | Mar 2022 |
4/1/2022 | Apr 2022 |
5/7/2022 | May 2022 |
5/16/2022 | May 2022 |
6/15/2022 | Jun 2022 |
6/26/2022 | Jun 2022 |
7/9/2022 | Jul 2022 |
7/22/2022 | Jul 2022 |
7/23/2022 | Jul 2022 |
7/27/2022 | Jul 2022 |
8/2/2022 | Aug 2022 |
8/8/2022 | Aug 2022 |
8/19/2022 | Aug 2022 |
9/26/2022 | Sep 2022 |
10/14/2022 | Oct 2022 |
10/29/2022 | Oct 2022 |
transaction_month 필드는 monthname() 함수를 사용하고 date 필드를 함수의 인수로 전달하여 선행 LOAD 문에서 만들어집니다.
monthname() 함수는 트랜잭션 8192가 2022년 3월에 발생했음을 식별하고 MonthNames 시스템 변수를 사용하여 이 값을 반환합니다.
예 2 – period_no
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
-
첫 번째 예와 동일한 인라인 데이터 집합 및 시나리오.
-
트랜잭션이 발생하기 전 월말의 타임스탬프를 반환하는 필드 transaction_previous_month 만들기.
로드 스크립트
SET DateFormat='MM/DD/YYYY';
SET MonthNames='Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec';
Transactions:
Load
*,
monthname(date,-1) as transaction_previous_month
;
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_previous_month
date | transaction_previous_month |
---|---|
1/7/2022 | Dec 2021 |
1/19/2022 | Dec 2021 |
2/5/2022 | Jan 2022 |
2/28/2022 | Jan 2022 |
3/16/2022 | Feb 2022 |
4/1/2022 | Mar 2022 |
5/7/2022 | Apr 2022 |
5/16/2022 | Apr 2022 |
6/15/2022 | May 2022 |
6/26/2022 | May 2022 |
7/9/2022 | Jun 2022 |
7/22/2022 | Jun 2022 |
7/23/2022 | Jun 2022 |
7/27/2022 | Jun 2022 |
8/2/2022 | Jul 2022 |
8/8/2022 | Jul 2022 |
8/19/2022 | Jul 2022 |
9/26/2022 | Aug 2022 |
10/14/2022 | Sep 2022 |
10/29/2022 | Sep 2022 |
이 경우 monthname() 함수에서 period_no -1을 오프셋 인수로 사용했으므로 이 함수는 먼저 트랜잭션이 발생한 월을 식별합니다. 그런 다음 한 달 전으로 이동하고 월 이름과 연도를 반환합니다.
트랜잭션 8192는 3월 16일에 발생했습니다. monthname() 함수는 트랜잭션이 발생하기 전 월이 2월임을 식별하고 2022년과 함께 MonthNames 시스템 변수 서식으로 월을 반환합니다.
예 3 – 차트 개체 예
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
이 로드 스크립트에는 첫 번째 예와 동일한 인라인 데이터 집합 및 시나리오가 포함되어 있습니다. 그러나 이 예에서는 변경되지 않은 데이터 집합이 응용 프로그램에 로드됩니다. 트랜잭션이 발생한 월말의 타임스탬프를 반환하는 계산은 응용 프로그램의 차트 개체에서 측정값으로 만들어집니다.
로드 스크립트
SET DateFormat='MM/DD/YYYY';
SET MonthNames='Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec';
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
];
결과
데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 이 필드를 차원으로 추가합니다.date.
다음 측정값을 만듭니다.
=monthname(date)
date | =monthname(date) |
---|---|
1/7/2022 | Jan 2022 |
1/19/2022 | Jan 2022 |
2/5/2022 | Feb 2022 |
2/28/2022 | Feb 2022 |
3/16/2022 | Mar 2022 |
4/1/2022 | Apr 2022 |
5/7/2022 | May 2022 |
5/16/2022 | May 2022 |
6/15/2022 | Jun 2022 |
6/26/2022 | Jun 2022 |
7/9/2022 | Jul 2022 |
7/22/2022 | Jul 2022 |
7/23/2022 | Jul 2022 |
7/27/2022 | Jul 2022 |
8/2/2022 | Aug 2022 |
8/8/2022 | Aug 2022 |
8/19/2022 | Aug 2022 |
9/26/2022 | Sep 2022 |
10/14/2022 | Oct 2022 |
10/29/2022 | Oct 2022 |
month_name 측정값은 monthname() 함수를 사용하고 date 필드를 함수의 인수로 전달하여 차트 개체에서 만들어집니다.
monthname() 함수는 트랜잭션 8192가 2022년 3월에 발생했음을 식별하고 MonthNames 시스템 변수를 사용하여 이 값을 반환합니다.