楼主: sas_
980 4

[问答] 求助:sas如何批量改变变量类型?改变后用于输入数组 [推广有奖]

  • 0关注
  • 0粉丝

高中生

75%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0.2400
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
352 点
帖子
11
精华
0
在线时间
49 小时
注册时间
2022-11-1
最后登录
2023-12-6

楼主
sas_ 发表于 2022-11-1 11:08:48 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
有80个日期变量,这些变量里有的是字符型,有的是数值型,现在想把它们批量改为数值型date9.的格式,该如何操作?
原数据如下:
二维码

扫码加我 拉你入群

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

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

关键词:变量类型 date 如何操作 日期变量 数值型

沙发
sas_ 发表于 2022-11-4 14:57:59
为啥我发的原数据图片显示不出来啊

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

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

报纸
sas_ 发表于 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;

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-21 12:00