永洪社区

标题: 已有工作日对照表,脚本中工作日的计算 [打印本页]

作者: johnsz    时间: 2024-8-10 11:12
标题: 已有工作日对照表,脚本中工作日的计算

你好,有如下的脚本,
某表的有进入日期和离开日期字段,然后first_date和second_date是文本参数关联的时间戳参数,供用户选择开始和结束的日期范围,
点击查询按照如下脚本的逻辑生成计算列

if(formatDate(parseDate(col['进入日期'],"yyyy-MM-dd"),"yyyyMMdd") <=
formatDate((param['first_date']),"yyyyMMdd") &&
formatDate(parseDate(col['离开日期'],"yyyy-MM-dd"),"yyyyMMdd")>=
formatDate((param['second_date']),"yyyyMMdd"))
{dateGap((param['first_date']),(param['second_date']),"dayofyear")-(-1);


这个计算列生成的dateGap是自然日的计算

在如上背景基础上,已提供了一张表如下,有没有办法通过脚本参数来调用如下的表,结合如上脚本逻辑,得到工作日的结算列

日期               日期类型
。。。
2024-08-09   工作日
2024-08-10   非工作日
2024-08-11   非工作日
2024-08-12    工作日
。。。

作者: yhdata_lyaa    时间: 2024-8-10 11:12
计算列是要用两个字段来相减的,数据只有一个日期字段,生成不了 自然日的新的一列。
dategap用脚本是可以比较两个参数的大小,计算出差值,只是一个值。
不知道你想得到什么结果
作者: johnsz    时间: 2024-8-10 11:17
补充一下,可能思路是1.如何用脚本结合已有的工作日对应关系,在dategap基础上扣除掉非工作日?或者2.怎么用networkdays函数来实现也可以。

作者: johnsz    时间: 2024-8-10 11:20
networkdays函数返回两个日期间的全部工作日数。需要指定节假日,目前的问题是,指定的节假日在一张表里面
第三个参数,可以从这个表里面取出来,变成一个数值传到这个第三个参数吗?
日期               日期类型
。。。
2024-08-09   工作日
2024-08-10   非工作日
2024-08-11   非工作日
2024-08-12    工作日
。。。
参考https://www.yonghongtech.com/rea ... 5%E4%BD%9C%E6%97%A5  ,
作者: johnsz    时间: 2024-8-13 11:04
最后还是在sql里面实现的,对脚本来说太复杂




欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4