2017-10-11 153 views
0

家庭作業問題。以下是問題:合併SAS數據集但只保留常見觀察

a。合併所屬類別供應商通過 Supplier_ID創建一個新的數據集,work.prodsup

b。提交程序並確認work.prodsup是使用556 觀察值創建的。

c。修改DATA步驟以僅輸出product_list中的那些觀察值,但不是供應商

A部分和B部分都完成了,但C部分就是我遇到的問題。

只好排序所屬類別第一

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

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

什麼是修改輸出,使其僅包括在一個數據集而不是其他意見的功能?

回答

2

您可以通過添加= X到您的MERGE語句添加的選擇標準:

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