全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
8962 3
2012-07-20
我现在有如下程序:
data a(drop=_name_);
length date $12.;
set sa_test;
date=substr(trim(left(_NAME_)),2,4)||"-"||substr(trim(left(_NAME_)),6,2)||"-01";
date=input(date,yymmdd10.);
month=put(date,date7.);
run;

经过这步 date=substr(trim(left(_NAME_)),2,4)||"-"||substr(trim(left(_NAME_)),6,2)||"-01"; 之后
date是一系列2010-01-01,2010-02-01,2010-03-01的格式,是文本。
我首先通过input函数转换成yymmdd10.的日期格式,然后像在通过put函数转换成date7.的格式,
可是运行程序总出现 输出格式 $DATE 没有找到或无法加载 的错误
请问一下这是什么原因,有什么办法修改



二维码

扫码加我 拉你入群

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

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

全部回复
2012-7-20 11:38:54
把变量名date改成别的 比如date1
二维码

扫码加我 拉你入群

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

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

2012-7-21 04:52:31
put or input 只是用来读取数字或字符串的,所以,只能是做简单的convert char2int or int2char,比如:new_char=put(num, 4.0) or new_num=input(char4, best4),但不能直接做复杂的日期格式的转换!我想你还需要用format语句来做日期格式的转换。
二维码

扫码加我 拉你入群

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

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

2014-1-31 13:11:19
stormhoof 发表于 2012-7-20 11:38
把变量名date改成别的 比如date1
真心感谢,为这个问题已经头疼了三天了。
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群