家庭作业问题。以下是问题:
一个。合并 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;
修改输出的功能是什么,它只包含一个数据集中的观察值而不包含另一个数据集中的观察值?
答案 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