前のページ|次のページ

UNIQUESAVE=データセットオプション

重複しないインデックスが付いたデータセットにオブザベーションを追加または挿入するときに、重複するキー値を含むオブザベーション(拒否されたオブザベーション)を別のデータセットに保存するように指定します。

該当要素: PROC APPENDおよびPROC SQL
使用要素: SPDSUSDS自動マクロ変数
デフォルト: NO
操作: SYNCADD=データセットオプション
エンジン: SPD Engineのみ

構文

UNIQUESAVE=YES | NO

必須引数

YES

SYNCADD=NOの場合、拒否されたオブザベーションがシステム作成された別のデータセットに書き込まれます。このデータセットにアクセスするには、マクロ変数SPDSUSDSを参照します。

NO

拒否されたオブザベーションは別のデータセットに書き込まれません。

詳細

インデックスが重複しないデータセットにオブザベーションを追加するときに、データセットオプションSYNCADD=NOが設定されている場合は、UNIQUESAVE=YESを使用します。
SYNCADD=NOでは、追加操作または挿入操作で、オブザベーションを一度に1つずつではなくブロック単位で処理(パイプライン処理)するように指定されます。すべてのオブザベーションがデータセットに適用されて初めて、重複インデックス値が検出されます。UNIQUESAVE=YESの場合、拒否されたオブザベーションは別のデータセットに保存され、その名前がSPD Engineマクロ変数SPDSUSDSに格納されます。データセット名のかわりにそのマクロ変数を指定して、拒否されたオブザベーションを識別できます。
注: SYNCADD=YESの場合、UNIQUESAVE=オプションは無視されます。詳細については、SYNCADD=データセットオプションを参照してください。

例: APPENDプロシジャでのUNIQUESAVE=オプションの使用

次の例では、2つの重複しないインデックスが付いたデータセットが作成され、次に、重複値がある別のデータセットが最初のデータセットに追加されます。UNIQUESAVE=YESオプションが指定されているため、拒否されたオブザベーションを含むデータセットが作成されます。そのデータセットには、重複値があった変数を識別する変数が含まれます。SASログは次のとおりです。
UNIQUESAVE=オプション
1 libname employee spde 'c:\temp'; NOTE:Libref EMPLOYEE was successfully assigned as follows:Engine:        SPDE Physical Name:c:\temp\ 2 3 data employee.emp1 (index=(phone/unique room/unique)); 4 input name $ phone room; 5 list; 6 datalines; RULE:      ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+ 7 Jill 4344 456 8 Jack 5589 789 9 Jim 8888 345 10 Sam 3334 657 NOTE:The data set EMPLOYEE.EMP1 has 4 observations and 3 variables.11   run; 12 13   data employee.emp2; 14      input name $ phone room; 15      list; 16      datalines; RULE:      ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+ 17 Jack 8443 679 18 Ann 3334 987 19 Sam 8756 346 20 Susan 5321 456 NOTE:The data set EMPLOYEE.EMP2 has 4 observations and 3 variables.21   run; 22 23   proc append base=employee.emp1(syncadd=no uniquesave=yes) NOTE:Writing HTML Body file: sashtml.htm 24               data=employee.emp2; 25   run; NOTE:Appending EMPLOYEE.EMP2 to EMPLOYEE.EMP1.注:There were 4 observations read from the data set EMPLOYEE.EMP2.注:2 observations added.注:The data set EMPLOYEE.EMP1 has 6 observations and 3 variables.WARNING:Duplicate values not allowed on index phone for file EMP1, 1 observations rejected.WARNING:Duplicate values not allowed on index room for file EMP1, 1 observations rejected.注:Duplicate records have been stored in file EMPLOYEE._SPDEDUP048604700067A9F340C7E3E6.26 27   proc print data=employee.emp1; 28      title 'Listing of Final Data Set'; 29   run; NOTE:There were 6 observations read from the data set EMPLOYEE.EMP1.30 31   proc print data=&spdsusds 32      title 'Listing of Rejected observations'; 33   run; NOTE:There were 2 observations read from the data set EMPLOYEE._SPDEDUP048604700067A9F340C7E3E6.
UNIQUESAVE=YES
UNIQUESAVE=YES
拒否されたオブザベーション
拒否されたオブザベーション
前のページ|次のページ|ページの先頭へ