本記事は、株式会社ギックスの運営していた分析情報サイト graffe/グラーフ より移設されました(2019/7/1)
目次
抽出元のデータ件数とデータ結合後のデータ件数を比較して結合処理が正しく行われたかを確認する
データ分析では、複数の情報を結合して、データ結合結果からデータ分析を行う場合があります。この時、異なる情報を繋げるのが「結合キー」と呼ばれる項目です。この結合キーは複数存在することもあり、全ての結合キーを正しく使っていないと結合結果が正しくなりません。今回は、データ結合結果の件数を比較して、結合キーのミスに気付く方法をご紹介します。
異なる情報を結合するための結合キーについて
今回は、異なる情報をデータ結合する例として、POSシステムの売上情報と売上明細情報を使いたいと思います。下記のように売上情報と売上明細情報は、結合キー「日付、店舗コード、レジ番号、レシート番号」でデータ結合できる事します。そして、売上情報と売上明細情報の関係は「1:n」になり、1件の売上情報には、1件以上の売上明細情報が存在する事とします。
売上情報と売上明細情報をデータ結合した場合、結合結果は、件数の多い情報に引っ張られるため「売上明細情報のデータ件数 = データ結合後の件数」になるはずです。もし、同じ件数でない場合、結合キーに問題がある場合があります。これから件数から分かる結合キーのミスについて2パターン紹介します。
「抽出元のデータ件数 < データ結合後のデータ件数」の場合
結合キーが複数存在する場合は、その全ての結合キーを使用してデータ結合する必要がありますが、結合キーが1つでも欠落するとデータ結合後の件数が多くなります。下記の例の場合、4つの結合キーの内、店舗コードを指定するのを忘れたとします。この場合、同じ日付、レジ番号、レシート番号であればデータ結合してしまうため、関係ない他店の売上情報とデータ結合して、複数店舗で同一売上明細情報をデータ結合してしまう場合があります。
「抽出元のデータ件数 > データ結合後のデータ件数」の場合
必要もないデータ項目まで結合キーに含んでしまうとデータ結合後の件数が少なくなります。下記の例の場合、4つの結合キーだけ使用すれば良いところを、システム通番まで指定してしまったとします。このシステム通番が売上情報、売上明細情報で付け方が違う場合、5つの結合キーに偶然一致しないとデータ結合できないため、データ結合結果の件数は非常に少なくなる場合があります。
結合キーの条件が正しい場合、入っているデータを確認する
これら2パターンの件数から分かる結合キーのミスについてチェックしても異常がない場合、結合キーの登録内容をチェックしてください。例えば、店舗コードが、売上情報では”001”と登録され、売上明細情報では”1”と登録されているようなケースがあります。このように結合条件の確認の後、コード値などの登録形式のチェックをすることで、早い段階で結合ミスを発見することができると思います。