合并SAS数据集但仅保留常见的观察结果

时间:2017-10-11 03:36:28

标签: merge sas dataset

家庭作业问题。以下是问题:

一个。合并 product_list 供应商     Supplier_ID 创建新数据集 work.prodsup

湾提交程序并确认使用556创建了work.prodsup    观察结果。

℃。修改DATA步骤以仅输出那些     product_list 中的观察结果,但不是供应商

A部分和B部分完成但部分C是我遇到的问题。

首先要对product_list进行排序

proc sort data=hw2.product_list;
   by Supplier_ID;
run;

data work.prodsup;
   merge hw2.product_list hw2.supplier;
   by Supplier_ID;
run;

修改输出的功能是什么,它只包含一个数据集中的观察值而不包含另一个数据集中的观察值?

1 个答案:

答案 0 :(得分:2)

您可以通过在合并语句中添加in = X来添加选择条件:

data work.prodsup;
    merge hw2.product_list(in=a) hw2.supplier(in=b);
    by Supplier_ID;
    if a and not b;
run;

这就是你想要的,但是你也可以比 proc sql 更快地完成左连接等技巧。

if a; /*Left join*/
if a and b; /*Inner join*/
if b; /*Right join*/

在此处查看有关合并声明的更多信息:https://onlinecourses.science.psu.edu/stat481/node/18