楼主: burnpark
2012 4

[问答] 修改日期的问题 [推广有奖]

  • 1关注
  • 2粉丝

讲师

21%

还不是VIP/贵宾

-

威望
0
论坛币
2980 个
通用积分
6.9000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
4279 点
帖子
131
精华
0
在线时间
591 小时
注册时间
2009-3-17
最后登录
2023-3-5

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请教两个问题,
问题1:


%LET YYYYMM0=201303;       
%LET base_rec_date=%SYSFUNC(mdy(%substr(&YYYYMM0,5,2),1,%substr(&YYYYMM0,1,4)),date9.);


data _null_;

call symputx('YMDF2Y',put(intnx('month',"&base_rec_date"d,-23),yymmddn8.)); run;


我想把上面程序的&base_rec_date部分改为
参照CRM.CST_BOOKING表里的DPT_DT变量值要怎么做?



*DPT_DT的值是8位的日期(YYYYMMDD)




问题2:
YMD_EXP=COMPRESS(INPUT(SUBSTR(DPT_DT,1,4),4.)+2||SUBSTR(DPT_DT,5,2)||31);
这个值是生成YMD_EXP变量,它的日期值相当于DPT_DT的两年后的当月月末日期。
比如DPT_DT是20111012的话, 生成的YMD_EXP就等于20131031。
我想把它改为,DPT_DT的两年后同一日期的前一天。
比如DPT_DT是20111012的话,生成的YMD_EXP等于20131011。


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:compress booking sysfunc SUBSTR symput null

沙发
yongyitian 发表于 2013-5-8 10:43:04 |只看作者 |坛友微信交流群
/* question 1 */

data work.CST_Booking;
    format  DPT_DT yymmdd8.;
   informat DPT_DT yymmdd8.;
input DPT_DT;
datalines;
20090101
20080101
; run;

data _null_;
set work.cst_booking;
call symputx('YMDF2Y',put(intnx('month',DPT_DT,-23),yymmddn8.));
run;
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
burnpark + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

藤椅
Eternal0601 发表于 2013-5-8 10:56:22 |只看作者 |坛友微信交流群
/*question2*/
%LET YYYYMM0=201303;      
%LET base_rec_date=%SYSFUNC(mdy(%substr(&YYYYMM0,5,2),1,%substr(&YYYYMM0,1,4)),date9.);


data _null_;
DPT_DT=put(intnx('month',"&base_rec_date"d,-23),yymmddn8.);
put  DPT_DT=;

YMD_EXP=COMPRESS(INPUT(SUBSTR(DPT_DT,1,4),4.)+2||SUBSTR(DPT_DT,5,2)||'31');
put  YMD_EXP=;

YMD_EXP2=COMPRESS(INPUT(SUBSTR(DPT_DT,1,4),4.)+2||SUBSTR(DPT_DT,5,2)||SUBSTR(DPT_DT,7,2));
put  YMD_EXP2=;

YMD_EXP3=intnx('day',input( YMD_EXP2,yymmdd8.),-1);
put  YMD_EXP3  date9.;
run;
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
burnpark + 1 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

板凳
yongyitian 发表于 2013-5-8 11:30:54 |只看作者 |坛友微信交流群
/* Question 2 */
data work.CST_Booking;
    format  DPT_DT yymmdd8.;
   informat DPT_DT yymmdd8.;
input DPT_DT;
datalines;
20090101
20080101
; run;

data test;
format YMD_EXP yymmdd8.;
set work.cst_booking;
YMD_EXP = intnx('month', DPT_DT, 24, 'sameday')-1;
call symputx('YMDF2Y',put(intnx('month',DPT_DT,-23),yymmddn8.));
run;
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
burnpark + 1 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

报纸
alex1122 发表于 2014-5-8 11:30:44 |只看作者 |坛友微信交流群
日期转换学习了,谢谢。

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-8 12:27