在使用SAS进行数据分析时候经常需要对日期进行处理和调用,因为数据库的文件大部分都有yyyymmdd格式的日期后缀。借助日历表我们就可以更加灵活的对数据集进行调用。
下面我们使用SAS创建日历表calendar,该表共包含十个字段,序号n,日期date,年year,月month,日day,星期几weekday,是否是工作日isworkday,对应当月第几个工作日workday,当月工作日天数workdays,对应的工作日working_day(如果是工作日则对应自身,如果是非工作日则对应上一个工作日)
/*dd为上一年最后一个工作日,元旦假期对应到该工作日*/
%let dd = 20191230;
/*导入公共假期以及调班信息*/
data public;
input date:date9. isworkday:best12. holiday_nm:$20.;
format date yymmdd10.;
datalines;
'01jan2020'd 0 元旦
'19jan2020'd 1 春节调班
'24jan2020'd 0 春节
'25jan2020'd 0 春节
'26jan2020'd 0 春节
'27jan2020'd 0 春节
'28jan2020'd 0 春节
'29jan2020'd 0 春节
'30jan2020'd 0 春节
'01feb2020'd 1 春节调班
'04apr2020'd 0 清明
'05apr2020'd 0 清明
'06apr2020'd 0 清明