lastworkdate - 指令碼與圖表函數
lastworkdate 函數會傳回如果開始於 start_date,並考慮到所有選用列出的 holiday,而可達到 no_of_workdays (週一至週五) 的最早結束日期。start_date 和 holiday 皆應為有效的日期或時間戳記。
語法:
lastworkdate(start_date, no_of_workdays {, holiday})
傳回資料類型:雙值
引數:
引數 | 描述 |
---|---|
start_date | 要評估的開始日期。 |
no_of_workdays | 要達到的工作日數目。 |
holiday |
從工作日排除的假日期間。假日期間指定為開始日期和結束日期,以逗號分隔。 範例: '25/12/2013', '26/12/2013' 您可以排除多個假日期間,以逗號分隔。 範例: '25/12/2013', '26/12/2013', '31/12/2013', '01/01/2014' |
範例與結果:
這些範例使用日期格式 DD/MM/YYYY。日期格式在您的載入指令碼頂部的 SET DateFormat 陳述式中指定。變更範例中的格式以符合您的要求。
範例 1:
lastworkdate ('19/12/2014', 9)
傳回 '31/12/2014'
範例 2:
lastworkdate ('19/12/2014', 9, '2014-12-25', '2014-12-26')
傳回 '02/01/2015,將兩日假期納入考量。
範例 3:
新增範例指令碼到您的文件中並加以執行。然後至少將結果資料行中所列的欄位新增至您文件中的工作表,以查看結果。
ProjectTable:
LOAD *, recno() as InvID INLINE [
StartDate
28/03/2014
10/12/2014
5/2/2015
31/3/2015
19/5/2015
15/9/2015
] ;
NrDays:
Load *,
LastWorkDate(StartDate,120) As EndDate
Resident ProjectTable;
Drop table ProjectTable;
產生的表格顯示表格中各記錄的 LastWorkDate 傳回值。
InvID | StartDate | EndDate |
---|---|---|
1 | 28/03/2014 | 11/09/2014 |
2 | 10/12/2014 | 26/05/2015 |
3 | 5/2/2015 | 27/07/2015 |
4 | 31/3/2015 | 14/09/2015 |
5 | 19/5/2015 | 02/11/2015 |
6 | 15/9/2015 | 29/02/2016 |