楼主: hellofuture
1223 4

[问答] 求助 数据集合并的问题,求大神解救~~ [推广有奖]

  • 0关注
  • 0粉丝

高中生

0%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
138 点
帖子
19
精华
0
在线时间
17 小时
注册时间
2013-3-1
最后登录
2013-6-27

楼主
hellofuture 发表于 2013-3-17 13:24:06 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我要合并两个数据集,但同一个变量在两个数据集里分别是字符型和数值型(一个是$1,一个是best12 ),所以就导致没办法合并.另:这种变量还很多,我数了下有大概30多个。


小弟菜鸟,刚刚接触SAS,老师布置了比较重的任务,求大神指点,不胜感激~~~~


另外附上错误语句,存在问题的两个数据集是fs.all01和fs.all02
未命名.jpg
二维码

扫码加我 拉你入群

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

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

关键词:数据集 不胜感激 Best 数值型 字符型 不胜感激

沙发
Eternal0601 发表于 2013-3-17 14:17:11
出来抛块砖吧,希望对lz有所帮助
data ads;
input a $1 b;
cards;
1 10
2 20
3 30
;
run;

data  bds;
input a :best12. c;
cards;
1 100
2 200
3 300
;
run;

data bds(drop=a rename=(_a=a));
set bds;
_a=put(a,1.);
run;

data combine;
merge ads bds;
by a;
run;

藤椅
hellofuture 发表于 2013-3-17 15:23:43
Eternal0601 发表于 2013-3-17 14:17
出来抛块砖吧,希望对lz有所帮助
data ads;
input a $1 b;
谢谢您的回复~
您的语句是将数值型改为字符型是吗?可不可以把字符型改为数值型呢?我按以下语句试了下,还是有错误呢。

data ads;                                                                                                                              
input a $1 b;                                                                                                                           
cards;                                                                                                                                 
1 10                                                                                                                                    
2 20                                                                                                                                    
3 30                                                                                                                                    
;                                                                                                                                       
run;                                                                                                                                    
                                                                                                                                       
data  bds;                                                                                                                              
input a :best12. c;                                                                                                                     
cards;                                                                                                                                 
1 100                                                                                                                                   
2 200                                                                                                                                   
3 300                                                                                                                                   
;                                                                                                                                       
run;                                                                                                                                    
                                                                                                                                       
data ads(drop=a rename=(_a=a));                                                                                                         
set ads;                                                                                                                                
_a=put(a,6.);                                                                                                                           
run;                                                                                                                                    
                                                                                                                                       
data combine;                                                                                                                           
merge ads bds;                                                                                                                          
by a;                                                                                                                                   
run;

板凳
Eternal0601 发表于 2013-3-17 15:41:38
hellofuture 发表于 2013-3-17 15:23
谢谢您的回复~
您的语句是将数值型改为字符型是吗?可不可以把字符型改为数值型呢?我按以下语句试了下, ...
对的,数值型变为字符型用put function,字符型变为数值型的用input function;
将你程序中的_a=put(a,6.);  改为_a=input(a,best12.);就为问题了         
  

报纸
hellofuture 发表于 2013-3-17 17:38:04
Eternal0601 发表于 2013-3-17 14:17
出来抛块砖吧,希望对lz有所帮助
data ads;
input a $1 b;
非常感谢您~
我从您给的语句中找到了突破点,问题已经解决了,谢谢啦!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 08:01