firstworkdate - 脚本和图表函数
firstworkdate 函数用于返回最近的起始日以获得 no_of_workdays (周一至周五),将任何列出的可选节假日考虑在内,不迟于 end_date 。end_date 和 holiday 应为有效的日期或时间戳。
语法:
firstworkdate( end_date, no_of_workdays {, holiday } )
返回数据类型: 整数
参数:
参数
end_date
要求值的结束日期的时间戳。
no_of_workdays
要实现的工作日天数。
holiday
从工作日排除假期。假日表示为字符串常量日期。您可以指定多个假期日期,以逗号分隔。
示例: '12/25/2013', '12/26/2013', '12/31/2013', '01/01/2014'
示例和结果:
以下示例使用日期格式 DD/MM/YYYY 。日期格式已经在数据加载脚本顶部的 SET DateFormat 语句中指定。可以根据要求更改示例中的格式。
脚本示例
firstworkdate ('29/12/2014', 9)
返回 17/12/2014 。
firstworkdate ('29/12/2014', 9, '25/12/2014', '26/12/2014')
返回 15/12/2014 ,因为已将两天假期考虑在内。
示例:
将示例脚本添加到应用程序并运行。要查看结果,将结果列中列出的字段添加到应用程序中的工作表。
ProjectTable:
LOAD *, recno() as InvID, INLINE [
EndDate
28/03/2015
10/12/2015
5/2/2016
31/3/2016
19/5/2016
15/9/2016
] ;
NrDays:
Load *,
FirstWorkDate(EndDate,120) As StartDate
Resident ProjectTable;
Drop table ProjectTable;
结果列表显示了为表格中的每条记录返回的 FirstWorkDate 值。
结果表
InvID
EndDate
StartDate
1
28/03/2015
13/10/2014
2
10/12/2015
26/06/2015
3
5/2/2016
24/08/2015
4
31/3/2016
16/10/2015
5
19/5/2016
04/12/2015
6
15/9/2016
01/04/2016