COMPARE プロシジャ
PROC COMPARE ステートメント
2つのSASデータセットのコンテンツ、異なるデータセットの選択変数、または同一データセット内の変数を比較します。
| 制限事項: | COMPARE=を省略する場合は、WITHおよびVARステートメントを使用する必要があります。 |
|---|---|
| ヒント: | OPTIONSステートメントのLINESIZEオプションが、データセットのラベル情報を表示するのに適切な長さを指定していることを確認してください。 |
| CASで2つの不均等なデータセットを比較するときにCHAR変数の長さに問題が発生した場合、LIBNAMEステートメントのNCHARMULTIPLIERオプションの値を変更する必要があります。詳細については、NCHARMULTIPLIER= LIBNAMEステートメントオプション (SAS Cloud Analytic Services: ユーザーガイド)およびLIBNAME ステートメント: CASエンジン (SAS Cloud Analytic Services: ユーザーガイド)を参照してください。 | |
| BASE=オプションとCOMPARE=オプションではデータセットオプションが使用できます。 | |
| 例: | 差異の完全なレポートを作成 |
| 異なるデータセットでの変数の比較 | |
| 同一データセット内での変数の比較 | |
| 出力データセット(OUT=)を使用してオブザベーションの値を比較する | |
| 統計量の出力データセット(OUTSTATS=)の作成 |
構文
オプション引数の要約
Control the details in the default report
ALLOBS
すべてのマッチングオブザベーションの値を含めます。
ALLSTATS
マッチング変数のすべてのペアについて要約統計量テーブルを印刷します。
ALLVARS
すべてのマッチング変数の値と差異をレポートに含めます。
BRIEFSUMMARY
簡潔な比較要約のみを印刷します。
FUZZ=number
0と1の間の数字のレポートを変更します。
MAXPRINT=total | (per-variable, total)
印刷される差異の数を制限します。
NODATE
作成日および最終変更日の印刷を抑制します。
NOPRINT
すべての印刷出力を抑制します。
NOSUMMARY
データセット、変数、オブザベーション、値比較要約レポートを非表示にします。
NOVALUES
値比較結果レポートを非表示にします。
PRINTALL
値と差異の完全リストを作成します。
STATS
不等と判断されたマッチング数値変数のすべてのペアの要約統計量テーブルを印刷します。
TRANSPOSE
変数ごとではなくオブザベーションごとに値差異のレポートを印刷します。
Control the listing of variables and observations
LISTALL
一方のデータセットにしかない変数とオブザベーションをすべてリストに出力します。
LISTBASE
基準データセットにしかない変数とオブザベーションをすべてリストに出力します。
LISTBASEOBS
基準データセットにしかないオブザベーションをすべてリストに出力します。
LISTBASEVAR
基準データセットにしかない変数をすべてリストに出力します。
LISTCOMP
比較データセットにしかない変数とオブザベーションをすべてリストに出力します。
LISTCOMPOBS
比較データセットにしかないオブザベーションをすべてリストに出力します。
LISTCOMPVAR
比較データセットにしかない変数をすべてリストに出力します。
LISTEQUALVAR
値が同等と判断された変数をリストに出力します。
LISTOBS
一方のデータセットにしかないオブザベーションをすべてリストに出力します。
LISTVAR
一方のデータセットにしかない変数をすべてリストに出力します。
Control the output data set
OUT=SAS-data-set
出力データセットを作成します。
OUTALL
BASE=データセットとCOMPARE=データセットのオブザベーションごとに1つずつオブザベーションを書き込みます。
OUTBASE
基準データセットの各オブザベーションに対するオブザベーションを書き込みます。
OUTCOMP
比較データセットのオブザベーションごとに1つずつオブザベーションを書き込みます。
OUTDIF
マッチングオブザベーションのペアごとに1つずつオブザベーションを出力データセットに書き込みます。
OUTNOEQUAL
すべての値が等しい場合、オブザベーションの書き込みを抑制します。
OUTPERCENT
マッチングオブザベーションのペアごとに1つずつオブザベーションを出力データセットに書き込みます。
Create an output data set that contains summary statistics
OUTSTATS=SAS-data-set
マッチング変数のすべてのペアの要約統計量を、指定したSAS-data-setに書き込みます。
Display a warning message in the SAS log
WARNING
差異が見つかると、SASログに警告メッセージを表示します。
Display an error message in the SAS log
ERROR
差異が見つかると、SASログにエラーメッセージを表示します。
Specify how the values are compared
CRITERION=γ
数値の同等性を判断する基準を指定します。
METHOD=ABSOLUTE | EXACT | PERCENT | RELATIVE<(δ)>
数値の同等性を判断するメソッドを指定します。
NOMISSBASE
基準データセットの欠損値をすべての値と同等であると判断します。
NOMISSCOMP
比較データセットの欠損値をすべての値と同等であると判断します。
NOMISSING
基準データセットと比較データセットの両方にある欠損値を、すべての値と同等であると判断します。
Specify the data sets to compare
BASE=SAS-data-set
基準データセットとして使用するデータセットを指定します。
COMPARE=SAS-data-set
比較データセットとして使用するデータセットを指定します。
Write notes to the SAS log
NOTE
比較結果を説明する注釈をSASログに表示します。
オプション引数
ALLOBS
すべてのマッチングオブザベーションについて、同等と判断された場合でも、値および(数値の場合は)差異を値比較結果のレポートに含めます。
| デフォルト | ALLOBSを省略すると、PROC COMPAREは不等と判断されたオブザベーションの値のみを印刷します。 |
|---|---|
| 操作 | TRANSPOSEオプションと併せて指定すると、ALLOBSはALLVARSオプションを呼び出して、すべてのマッチングオブザベーションとマッチング変数の値を表示します。 |
ALLSTATS
マッチング変数のすべてのペアについて要約統計量テーブルを印刷します。
| 参照項目: | 要約統計量のテーブル(生成された統計量について) |
|---|
ALLVARS
マッチング変数のすべてのペアについて、同等と判断された場合でも、値および(数値の場合は)差異を値比較結果のレポートに含めます。
| デフォルト | ALLVARSを省略すると、PROC COMPAREは不等と判断された変数の値のみを印刷します。 |
|---|---|
| 操作 | TRANSPOSEオプションとあわせて指定すると、ALLVARSは他のマッチング変数の値と前後関係のある不等値のみ表示します。TRANSPOSEオプションを省略すると、ALLVARSはALLOBSオプションを呼び出して、すべてのマッチングオブザベーションとマッチング変数の値を表示します。 |
BASE=SAS-data-set
基準データセットとして使用するデータセットを指定します。
| 別名 | DATA= |
|---|---|
| B= | |
| デフォルト | 一番最近に作成されたSASデータセット |
| ヒント | WHERE=データセットオプションをBASE=オプションと併せて使用すると、比較に使用可能なオブザベーションを限定できます。 |
BRIEFSUMMARY
簡潔な比較要約のみを生成して、4つのデフォルト要約レポート(データセット要約レポート、変数要約レポート、オブザベーション要約レポート、値比較要約レポート)を抑制します。
| 別名 | BRIEF |
|---|---|
| ヒント | デフォルトでは、要約レポートに伴って値差異のリストが作成されます。リストの作成を抑制するには、NOVALUESオプションを使用します。 |
| 例 | 同一データセット内での変数の比較 |
COMPARE=SAS-data-set
比較データセットとして使用するデータセットを指定します。
| 別名 | COMP= |
|---|---|
| C= | |
| デフォルト | COMPARE=オプションを指定すると、比較データセットは基準データセットと同じになり、PROC COMPAREはデータセット内の変数を比較します。 |
| 制限事項 | COMPARE=を省略する場合は、WITHおよびVARステートメントを使用する必要があります。 |
| ヒント | 比較に使用可能なオブザベーションを制限するには、WHERE=データセットオプションをCOMPARE=とあわせて使用します。 |
CRITERION=γ
数値の同等性を判断する基準を指定します。 通常、γ(ガンマ)の値は正です。この場合、その数自体が同等性の基準となります。γに負の値を使用すると、PROC COMPAREは、SASを実行しているコンピューターの精度に比例した同等性基準を使用します。
| 別名 | CRITERIA= |
|---|---|
| CRIT= | |
| デフォルト | 0.00001 |
| 参照項目: | 同等性の基準 |
ERROR
差異が見つかると、SASログにエラーメッセージを表示します。
| 操作 | このオプションは、WARNINGオプションよりも優先されます。 |
|---|
FUZZ=number
numberより小さい数字の値比較結果を変更します。PROC COMPAREは次のとおりに印刷します。
- numberよりも小さいすべての変数値の代わりに0を印刷
- numberよりも小さい差異またはパーセント表示の差異の代わりにブランクを印刷
- numberよりも小さいすべての要約統計量のかわりに0を印刷
| デフォルト | 0 |
|---|---|
| 範囲 | 0 - 1 |
| ヒント | 些細な差異を多く含むレポートは、この形式の方が読みやすくなります。 |
LISTALL
一方のデータセットにしかない変数とオブザベーションをすべてリストに出力します。
| 別名 | LIST |
|---|---|
| 操作 | LISTALLの処理は、LISTBASEOBS、LISTCOMPOBS、LISTBASEVAR、LISTCOMPVARの4オプションを使用した場合と同じです。 |
LISTBASE
基準データセットにあって比較データセットにはないオブザベーションと変数をすべてリストに出力します。
| 操作 | LISTBASEの処理は、LISTBASEOBSおよびLISTBASEVARオプションを使用する場合と同じです。 |
|---|
LISTBASEOBS
基準データセットにあって比較データセットにはないオブザベーションをすべてリストに出力します。
LISTBASEVAR
基準データセットにあって比較データセットにはない変数をすべてリストに出力します。
LISTCOMP
比較データセットにあって基準データセットにはないオブザベーションと変数をすべてリストに出力します。
| 別名 | LISTCOMPARE |
|---|---|
| 操作 | LISTCOMPの処理は、LISTCOMPOBSおよびLISTCOMPVARオプションを使用する場合と同じです。 |
LISTCOMPOBS
比較データセットにあって基準データセットにはないオブザベーションをすべてリストに出力します。
| 別名 | LISTCOMPAREOBS |
|---|
LISTCOMPVAR
比較データセットにあって基準データセットにはない変数をすべてリストに出力します。
| 別名 | LISTCOMPAREVARS |
|---|---|
| LISTCOMPAREVAR |
LISTEQUALVAR
値が不等と判断された変数のデフォルトリストに加えて、すべてのオブザベーションで値が同等と判断された変数のリストを印刷します。
| 別名 | LISTEQ |
|---|---|
| LISTEQUAL | |
| LISTEQVAR |
LISTOBS
一方のデータセットにしかないオブザベーションをすべてリストに出力します。
| 操作 | LISTOBSの処理は、LISTBASEOBSおよびLISTCOMPOBSオプションを使用する場合と同じです。 |
|---|
LISTVAR
一方のデータセットにしかない変数をすべてリストに出力します。
| 操作 | LISTVARの処理は、LISTBASEVARとLISTCOMPVARの両オプションを使用する場合と同じです。 |
|---|
MAXPRINT=total | (per-variable, total)
印刷される差異の最大数を指定します。
total
印刷する差異の最大合計数です。デフォルト値は500ですが、ALLOBSオプション(またはALLVARとTRANSPOSEの両オプション)を使用する場合は別です。その場合、デフォルトは32000になります。
per-variable
BYグループ内の変数ごとに印刷する差異の最大数です。デフォルト値は50ですが、ALLOBSオプション(またはALLVARとTRANSPOSEの両オプション)を使用する場合は別です。その場合、デフォルトは1000になります。
MAXPRINT=オプションは、データセットが大きく異なる場合に、出力が極端に大きくならないようにします。
METHOD=ABSOLUTE | EXACT | PERCENT | RELATIVE<(δ)>
数値の同等性を判断するメソッドを指定します。 定数δ(デルタ)は、同等性測定の計算時に分母に加える値を指定する0と1の間の数です。デフォルトでは、δは0です。
CRITERION=オプションを使用しなければ、デフォルトメソッドはEXACTです。CRITERION=オプションを使用する場合、デフォルトメソッドはRELATIVE(φ)です。この場合、φ(ファイ)はSASを実行しているコンピューターの数値精度とCRITERION=の値に依存する小さい数です。
| 別名 | M= |
|---|---|
| METH= | |
| 参照項目: | 同等性の基準 |
NODATE
基準データセットと比較データセットの作成日と最終変更日を、データセット要約レポートに表示しないようにします。
NOMISSBASE
(デフォルトでは、欠損値は、.=.、.^=.A、.A=.A、.A^=.Bなどの同種の欠損値とのみ同等と判断されます)。
このオプションを使用すると、DATAステップのUPDATEステートメントで、基準データセットがメインデータセットとして使用され、比較データセットがトランザクションデータセットとして使用されている場合に、比較データセットのオブザベーションに加える変更を決定できます。UPDATEステートメントの詳細については、UPDATE ステートメント (SAS DATAステップステートメント: リファレンス)を参照してください。
| 別名 | NOMISS1 |
|---|
NOMISSCOMP
比較データセットの欠損値をすべての値と同等であると判断します。 (デフォルトでは、欠損値は、.=.、.^=.A、.A=.A、.A^=.Bなどの同種の欠損値とのみ同等と判断されます)。
このオプションを使用すると、DATAステップのUPDATEステートメントで、基準データセットがメインデータセットとして使用され、比較データセットがトランザクションデータセットとして使用されている場合に、比較データセットのオブザベーションに加える変更を決定できます。UPDATEステートメントの詳細については、UPDATE ステートメント (SAS DATAステップステートメント: リファレンス)を参照してください。
| 別名 | NOMISS2 |
|---|---|
| NOMISSCOMPARE |
NOMISSING
基準データセットと比較データセットの両方にある欠損値を、すべての値と同等であると判断します。 デフォルトでは、欠損値は、.=.、.^=.A、.A=.A、.A^=.Bなどの同種の欠損値とのみ同等と判断されます。
| 別名 | NOMISS |
|---|---|
| 操作 | NOMISSINGの処理は、NOMISSBASEとNOMISSCOMPの両方を使用する場合と同じです。 |
NOPRINT
すべての印刷出力を抑制します。
| ヒント | 出力データセットを1つ以上作成する場合に、このオプションを使用することがあります。 |
|---|---|
| 例 | 出力データセット(OUT=)を使用してオブザベーションの値を比較する |
NOSUMMARY
データセット、変数、オブザベーション、値比較要約レポートを非表示にします。
| 別名 | NOSUM |
|---|---|
| ヒント | NOSUMMARYは、マッチング値に差異がない場合、出力を作成しません。 |
| 例 | 異なるデータセットでの変数の比較 |
NOTE
差異が見つかった場合、比較結果を説明する注釈をSASログに表示します。
NOVALUES
値比較結果レポートを非表示にします。
| 別名 | NOOBS |
|---|---|
| 例 | 概要: COMPARE プロシジャ |
OUT=SAS-data-set
出力データセットを指定します。SAS-data-setが存在しない場合は、PROC COMPAREが作成します。SAS-data-setには、マッチング変数の差異が含まれます。
| 参照項目: | 出力データセット(OUT=) |
|---|---|
| 例 | 出力データセット(OUT=)を使用してオブザベーションの値を比較する |
OUTALL
基準データセットのオブザベーションと比較データセットのオブザベーションごとに1つずつオブザベーションを出力データセットに書き込みます。また、このオプションは、マッチングオブザベーションの値の差異およびパーセント表示の差異を含む出力データセットにもオブザベーションを書き込みます。
| ヒント | OUTALLの処理は、OUTBASE、 OUTCOMP、OUTDIF、OUTPERCENTの4オプションを使用した場合と同じです。 |
|---|---|
| 参照項目: | 出力データセット(OUT=) |
OUTBASE
基準データセットのオブザベーションごとに1つずつオブザベーションを出力データセットに書き込み、_TYPE_=BASEのオブザベーションを作成します。
| 参照項目: | 出力データセット(OUT=) |
|---|---|
| 例 | 出力データセット(OUT=)を使用してオブザベーションの値を比較する |
OUTCOMP
比較データセットのオブザベーションごとに1つずつオブザベーションを出力データセットに書き込み、_TYPE_=COMPのオブザベーションを作成します。
| 別名 | OUTCOMPARE |
|---|---|
| 参照項目: | 出力データセット(OUT=) |
| 例 | 出力データセット(OUT=)を使用してオブザベーションの値を比較する |
OUTDIF
マッチングオブザベーションのペアごとに1つずつオブザベーションを出力データセットに書き込みます。 オブザベーションの値には、オブザベーションのペアにおける値の差異を示す値が含まれます。各オブザベーションの_TYPE_の値はDIFです。
| 別名 | OUTDIFF |
|---|---|
| デフォルト | OUTDIFオプションがデフォルトですが、OUTBASE、OUTCOMPまたはOUTPERCENTオプションを指定した場合は別です。これらのオプションのいずれかを使用する場合は、OUTDIFオプションを指定して、出力データセットに_TYPE_=DIFオブザベーションを作成する必要があります。 |
| 参照項目: | 出力データセット(OUT=) |
| 例 | 出力データセット(OUT=)を使用してオブザベーションの値を比較する |
OUTNOEQUAL
オブザベーションのすべての値が同等と判断された場合に、出力データセットへのオブザベーションの書き込みを抑制します。さらに、同等と判断された変数値も不等と判断された変数値も含まれるオブザベーションでは、OUTNOEQUALオプションが特殊欠損値".E"を使用して、同等と判断された変数の差異とパーセント表示の差異を示します。
| 別名 | OUTNOEQ |
|---|---|
| 参照項目: | 出力データセット(OUT=) |
| 例 | 出力データセット(OUT=)を使用してオブザベーションの値を比較する |
OUTPERCENT
マッチングオブザベーションのペアごとに1つずつオブザベーションを出力データセットに書き込みます。 オブザベーションの値には、オブザベーションのペアにおける値のパーセント表示の差異を示す値が含まれます。各オブザベーションの_TYPE_の値はPERCENTです。
| 参照項目: | 出力データセット(OUT=) |
|---|
OUTSTATS=SAS-data-set
マッチング変数のすべてのペアの要約統計量を、指定したSAS-data-setに書き込みます。
| ヒント | プロシジャ出力の統計量テーブルを印刷する場合は、STATS、ALLSTATSまたはPRINTALLオプションを使用します。 |
|---|---|
| 参照項目: | 出力統計量データセット(OUTSTATS=) |
| 要約統計量のテーブル | |
| 例 | 統計量の出力データセット(OUTSTATS=)の作成 |
PRINTALL
オプションALLVARS、ALLOBS、ALLSTATS、LISTALL、WARNINGを呼び出します。
| 別名 | ALL |
|---|---|
| 例 | 差異の完全なレポートを作成 |
STATS
不等と判断されたマッチング数値変数のすべてのペアの要約統計量テーブルを印刷します。
| 別名 | 統計量 |
|---|---|
| 参照項目: | 要約統計量のテーブル (生成された統計量について)。 |
TRANSPOSE
変数ごとではなくオブザベーションごとに値差異のレポートを印刷します。
| 別名 | TRANS |
|---|---|
| 操作 | NOVALUESオプションも使用すると、TRANSPOSEオプションは、各オブザベーションについて値が不等と判断された変数のnamesのみをリストに出力し、値と差異は出力しません。 |
| 参照項目: | オブザベーションの比較結果(TRANSPOSEオプション使用). |
WARNING
差異が見つかると、SASログに警告メッセージを表示します。
| 別名 | WARN |
|---|---|
| 操作 | ERRORオプションがWARNINGオプションよりも優先されます。 |