首页 > 解决方案 > 不使用 BY(id) 的数据步合并

问题描述

我需要使用数据步骤合并两个数据集,如下所示:

Data have1;
x=1; output;
x=2; output;
x=3; output;
Run;

Data have2;
y = 'A';
z = 'B';
Run;

Data want;
Merge have1 have2;
Run;

结果应如下所示:

x   y   z
1   A   B
2   A   B
3   A   B

但是,当我运行合并 SAS 时,只合并第一行并给我以下内容:

x   y   z
1   A   B
2   
3   

我知道这可以使用左连接来完成,但是为了处理完整数据集中的变量,我更喜欢通过合并来完成。有人可以帮忙吗?

标签: sasdatastep

解决方案


变量 Z 是从哪里来的?我想这可能是你想要的。

Data want;
   set have1;
   if _n_ eq 1 then set have2;
   Run;

推荐阅读