全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1012 4
2022-11-01
有80个日期变量,这些变量里有的是字符型,有的是数值型,现在想把它们批量改为数值型date9.的格式,该如何操作?
原数据如下:
二维码

扫码加我 拉你入群

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

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

全部回复
2022-11-4 14:57:59
为啥我发的原数据图片显示不出来啊
二维码

扫码加我 拉你入群

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

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

2022-11-9 16:15:32
有一个思路可以考虑一下:
用proc contents获取该表的变量名和变量类型,再分类型循环获取后更改
二维码

扫码加我 拉你入群

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

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

2022-11-9 17:42:33
绣球 发表于 2022-11-9 16:15
有一个思路可以考虑一下:
用proc contents获取该表的变量名和变量类型,再分类型循环获取后更改
我查到一个程序就是这样做的,但是我不会写循环的程序,好像要用到宏,我就不会批量改变量类型了
二维码

扫码加我 拉你入群

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

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

2022-11-9 17:50:12
绣球 发表于 2022-11-9 16:15
有一个思路可以考虑一下:
用proc contents获取该表的变量名和变量类型,再分类型循环获取后更改
这个程序是将数值转换为字符,我看不懂。
proc contents data=a1 out=cont noprint; run;

proc sql noprint;
select compress(name||'='||'_'||name) into: renames separated by' '
from cont
where type=1 ;

select compress(name||'=strip(put(_'||name||", $12.));")into: tochar separated by' '
from cont
where type=1 ;  
quit;

%put "content:  &tochar";

data a_new;
set a1 (rename=(&renames.));
&tochar;
drop _: ;
run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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