这样能够最好的利用日期数据的特性,而不是将日期数据仅仅作为数值型数据进行运算。
- data datetime;
- input stkcd date ;
- date_in_point1=intnx('month', date, 1, 'E'); /* 移动到下个月初 */
- date_in_point2=intnx('month', date, 1, 'B'); /* 移动到下个月末 */
- date_in_point3=intnx('year', date, -1, 'E'); /* 移动到去年末 */
- date_in_point4=intnx('qtr', date, -1, 'E'); /* 移动到上个季度底 */
- * 取[-1, -13]月度窗口;
- date_interval_right1=intnx('month', date, -2, 'E');
- date_interval_left1=intnx('month', date, -13, 'B');
- * 取过去8个季度;
- date_interval_right2=intnx('qtr', date, -1, 'E');
- date_interval_left2=intnx('qtr', date, -8, 'B');
- format date date_in_point1 date_in_point2 date_in_point3 date_in_point4
- date_interval_left1 date_interval_left2 date_interval_right1 date_interval_right2
- mmddyy10.;
-
- label date_in_point1='移动到下个月初'
- date_in_point2='移动到下个月初'
- date_in_point3='移动到去年末'
- date_in_point4='移动到上个季度底'
- date_interval_left1='取[-1, -13]月度窗口开始'
- date_interval_right1='取[-1, -13]月度窗口结束'
- date_interval_left2='取过去8个季度开始'
- date_interval_right2='取过去8个季度结束';
-
- datalines;
- 0000001 20000
- 0000001 20030
- 0000002 20060
- 6000003 20090
- 6000020 20120
- ;
- run;
- proc print data=datetime label; run;



雷达卡




京公网安备 11010802022788号







