2017-10-11 10 views
0

宿題に問題があります。ここに質問があります:SASデータセットをマージしますが、一般的な観察のみを維持してください

a。新しいデータセット、work.prodsupを作成するために SUPPLIER_IDによってproduct_listサプライヤーをマージします。

b。プログラムを提出し、work.prodsupが556 の観測値で作成されたことを確認します。

c。 product_listにある 個の観測値だけを出力するようにDATAステップを変更しますが、サプライヤは出力しないでください。

パート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; 
をソートするために持っていたことが一つだけのデータセットではなく、他のではないという観察を含むように出力を変更する機能は何ですか?

答えて

2

あなたのMERGE文に= 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

関連する問題