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를 사용하는 경우
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 Cloud 사용자 인터페이스에 표시되는 언어와 관련이 없습니다. Qlik Cloud는 사용 중인 브라우저와 동일한 언어로 표시됩니다.
'bi_monthly_start' 필드는 monthsstart() 함수를 사용하여 선행 LOAD 문에서 만들어집니다. 제공된 첫 번째 인수는 2이며, 연도를 2개월 세그먼트로 나눕니다. 두 번째 인수는 평가 중인 필드를 식별합니다.
monthsstart() 함수 다이어그램, 추가 인수가 없는 예
트랜잭션 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개월 세그먼트의 시작 타임스탬프를 검색합니다.
결과 테이블
날짜
=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
monthsstart() 함수의 다이어그램, 차트 개체 예
트랜잭션 8195는 5월 22일에 발생했습니다. monthsstart() 함수는 처음에 연도를 2개월 세그먼트로 나눕니다. 트랜잭션 8195는 5월 1일에서 6월 30일 사이의 세그먼트에 속합니다. 따라서 이 함수는 이 세그먼트의 첫 번째 밀리초, 즉 2022년 5월 1일 오전 12:00:00를 반환합니다.
예 5 – 시나리오
개요
데이터 로드 편집기를 열고 새 섹션에 아래 로드 스크립트를 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
Loans라는 테이블에 로드되는 대출 잔액 집합이 포함된 데이터 집합.
대출 ID, 월초 잔액, 각 대출에 연간 부과되는 단순 이자율로 구성된 데이터.
최종 사용자는 선택한 기간 동안 각 대출에 대해 발생한 현재 이자를 대출 ID별로 표시하는 차트 개체를 원합니다. 회계 연도는 1월에 시작됩니다.