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=)の作成

構文

PROC COMPARE <options>;

オプション引数の要約

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オプションよりも優先されます。
最終更新: 2026年9月18日