今回はSASで良く使うテクニックということで、データセットの差分がいくつあるのか数えたいときは「SUM関数」が役に立つ理由を解説していきます。
(参考:【SAS】SASで良く使うテクニック。その1 Excel関数のIF~2テーブルを比較したいとき~ | ビジネスイッチ (how-to-business.com))
まずは比較したいデータセット2つをExcelシート上に貼り付けるか、エクスポートするかします。
今回の練習では手打ちでも良いです。
(データセットをExcelシート上にエクスポート:【SAS】データセットをエクセルファイルとしてエクスポート(出力)する | ビジネスイッチ (how-to-business.com))
今回は、以下の状態で2つデータセットを準備します。
2つのデータセットを比較するために、3つ目のシートを新規作成し、A2セルに「=IF(DATA1!A2=DATA2!A2,0,1)」を入力します。
これをT20セルまでドラックか、「ctrl + R」「ctrl + D」などを使って反映させます。
(参考「ctrl + R」:【SAS】SASで良く使うテクニック。その2 「Ctrl+R」~データセットの列数が多いとき~【Excel】 | ビジネスイッチ (how-to-business.com))
(参考「ctrl + D」:【SAS】SASで良く使うテクニック。その3 「Ctrl+D」~データセットのオブザベーション数が多いとき~【Excel】 | ビジネスイッチ (how-to-business.com))
今回は何か所、差分があるのか知りたいと想定します。
ぱっと見で見づらいと思いますし、もっと巨大なデータセットでは肉眼で数えるのは困難です。
そこでExcelのSUM関数を使います。
A1セルに「=SUM(A2:A20)」と入力します。
この計算式をドラックか、Ctrl+RでT1セルまで適用します。
どのカラム(項目)に何か所の差分があるか、一目瞭然です。
D列とK列とR列にそれぞれ1か所ずつ差分があることが分かります。
さらにU1セルに「=SUM(A1:T1)」と入力します。
U1セルが3となったので、2つのデータセット間で3か所の差分が生じていることが分かります。
ここまで、1列(カラム)ごとに差分を数えました。
さらに1行(オブザベーション)に何か所差分があるのか、可視化することもできます。
U2セルに「=SUM(A2:T2)」と入力します。
この計算式をドラックか、Ctrl+Dを使ってU20セルまで適用します。
6,7,14行目にそれぞれ1か所ずつ、差分があることがわかります。
というわけで、完成形は以下のようになります。(SUM関数を使ってるセルに色を付けると、分かりやすいです。)
オレンジが小計、青が総計になります。