monthsstart() 함수는 제공된 n_months 인수를 기반으로 연도를 세그먼트로 나눕니다. 그런 다음 제공된 각 날짜가 속하는 세그먼트를 평가하고 해당 세그먼트의 첫 번째 밀리초를 날짜 서식으로 반환합니다. 이 함수는 또한 이전 또는 다음 세그먼트에서 시작 타임스탬프를 반환하고 연도의 첫 번째 달을 재정의하는 기능을 제공합니다.
함수에서 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 사이의 값을 지정하십시오.
사용 시기
monthsstart() 함수는 일반적으로 사용자가 아직 발생하지 않은 기간을 사용하여 계산하려고 할 때 표현식의 일부로 사용됩니다. 예를 들어 사용자가 월, 분기 또는 6개월 동안 누적된 총 이자를 계산할 수 있도록 입력 변수를 제공하는 데 사용할 수 있습니다.
함수 예
예
결과
monthsstart(4, '10/19/2013')
09/01/2013를 반환합니다.
monthsstart(4, '10/19/2013, -1)
05/01/2013을 반환합니다.
monthsstart(4, '10/19/2013', 0, 2
)
2개월차에 연도가 시작되므로 10/01/2013을 반환합니다.
국가별 설정
달리 지정하지 않는 한 이 항목의 예에서는 다음 날짜 형식을 사용합니다. YYYY/MM/DD. 날짜 형식은 데이터 로드 스크립트의 SET DateFormat 문에 지정됩니다. 기본 날짜 형식은 지역 설정 및 기타 요인으로 인해 시스템에서 다를 수 있습니다. 아래 예의 형식을 요구 사항에 맞게 변경할 수 있습니다. 또는 이러한 예와 일치하도록 로드 스크립트의 형식을 변경할 수 있습니다.
앱의 기본 국가별 설정은 Qlik Sense가 설치된 컴퓨터 또는 서버의 국가별 시스템 설정을 기반으로 합니다. 액세스하는 Qlik Sense 서버가 스웨덴으로 설정된 경우 데이터 로드 편집기는 날짜, 시간 및 통화에 대해 스웨덴 지역 설정을 사용합니다. 이러한 국가별 형식 설정은 Qlik Sense 사용자 인터페이스에 표시되는 언어와 관련이 없습니다. Qlik Sense는 사용 중인 브라우저와 동일한 언어로 표시됩니다.
예 1 – 추가 인수 없음
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
Transactions라는 테이블에 로드되는 2022년 트랜잭션 집합이 포함된 데이터 집합.
DateFormat 시스템 변수(MM/DD/YYYY) 서식으로 제공된 날짜 필드.
트랜잭션을 2개월 세그먼트로 그룹화하고 각 트랜잭션에 대한 세그먼트의 시작 타임스탬프를 반환하는 필드 bi_monthly_start 만들기.
'bi_monthly_start' 필드는 monthsstart() 함수를 사용하여 선행 LOAD 문에서 만들어집니다. 제공된 첫 번째 인수는 2이며, 연도를 2개월 세그먼트로 나눕니다. 두 번째 인수는 평가 중인 필드를 식별합니다.
트랜잭션 8195는 5월 22일에 발생합니다. monthsstart() 함수는 처음에 연도를 2개월 세그먼트로 나눕니다. 트랜잭션 8195는 5월 1일에서 6월 30일 사이의 세그먼트에 속합니다. 따라서 이 함수는 이 세그먼트의 첫 번째 밀리초, 즉 2022년 4월 1일 오전 12:00:00를 반환합니다.
예 2 – period_no
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
첫 번째 예와 동일한 데이터 집합 및 시나리오.
트랜잭션이 발생하기 전 2개월 세그먼트의 첫 번째 밀리초를 반환하는 필드 prev_bi_monthly_start 만들기.
데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 이 필드를 차원으로 추가합니다. date.
다음 측정값을 만듭니다.
=monthsstart(2,date)
=timestamp(monthsstart(2,date))
이러한 계산은 각 트랜잭션이 발생한 2개월 세그먼트의 시작 타임스탬프를 검색합니다.
결과 테이블
date
=monthsstart(2,date)
=timestamp(monthsstart(2,date))
9/26/2022
09/01/2022
9/1/2022 12:00:00 AM
10/14/2022
09/01/2022
9/1/2022 12:00:00 AM
10/29/2022
09/01/2022
9/1/2022 12:00:00 AM
7/9/2022
07/01/2022
7/1/2022 12:00:00 AM
7/22/2022
07/01/2022
7/1/2022 12:00:00 AM
7/23/2022
07/01/2022
7/1/2022 12:00:00 AM
7/27/2022
07/01/2022
7/1/2022 12:00:00 AM
8/2/2022
07/01/2022
7/1/2022 12:00:00 AM
8/8/2022
07/01/2022
7/1/2022 12:00:00 AM
8/19/2022
07/01/2022
7/1/2022 12:00:00 AM
5/1/2022
05/01/2022
5/1/2022 12:00:00 AM
5/7/2022
05/01/2022
5/1/2022 12:00:00 AM
5/22/2022
05/01/2022
5/1/2022 12:00:00 AM
6/15/2022
05/01/2022
5/1/2022 12:00:00 AM
6/26/2022
05/01/2022
5/1/2022 12:00:00 AM
3/7/2022
03/01/2022
3/1/2022 12:00:00 AM
3/30/2022
03/01/2022
3/1/2022 12:00:00 AM
4/5/2022
03/01/2022
3/1/2022 12:00:00 AM
4/16/2022
03/01/2022
3/1/2022 12:00:00 AM
2/19/2022
01/01/2022
1/1/2021 12:00:00 AM
트랜잭션 8195는 5월 22일에 발생했습니다. monthsstart() 함수는 처음에 연도를 2개월 세그먼트로 나눕니다. 트랜잭션 8195는 5월 1일에서 6월 30일 사이의 세그먼트에 속합니다. 따라서 이 함수는 이 세그먼트의 첫 번째 밀리초, 즉 2022년 5월 1일 오전 12:00:00를 반환합니다.
예 5 – 시나리오
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
Loans라는 테이블에 로드되는 대출 잔액 집합이 포함된 데이터 집합.
대출 ID, 월초 잔액, 각 대출에 연간 부과되는 단순 이자율로 구성된 데이터.
최종 사용자는 선택한 기간 동안 각 대출에 대해 발생한 현재 이자를 대출 ID별로 표시하는 차트 개체를 원합니다. 회계 연도는 1월에 시작됩니다.