データ同士のリレーション(関係)を意識する | データ分析のお作法

AUTHOR :   ギックス

本記事は、株式会社ギックスの運営していた分析情報サイト graffe/グラーフ より移設されました(2019/7/1)

ベースとなるデータに紐づくデータの親子関係を正しく理解することがデータ分析の”はじめの一歩”

データ分析の対象となるデータは、日々の売上情報やアクセスログなどの履歴情報(トランザクションデータ)だけでなく、関係する商品情報や顧客情報などの様々なデータと紐づけて分析することが多いです。これらのデータの関係を理解することが重要であり、この関係が曖昧な理解の状態では、正確なデータ分析は不可能です。今回は、データ同士の関係(リレーション)について、ベースとなる親データから子データの紐づけ比率でご説明します。

親データ:子データ = 1:1

1行の親データに必ず1行の子データが紐づくデータの関係です。非常に密接な関係であり、人が最も理解しやすいデータの関係です。
このデータの関係は、トランザクションデータとマスタデータの関係で利用されることが多いです。(参照:マスタデータ、トランザクションデータとは) 例えば、日々の売上情報の商品コードに紐づく商品情報(マスタ)、ソーシャルゲームのアクセスログのユーザーIDに紐づくユーザー情報(マスタ)など馴染みのあるデータの関係が多いです。

親データ:子データ = 1:複数

1行の親データに必ず複数行の子データが紐づくデータの関係です。
このデータの関係は、基礎データと明細データの関係で利用されることが多いです。例えば、下記のようなレシートのデータをイメージしてください。基礎となるデータとして伝票番号、店舗名、会計時間、支払情報などがあり、明細となるデータとして購入した商品情報が複数個ぶら下がっています。そして、基礎データと明細データを伝票番号で紐づけたデータの関係が「1:複数」の関係です。receipt11-1

親データ:子データ = 1:0 ~ 複数

1行の親データに複数行の子データが紐づくデータの関係です。データの状況によって子データが紐づかない場合があり、若干、扱いが難しい関係です。
このデータの関係は、マスタデータとトランザクションデータの関係で利用される事があります。先に説明した「1:1」の関係とは逆にマスタデータが親データとなる関係です。例えば、ソーシャルゲームのユーザー情報(マスタ)とアクセスログの関係では、利用したユーザーのアクセスログは複数行作成されますが、会員登録しただけで利用していないユーザーのアクセスログは作成されません。若干、扱いは面倒ですが、マスタデータを主軸としたデータ分析では、使用させるケースが多い関係です。

親データ:子データ = 複数:複数

複数行の親データに複数行の子データが紐づくデータの関係です。稀なデータの関係で、非常に扱いが難しいです。
このデータ関係は、データ分析に不向きです。なぜなら親データが1つに絞れないとデータ分析の主軸が定まらないためです。このようなデータ関係の場合は、データの構造・特性を理解して、上記の3つのいずれかのデータ関係に寄せる必要があります。そして、データ関係を寄せると失われる情報もあるため、データ分析の主軸は何なのかを考える必要があります。

連載/関連記事リスト:データ分析のお作法
SERVICE