楼主: caliphcheng
3623 10

[问答] 关于MERGE和SET命令的应用的 大神来帮忙看看 已经想了2小时了 [推广有奖]

  • 0关注
  • 0粉丝

本科生

4%

还不是VIP/贵宾

-

威望
0
论坛币
5 个
通用积分
0.0173
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1574 点
帖子
49
精华
0
在线时间
38 小时
注册时间
2012-4-10
最后登录
2016-12-8

楼主
caliphcheng 发表于 2012-9-7 07:52:58 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
有两个Dataset:
DatasetONE:
  

AREA

  

SALPROF


  

N

  

230


  

N

  

210


  

Ne

  

340


  

S

  

170


  
  






DatasetTWO:

AREA


  

SALE

  

N


  

220

  

E


  

110

  

Ne


  

210

  

Ma


  

180

  

S


  

120

  

要怎么使用MERGE和SET命令才能让输出结果变成这货:

                                 Obs    AREA   SALEPROF    SALE


                                  1        E                     .      110

                                  2        MA                  .       180

                                  3        N               230       220

                                  4        N               210       220

                                  5        NE             340       210

                                  6        S               170       120


求大神指点!

为了方便大神们操作,我把Dataset的代码贴上来:

data DatasetONE;
input area $ saleprof;
cards;
N  230
N  210
NE 340
S  170
;
DATA DatasetTWO;
input area $ sale;
cards;
n  220
e  110
ne 210
ma 180
s  120
;


在线等~~~~

二维码

扫码加我 拉你入群

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

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

关键词:Merge Set dataset DataS Input 应用

回帖推荐

ttklkl 发表于5楼  查看完整内容

proc sort data=datasetone; by area; run; proc sort data=datasettwo; by area; run; data datasetthree; merge datasetone datasettwo; by area; run;

本帖被以下文库推荐

沙发
空山空语 在职认证  发表于 2012-9-7 08:44:51
导入数据后,用upcase函数把datasettwo中area大写,然后进行merge
等待

藤椅
caliphcheng 发表于 2012-9-7 08:53:43
空山空语 发表于 2012-9-7 08:44
导入数据后,用upcase函数把datasettwo中area大写,然后进行merge
大小写也有关系的么? dataset输入SAS的命令是我自己打的 要改大写的话直接改就是了 能请教下怎么变成那个目标表格么

板凳
空山空语 在职认证  发表于 2012-9-7 09:05:11
如果刚开始就是大写的话,先用proc sort 对两个dataset按照area排序;最后merge,比如
data dataset;
merge datasetone datasettwo;
by area;
run;
等待

报纸
ttklkl 发表于 2012-9-7 09:06:59
proc sort data=datasetone;
  by area;
run;

proc sort data=datasettwo;
  by area;
run;

data datasetthree;
  merge datasetone datasettwo;
  by area;
run;
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

Stay Hungry. Stay Foolish.

地板
李会超 发表于 2012-9-7 09:10:51
这种MERGE会不会产生产生三个N啊
学无止境,坚持!

7
李会超 发表于 2012-9-7 09:14:52
好像是这样合并
学无止境,坚持!

8
caliphcheng 发表于 2012-9-7 09:30:58
空山空语 发表于 2012-9-7 09:05
如果刚开始就是大写的话,先用proc sort 对两个dataset按照area排序;最后merge,比如
data dataset;
me ...
真的可以了 感谢大神

9
caliphcheng 发表于 2012-9-7 09:31:50
ttklkl 发表于 2012-9-7 09:06
proc sort data=datasetone;
  by area;
run;
对了!谢谢大神

10
caliphcheng 发表于 2012-9-7 09:49:04
李会超 发表于 2012-9-7 09:10
这种MERGE会不会产生产生三个N啊
我也不知道为神马只有两个N了 目前正在研究merge

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

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