date - 考虑到工作日的星期六,我如何计算两个日期之间的工作日数?
问题描述
我有一个事件的第一天和最后一天的数据集。我需要计算两个日期之间的工作日数。但是,我需要将星期六视为工作日。我怎样才能做到这一点?
这是与我的数据集完全相同的示例,但更小。在运行所有内容之前,我一直在使用它来测试代码:
data testing_weekdays;
input id $ date_1 date9. id2 $ dat2_2 date9.;
format date_1 date9. dat2_2 date9.;
datalines;
AA 01jan2019 AA 25jan2019
BB 02feb2019 BB 12feb2019
CC 10aug1990 CC 05jan1995
DD 11dec1999 DD 21dec1999
;
run;
当我将 intck 函数与参数“工作日”一起使用时,考虑到星期六和星期日都是周末,我得到了不同之处。但我想只考虑星期天。
我在 SAS 社区看到了这个解决方案:https://communities.sas.com/t5/SAS-Programming/Sunday-to-Saturday-work-day/td-p/338412,但我不能让它工作。
解决方案
您可以使用 sas 函数 intck 来查找所需的间隔。在您的示例中,以下将是语句:
data want;
set testing_weekdays;
wkdays=intck('WEEKDAY1W',date_1,dat2_2);
run;
您可以为工作日间隔使用不同的格式。日子编号为星期日 (1) .. 星期六 (7)。因此,如果您想将星期日保留为周末,则使用 WEEKDAY1W 作为间隔。假设您希望将星期一(2)、星期三(4)作为周末,然后使用 - WEEKDAY24W
推荐阅读
- azure - Azure B2C 自定义策略 + OpenID 连接 c# 库
- c - gcc for ARM refuses to include Newlib standard directories
- c++ - 模板相关参数的类模板参数推导
- kubernetes - 如何解释 Kubernetes Calico Networking 路由表上的几点?
- javascript - 获取 2 条或多条路径相交的边界框
- java - Android:在特定时间戳调用方法
- javascript - 如何在映射键的空数组中推送元素
- python - 在给定的翻转次数中查找特定数量的正面和反面的所有组合
- sql - 如何按类型计算值并将列转换为行
- google-sheets - 如何在电子表格(谷歌表格)中附加字母字符?