今回はCOMPAREについて解説します。
/* 正常形 */
data data1;
id="A"; chiku="SHINJUKU";
output;
id="B"; chiku="ICHIGAYA";
output;
id="C"; chiku="SHIBUYA";
output;
run;
data data2;
id="A"; chiku="SHINJUKU";
output;
id="B"; chiku="ICHIGAYA";
output;
id="C"; chiku="SHIBUYA";
output;
run;
proc sort data=data1; by id; run;
proc sort data=data2; by id; run;
proc compare base=data1 compare=data2; run;
![](https://how-to-business.com/wp-content/uploads/2021/09/61a20e65406ba409849e9eabfc6e384b.png)
![](https://how-to-business.com/wp-content/uploads/2021/09/32a67edaf4b6792bfb96d5a45a3e31cc.png)
![](https://how-to-business.com/wp-content/uploads/2021/09/94b4bfd100eb5b66c25c5e26b1e733dc-1024x659.png)
- データセット2つを比較。
- 同じ位置にあるオブザベーション同士を比較。
- 同じ位置にある変数名同士を比較。
- 出力データではなく、結果タブに表示。
- 比較結果は完全一致。
/* data2 1レコード多い */
data data1;
id="A"; chiku="SHINJUKU";
output;
id="B"; chiku="ICHIGAYA";
output;
id="C"; chiku="SHIBUYA";
output;
run;
data data2;
id="A"; chiku="SHINJUKU";
output;
id="B"; chiku="ICHIGAYA";
output;
id="C"; chiku="SHIBUYA";
output;
id="D"; chiku="MINATO";
output;
run;
proc sort data=data1 out=data1; by id; run;
proc sort data=data2 out=data2; by id; run;
proc compare base=data1 compare=data2; run;
![](https://how-to-business.com/wp-content/uploads/2021/09/a9f20485e6eab5a709efe14dd192334b-1024x285.png)
![](https://how-to-business.com/wp-content/uploads/2021/09/97f5f2658907533505e717ad44b6e0e0-1024x335.png)
![](https://how-to-business.com/wp-content/uploads/2021/09/eb005e9e291ee189fba5646954d0e213-1024x687.png)
- データセット2つを比較。
- 同じ位置にあるオブザベーション同士を比較。
- 同じ位置にある変数名同士を比較。
- 出力データではなく、結果タブに表示。
- 比較先の方が多くても完全一致。
/* id chiku違い */
data data1;
id="A"; chiku="SHINJUKU";
output;
id="B"; chiku="ICHIGAYA";
output;
id="C"; chiku="SHIBUYA";
output;
run;
data data2;
id="A"; chiku="SHINJUKU";
output;
id="B"; chiku="ICHIGAYA";
output;
id="D"; chiku="MINATO";
output;
run;
proc sort data=data1; by id; run;
proc sort data=data2; by id; run;
proc compare base=data1 compare=data2; run;
![](https://how-to-business.com/wp-content/uploads/2021/09/0c688a2a3f1369824ca8e72a443cb49c.png)
![](https://how-to-business.com/wp-content/uploads/2021/09/6a39fee948705b3b60ee7e3d2279bd69.png)
![](https://how-to-business.com/wp-content/uploads/2021/09/6f04f0b083274fbd9c51656bf0293fe7-940x1024.png)
- データセット2つを比較。
- 同じ位置にあるオブザベーション同士を比較。
- 同じ位置にある変数名同士を比較。
- 出力データではなく、結果タブに表示。
- 2か所で差分がある。
/* chiku違い */
data data1;
id="A"; chiku="SHINJUKU";
output;
id="B"; chiku="ICHIGAYA";
output;
id="C"; chiku="SHIBUYA";
output;
run;
data data2;
id="A"; chiku="SHINJUKU";
output;
id="B"; chiku="ICHIGAYA";
output;
id="C"; chiku="MINATO";
output;
run;
proc sort data=data1; by id; run;
proc sort data=data2; by id; run;
proc compare base=data1 compare=data2; run;
![](https://how-to-business.com/wp-content/uploads/2021/09/23b6eca268b30fa6200c9619ef07efae-1024x282.png)
![](https://how-to-business.com/wp-content/uploads/2021/09/831b1148220c07c6c1599a6a24b46ec9.png)
![](https://how-to-business.com/wp-content/uploads/2021/09/ebaef6b2e3ce4d74f2a79fe912f9267b-1024x978.png)
- データセット2つを比較。
- 同じ位置にあるオブザベーション同士を比較。
- 同じ位置にある変数名同士を比較。
- 出力データではなく、結果タブに表示。
- 1か所で差分がある。
/* id2 chiku2 */
data data1;
id="A"; chiku="SHINJUKU";
output;
id="B"; chiku="ICHIGAYA";
output;
id="C"; chiku="SHIBUYA";
output;
run;
data data2;
id2="A"; chiku2="SHINJUKU";
output;
id2="B"; chiku2="ICHIGAYA";
output;
id2="C"; chiku2="SHIBUYA";
output;
run;
proc sort data=data1; by id; run;
proc sort data=data2; by id2; run;
proc compare base=data1 compare=data2; run;
![](https://how-to-business.com/wp-content/uploads/2021/09/id2-chiku21.png)
![](https://how-to-business.com/wp-content/uploads/2021/09/id2-chiku22-1024x294.png)
![](https://how-to-business.com/wp-content/uploads/2021/09/id2-chiku23-1024x583.png)
- データセット2つを比較。
- 同じ位置にあるオブザベーション同士を比較。
- 同じ位置にある変数名同士を比較。
- 出力データではなく、結果タブに表示。
- 同じ変数名が無い場合は比較されない。
/* chiku2 */
data data1;
id="A"; chiku="SHINJUKU";
output;
id="B"; chiku="ICHIGAYA";
output;
id="C"; chiku="SHIBUYA";
output;
run;
data data2;
id="A"; chiku2="SHINJUKU";
output;
id="B"; chiku2="ICHIGAYA";
output;
id="C"; chiku2="SHIBUYA";
output;
run;
proc sort data=data1; by id; run;
proc sort data=data2; by id; run;
proc compare base=data1 compare=data2; run;
![](https://how-to-business.com/wp-content/uploads/2021/09/chiku2-1-1024x290.png)
![](https://how-to-business.com/wp-content/uploads/2021/09/chiku2-2-1024x318.png)
![](https://how-to-business.com/wp-content/uploads/2021/09/chiku2-3-1024x624.png)
- データセット2つを比較。
- 同じ位置にあるオブザベーション同士を比較。
- 同じ位置にある変数名同士を比較。
- 出力データではなく、結果タブに表示。
- idのみ比較される。
/* initial1 */
data data1;
id="A"; chiku="SHINJUKU";
output;
id="B"; chiku="ICHIGAYA";
output;
id="C"; chiku="SHIBUYA";
output;
run;
data data2;
id="A"; chiku="SHINJUKU"; initial="S";
output;
id="B"; chiku="ICHIGAYA"; initial="I";
output;
id="C"; chiku="SHIBUYA"; initial="S";
output;
run;
proc sort data=data1; by id; run;
proc sort data=data2; by id; run;
proc compare base=data1 compare=data2; run;
![](https://how-to-business.com/wp-content/uploads/2021/09/initial1-1024x292.png)
![](https://how-to-business.com/wp-content/uploads/2021/09/initial2-1024x308.png)
![](https://how-to-business.com/wp-content/uploads/2021/09/initial3-1024x616.png)
- データセット2つを比較。
- 同じ位置にあるオブザベーション同士を比較。
- 同じ位置にある変数名同士を比較。
- 出力データではなく、結果タブに表示。
- id chikuのみ比較される。
/* initial2 */
data data1;
id="A"; chiku="SHINJUKU"; initial="S";
output;
id="B"; chiku="ICHIGAYA"; initial="I";
output;
id="C"; chiku="SHIBUYA"; initial="S";
output;
run;
data data2;
id="A"; chiku="SHINJUKU";
output;
id="B"; chiku="ICHIGAYA";
output;
id="C"; chiku="SHIBUYA";
output;
run;
proc sort data=data1; by id; run;
proc sort data=data2; by id; run;
proc compare base=data1 compare=data2; run;
![](https://how-to-business.com/wp-content/uploads/2021/09/initial21-1024x248.png)
![](https://how-to-business.com/wp-content/uploads/2021/09/initial22-1024x294.png)
![](https://how-to-business.com/wp-content/uploads/2021/09/initial23-1024x607.png)
- データセット2つを比較。
- 同じ位置にあるオブザベーション同士を比較。
- 同じ位置にある変数名同士を比較。
- 出力データではなく、結果タブに表示。
- id chikuのみ比較される。