コース: データ分析 入門1:基本

結合と検証を行う

コース: データ分析 入門1:基本

結合と検証を行う

テーブルを結合するとき 両方のテーブルで同じ名前の フィールドを結合していました。 データ型も同じです。 しかし、結合する各フィールド名が 同じという場合もあれば、 そうでない場合もあります。 Bad Link クエリを デザインビューで開くと 商品 ID と販売注文 ID に 結合線が表示され、 関連性があることがわかります。 これは間違いです。 クエリを実行したときに 結果が何も表示されなかったり 限定的な結果しか表示されなかった場合に 最初に確認することは、 適切なフィールドで 結合していたかどうかと いうことです。 クエリを実行します。 結果が表示されません。 原因は商品 ID と 販売注文 ID は結合に適した フィールドではないからです。 表示をデザインビューに切り替えます。 まず、結合線をクリックし delete キーで削除します。 適切なフィールドは 商品 ID と商品 ID です。 ドラッグして結合します。 クエリを実行すると、 商品データと販売データが 結合された結果が表示されます。 次に交差結合のよくある間違いを 紹介します。 Cross クエリを右クリックし デザインビューで開きます。 2つのクエリに結合線はありません。 クエリのデザインビューで 追加したテーブルに 結合を指定しないことを 交差結合と言います。 ひとつのテーブルから すべてのレコードを取り出し 別のテーブルのすべてのレコードを くっつけます。 販売詳細テーブルと 商品テーブルを確認します。 販売詳細テーブルをダブルクリックして 開きます。 79584 レコードのデータがあります。 続いて商品テーブルを ダブルクリックして開きます。 504 レコードのデータがあります。 もし交差結合で 2つのテーブルを結合すると、 販売詳細テーブルの全レコードに 商品テーブルのレコードが くっついた結果となります。 つまり、レコード件数は 504 の 79584 倍となり 400 万を超えるレコード数に 膨れ上がります。 レコード数が増えて表示される場合には テーブルを結合していない可能性が 考えられます。 商品テーブルと販売詳細テーブルを 閉じましょう。 Cross クエリも閉じます。 保存する必要はありません。 続いて Inner クエリを 右クリックしデザインビューで 開きます。 既定の設定では、2つのテーブルを 結合すると、内部結合になります。 商品 ID を商品 ID の上に ドラッグします。 これが内部結合です。 結合の種類を変更すると、 結合線に矢印が表示されるなど 見え方が変わります。 このクエリを実行すると、 受注のあった商品のデータが表示されます。 レコード件数は 79584 です。 これだけの販売レコードが あることになります。 しかし、内部結合では、 注文のない商品については わかりません。 注文のあった商品の 販売記録しかわかりません。 Inner クエリを保存して閉じます。 注文のない商品も表示するには、 左外部結合で クエリを実行する必要があります。 新めて商品テーブルのレコード数を 確認しておきましょう。 商品テーブルのレコード数は 504 です。 注文されていない商品があったと仮定して レコードを見ているだけでは どの商品が注文されていないのかは わかりません。 実際に販売詳細テーブルと結合して 抽出する必要があります。 では、商品テーブルを閉じます。 保存する必要はありません。 左外部クエリを デザインビューで開きます。 結合線をダブルクリックするか 右クリックして 結合プロパティを表示します。 左が商品テーブルで 右が販売詳細テーブルです。 それでは3つの異なる 結合タイプを確認しましょう。 既定の設定は内部結合です。 商品テーブルのすべてのレコードと 販売詳細テーブルのうち 同じ商品 ID のレコードだけが 表示されます。 2つ目のオプションボタンを クリックします。 すべての商品とそれに関連する 販売レコードを表示します。 これは左外部結合です。 OK をクリックし クエリを実行します。 表示されたデータは 販売抽出 ID フィールドに データのない、つまり、 注文のないレコードから 表示されました。 データベースでは、データがないことを Null と言います。 レコードを下へスクロールすると、 販売注文 ID にデータが現れます。 注文のあったデータです。 すべての商品と販売情報の 包括的なリストを得ることができました。 もし、一度も注文されたことのない 商品のリストがほしいといった場合には、 クエリをデザインビューに切り替え 販売注文 ID 列の 抽出条件欄に is null と入力します。 クエリを実行すると、 注文されていないすべての商品が 表示されます。 レコード件数から 504 商品の内 受注販売記録がない商品は 246 あるということがわかります。 データの活用目的によって どのデータセットをどのような結合方法で 結合するべきかが決まってきます。 データアナリストはこうしたデータ抽出を 実践する機会が日常業務の 一部となります。

目次