2017-02-18 22 views
0

私は2つのデータセットDAとDBを持っていますが、どちらも変数ssnを含み、ssnでソートされています。 DAにDBにリストされていないssnが含まれているかどうか、またその逆も確認できますか?私はprocと比較したと考えましたが、比較手続きは同じ位置の観測値だけを比較することができます。両方のデータセットは100-00-0003を含むが、例えば、SAS:2つのデータセットの同じ変数が異なるかどうかをチェックする方法は?

data DA; 
    input ssn &; 
    datalines; 
    100-00-0001 
    100-00-0003 
    100-00-0004 
; 


data DB; 
    input ssn &; 
    datalines; 
    100-00-0001 
    100-00-0002 
    100-00-0003 
; 

場合、比較の結果は、100-00-0003と100-00-0004が表示されます。この問題を解決するには?

答えて

1

SSNで2つのデータセットをまとめて、異なるデータセットに出力します。

data A_only B_only; 
    merge DA(in = a keep = SSN) 
     DB(in = b keep = SSN); 
    by SSN; 
    if a and not(b) then output a_only; 
    if b and not(a) then output b_only; 
run; 
0

PROC COMPAREでIDステートメントを使用できます。未テスト:

proc compare base=da compare=db listobs ; 
    id SSN ; 
run ; 

データセットに出力するオプションもあります。

0

使用のproc SQL:

proc sql; 
    select * from DA where ssn not in(select ssn from DB); 
    select * from DB where ssn not in(select ssn from DA); 
quit; 
関連する問題