inlunarweektodate - 스크립트 및 차트 함수
이 함수는 timestamp가 base_date의 마지막 밀리초까지 포함하여 음력 주의 일부에 속할 경우 true를 반환합니다. QlikView에서 음력 주는 1월 1일을 주의 첫 날로 계산하여 정의됩니다.
구문:
InLunarWeekToDate (timestamp, base_date, period_no [, first_week_day])
반환 데이터 유형: 부울
인수:
인수 | 설명 |
---|---|
timestamp | base_date와 비교할 날짜입니다. |
base_date | 음력 주를 평가하는 데 사용되는 날짜입니다. |
peroid_no | 음력 주는 period_no로 오프셋을 지정할 수 있습니다. period_no는 정수이며, 값 0은 base_date를 포함하는 음력 주를 나타냅니다. period_no가 음수 값일 경우 이전 음력 주, 양수 값일 경우 다음 음력 주를 나타냅니다. |
week_start | 0보다 크거나 작을 수 있는 오프셋입니다. 이 함수는 지정된 일수 및/또는 일의 분위수에 따른 연도 시작 날짜를 변경합니다. |
예 1:
inlunarweektodate('12/01/2013', '13/01/2013', 0)
True을 반환합니다. timestamp의 값인 12/01/2013이 08/01/2013 ~ 13/01/2013 주의 일부에 포함되기 때문입니다.
예 2:
inlunarweektodate('12/01/2013', '11/01/2013', 0)
False을 반환합니다. 두 날짜가 12/01/2012 전의 동일한 음력 주에 속해도 timestamp 값이 base_date 값보다 이후이기 때문입니다.
예 3:
inlunarweektodate('12/01/2006', '05/01/2006', 1)
True을 반환합니다. period_no에 대해 1 값을 지정하면 base_date를 한 주 앞으로 시프트하므로 timestamp 값이 음력 주의 일부에 속하기 때문입니다.
예 4:
예제 스크립트를 문서에 추가하고 실행합니다. 그런 다음, 결과를 보기 위해 결과 열에 나열된 필드를 문서의 시트에 추가합니다.
이 예에서는 송장 날짜가 base_date 값에서 4주 시프트된 주의 일부에 속하는지 확인합니다.
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 *,
InLunarWeekToDate(InvDate, '07/01/2013', 4) AS InLWeek2DPlus4
Resident TempTable;
Drop table TempTable;
결과 테이블에는 원래 날짜와 inlunarweek() 함수의 반환 값이 표시된 열이 포함됩니다.
이 함수는 InvDate5/2/2013 값에 대해 True를 반환하는데, base_date 값인 11/01/2013이 4주 시프트되므로 5/02/2013 ~ 07/02/2013 주에 속하기 때문입니다.
InvDate | InLWeek2DPlus4 |
---|---|
28/03/2012 | 0 (False) |
10/12/2012 | 0 (False) |
5/2/2013 | -1 (True) |
31/3/2013 | 0 (False) |
19/5/2013 | 0 (False) |
15/9/2013 | 0 (False) |
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) |