monthsname() 함수는 제공된 n_months 인수를 기반으로 연도를 세그먼트로 나눕니다. 그런 다음 제공된 각 date가 속한 세그먼트를 평가하고 해당 세그먼트의 시작 및 종료 월 이름과 연도를 반환합니다. 또한 이 함수는 연도의 첫 번째 달을 재정의할 뿐만 아니라 앞 또는 뒤 세그먼트에서 이러한 경계를 반환하는 기능을 제공합니다.
함수에서 n_month 인수로 사용할 수 있는 연도의 다음 세그먼트:
가능한 n_month 인수
기간
개월 수
1개월
1
2개월
2
분기
3
4개월
4
6개월
6
인수
인수
설명
n_months
기간을 정의하는 개월 수입니다. 정수 또는 정수로 처리되는 표현식으로, 1(inmonth() 함수와 동일), 2(2개월), 3(inquarter() 함수와 동일), 4(4개월 기간) 또는 6(6개월) 중 하나여야 합니다.
date
평가할 날짜 또는 타임스탬프입니다.
period_no
기간은 period_no, 정수 또는 정수로 처리되는 표현식으로 오프셋을 지정할 수 있습니다. 값 0은 base_date를 포함하는 기간을 나타냅니다. period_no가 음수 값일 경우 이전 기간, 양수 값일 경우 다음 기간을 나타냅니다.
first_month_of_year
1월에 시작되지 않는 (회계)연도를 사용하려는 경우 first_month_of_year에 2와 12 사이의 값을 지정하십시오.
사용 시기
monthsname() 함수는 선택한 기간별로 집계를 비교하는 기능을 사용자에게 제공하려는 경우에 유용합니다. 예를 들어, 입력 변수를 제공하여 사용자가 월별, 분기별 또는 반기별 총 제품 판매를 볼 수 있도록 할 수 있습니다.
이러한 차원은 함수를 마스터 캘린더 테이블의 필드로 추가하여 로드 스크립트에서 만들거나 차트에서 계산된 차원으로 차원을 직접 만들 수 있습니다.
함수 예
예
결과
monthsname(4, '10/19/2013')
'Sep-Dec 2013'을 반환합니다. 이 예와 다른 예에서 SET Monthnames 문은 Jan;Feb;Mar 등으로 설정됩니다.
monthsname(4, '10/19/2013', -1)
'May-Aug 2013'을 반환합니다.
monthsname(4, '10/19/2013', 0, 2)
연도가 월 2에 시작하도록 지정되었으므로 'Oct-Jan 2014'를 반환합니다. 따라서 4개월 기간은 다음 해의 첫 번째 달에 끝납니다.
국가별 설정
달리 지정하지 않는 한 이 항목의 예에서는 다음 날짜 형식을 사용합니다. YYYY/MM/DD. 날짜 형식은 데이터 로드 스크립트의 SET DateFormat 문에 지정됩니다. 기본 날짜 형식은 지역 설정 및 기타 요인으로 인해 시스템에서 다를 수 있습니다. 아래 예의 형식을 요구 사항에 맞게 변경할 수 있습니다. 또는 이러한 예와 일치하도록 로드 스크립트의 형식을 변경할 수 있습니다. 자세한 내용은 앱 및 스크립트에 대한 지역 설정 수정를 참조하십시오.
앱의 기본 지역 설정은 사용자 프로필을 기반으로 합니다. 이러한 국가별 형식 설정은 Qlik Cloud 사용자 인터페이스에 표시되는 언어와 관련이 없습니다. Qlik Cloud는 사용 중인 브라우저와 동일한 언어로 표시됩니다.
'bi_monthly_range' 필드는 monthsname() 함수를 사용하여 선행 LOAD 문에서 만들어집니다. 제공된 첫 번째 인수는 2이며, 연도를 2개월 세그먼트로 나눕니다. 두 번째 인수는 평가 중인 필드를 식별합니다.
트랜잭션 8195는 5월 22일에 발생합니다. monthsname() 함수는 처음에 연도를 2개월 세그먼트로 나눕니다. 트랜잭션 8195는 5월 1일에서 6월 30일 사이의 세그먼트에 속합니다. 따라서 이 함수는 MonthNames 시스템 변수 서식으로 이러한 월과 연도를 반환합니다(May-Jun 2022).
예 2 – period_no
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
첫 번째 예와 동일한 인라인 데이터 집합 및 시나리오.
트랜잭션을 2개월 세그먼트로 그룹화하고 각 트랜잭션에 대한 이전 세그먼트 경계 이름을 반환하는 필드 prev_bi_monthly_range 만들기.
monthsname() 함수의 first_month_of_year 인수로 4를 사용하면 이 함수는 연도를 4월 1일에 시작합니다. 그런 다음 연도를 2개월 세그먼트로 나눕니다. Apr-May,Jun-Jul,Aug-Sep,Oct-Nov,Dec-Jan,Feb-Mar.
결과에 대한 단락 텍스트입니다.
트랜잭션 8195는 5월 22일에 발생했으며 4월 1일에서 5월 31일 사이에 해당합니다. 따라서 함수는 Apr-May 2022를 반환합니다.
예 4 – 차트 개체 예
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
이 로드 스크립트에는 첫 번째 예와 동일한 인라인 데이터 집합 및 시나리오가 포함되어 있습니다. 그러나 이 예에서는 변경되지 않은 데이터 집합이 응용 프로그램에 로드됩니다. 트랜잭션을 2개월 세그먼트로 그룹화하고 각 트랜잭션에 대한 세그먼트 경계를 반환하는 계산은 응용 프로그램의 차트 개체에서 측정값으로 만들어집니다.
데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 이 필드를 차원으로 추가합니다.date.
다음 측정값을 만듭니다.
=monthsname(2,date)
결과 테이블
date
=monthsname(2,date)
2/19/2022
Jan-Feb 2022
3/7/2022
Mar-Apr 2022
3/30/2022
Mar-Apr 2022
4/5/2022
Mar-Apr 2022
4/16/2022
Mar-Apr 2022
5/1/2022
May-Jun 2022
5/7/2022
May-Jun 2022
5/22/2022
May-Jun 2022
6/15/2022
May-Jun 2022
6/26/2022
May-Jun 2022
7/9/2022
Jul-Aug 2022
7/22/2022
Jul-Aug 2022
7/23/2022
Jul-Aug 2022
7/27/2022
Jul-Aug 2022
8/2/2022
Jul-Aug 2022
8/8/2022
Jul-Aug 2022
8/19/2022
Jul-Aug 2022
9/26/2022
Sep-Oct 2022
10/14/2022
Sep-Oct 2022
10/29/2022
Sep-Oct 2022
bi_monthly_range 필드는 monthsname() 함수를 사용하여 차트 개체에서 측정값으로 만들어집니다. 제공된 첫 번째 인수는 2이며, 연도를 2개월 세그먼트로 나눕니다. 두 번째 인수는 평가 중인 필드를 식별합니다.
트랜잭션 8195는 5월 22일에 발생합니다. monthsname() 함수는 처음에 연도를 2개월 세그먼트로 나눕니다. 트랜잭션 8195는 5월 1일에서 6월 30일 사이의 세그먼트에 속합니다. 따라서 이 함수는 MonthNames 시스템 변수 서식으로 이러한 월과 연도를 반환합니다(May-Jun 2022).
예 5 – 시나리오
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
Transactions라는 테이블에 로드되는 2022년 트랜잭션이 포함된 데이터 집합.
DateFormat 시스템 변수(MM/DD/YYYY) 서식으로 제공된 날짜 필드.
최종 사용자는 선택한 기간별로 총 판매액을 표시하는 차트 개체를 원합니다. 이는 변수 입력 컨트롤에 의해 동적으로 수정되는 계산 차원으로 monthsname() 함수를 사용하여 데이터 모델에서 이 차원을 사용할 수 없는 경우에도 구현할 수 있습니다.