找文章 / 找答案
精选问答 更多内容

[常用脚本] 已有工作日对照表,脚本中工作日的计算

johnsz玄铁三 显示全部楼层 发表于 2024-8-10 11:12:48 |阅读模式 打印 上一主题 下一主题

你好,有如下的脚本,
某表的有进入日期和离开日期字段,然后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 关注Ta

2024-08-10 11:12:49

计算列是要用两个字段来相减的,数据只有一个日期字段,生成不了 自然日的新的一列。 dategap用脚本是可以比较两个参数的大小,计算出差值,只是一个值。 不知道你想得到什么结果
查看完整内容
回复

使用道具 举报

精彩评论4

yhdata_lyaa 显示全部楼层 发表于 2024-8-10 11:12:49
计算列是要用两个字段来相减的,数据只有一个日期字段,生成不了 自然日的新的一列。
dategap用脚本是可以比较两个参数的大小,计算出差值,只是一个值。
不知道你想得到什么结果
回复

使用道具 举报

johnsz玄铁三 显示全部楼层 发表于 2024-8-10 11:17:12
补充一下,可能思路是1.如何用脚本结合已有的工作日对应关系,在dategap基础上扣除掉非工作日?或者2.怎么用networkdays函数来实现也可以。
回复

使用道具 举报

johnsz玄铁三 显示全部楼层 发表于 2024-8-10 11:20:26
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:22
最后还是在sql里面实现的,对脚本来说太复杂
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部