inmonthstodate - 스크립트 및 차트 함수
이 함수는 타임스탬프가 base_date의 마지막 밀리초를 포함하여 월, 2개월, 분기, 4개월 기간 또는 6개월 내에 속하는지 여부를 찾습니다. 또한 타임스탬프가 이전 기간 또는 다음 기간 내에 속하는지도 알아낼 수 있습니다.
구문:
InMonths (n_months, timestamp, base_date, period_no[, first_month_of_year ])
반환 데이터 유형: 부울
인수:
인수 | 설명 |
---|---|
n_months |
기간을 정의하는 개월 수입니다. 정수 또는 정수로 처리되는 표현식으로, 1(inmonth() 함수와 동일), 2(2개월), 3(inquarter() 함수와 동일), 4(4개월 기간) 또는 6(6개월) 중 하나여야 합니다. |
timestamp | base_date와 비교할 날짜입니다. |
base_date | 기간을 평가하는 데 사용되는 날짜입니다. |
period_no |
기간은 period_no, 정수 또는 정수로 처리되는 표현식으로 오프셋을 지정할 수 있습니다. 값 0은 base_date를 포함하는 기간을 나타냅니다. period_no가 음수 값일 경우 이전 기간, 양수 값일 경우 다음 기간을 나타냅니다. |
first_month_of_year |
1월에 시작되지 않는 (회계)연도를 사용하려는 경우 first_month_of_year에 2와 12 사이의 값을 지정하십시오. |
예 및 결과:
아래 예에서는 날짜 서식 DD/MM/YYYY를 사용합니다. 날짜 서식은 로드 스크립트 맨 위에서 SET DateFormat 문으로 지정됩니다. 이 예제의 서식을 필요에 따라 변경하십시오.
예 1:
inmonthstodate(4, '25/01/2013', '25/04/2013', 0)
True을 반환합니다. timestamp 값인 25/01/2013이 base_date 값인 25/04/2013이 속하는 01/01/2013 ~ 25/04/2013의 4개월 기간 내에 포함되기 때문입니다.
예 2:
inmonthstodate(4, '26/04/2013', '25/04/2006', 0)
False을 반환합니다. 26/04/2013이 이전 예와 동일한 기간에서 벗어나기 때문입니다.
예 3:
inmonthstodate(4, '25/09/2005', '01/02/2006', -1)
True을 반환합니다. period_no 값인 -1이 검색 기간을 역방향으로 4개월(n-months 값)을 1회 시프트하기 때문으로, 이렇게 하면 검색 기간이 01/09/2005 ~ 01/02/2006.로 지정됩니다.
예 4:
inmonthstodate(4, '25/04/2006', '01/06/2006', 0, 3)
True을 반환합니다. first_month_of_year 값을 3으로 지정했기 때문으로, 이렇게 하면 검색 기간이 01/03/2006 ~ 01/06/2006 대신 01/05/2006 ~ 01/06/2006으로 지정됩니다.
예 5:
예제 스크립트를 문서에 추가하고 실행합니다. 그런 다음, 결과를 보기 위해 결과 열에 나열된 필드를 문서의 시트에 추가합니다.
이 예에서는 테이블의 송장 날짜가 2개월 기간을 4회 앞으로 시프트(period_no를 4로 지정)한 base_date까지 포함하는 최대 2개월 기간의 일부에 속하는지 확인합니다.
TempTable:
LOAD RecNo() as InvID, * Inline [
InvDate
28/03/2012
10/12/2012
5/2/2013
31/3/2013
19/5/2013
15/9/2013
11/12/2013
2/3/2014
14/5/2014
13/6/2014
7/7/2014
4/8/2014
];
InvoiceData:
LOAD *,
InMonthsToDate(2, InvDate, '15/02/2013', 4) AS InMths2DPlus4
Resident TempTable;
Drop table TempTable;
결과 테이블에는 원래 날짜와 InMonths() 함수의 반환 값이 표시된 열이 포함됩니다.
검색 기간은 01/09/2013 ~ 15/10/2013으로, base_date 값이 함수의 값(15/02/2013)에서 8개월 앞으로 시프트되었기 때문입니다.
InvDate | InMths2DPlus4 |
---|---|
28/03/2012 | 0 (False) |
10/12/2012 | 0 (False) |
5/2/2013 | 0 (False) |
31/3/2013 | 0 (False) |
19/5/2013 | 0 (False) |
15/9/2013 | -1 (True) |
11/12/2013 | 0 (False) |
2/3/2014 | 0 (False) |
14/5/2014 | 0 (False) |
13/6/2014 | 0 (False) |
7/7/2014 | 0 (False) |
4/8/2014 | 0 (False) |