Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ ファクトテーブルとディメンションテーブルの設計 | Excelデータモデリング
Excelデータモデリング

ファクトテーブルとディメンションテーブルの設計

メニューを表示するにはスワイプしてください

ほとんどのExcelワークブックは、すべての情報を1つの広いシートに保存しています。顧客名、製品カテゴリ、地域、取引合計などが同じ行に並び、何千回も繰り返されています。これは小規模な問題には対応できますが、データが増えたり、名前が変更されたり、他のデータソースと組み合わせたい場合にはうまく機能しません。

リレーショナルモデルは、データを主題ごとに分割したテーブルに分けることでこれを解決します。この分割の背後にある重要な概念が、ファクトテーブルとディメンションテーブルの区別です。

Note
注意

ビデオで使用されているワークブックは、課題で使用するワークブックとは異なります。 レッスン中にインストラクターと一緒にステップごとに進めたい場合は、開始前にビデオの下にあるビデオ用ワークブックをダウンロードしてください。

ファクトテーブル

ファクトテーブルは、イベントや取引(発生した事象)を記録するテーブル。

特徴:

  • 多数の行:各イベントごとに1行(1つの注文、1つの支払い、1回の訪問など);
  • メジャー:集計したい数値項目 — 数量、合計、コスト、時間;
  • 外部キー:ディメンションテーブルを参照するID列 — CustomerID、ProductID、OrderDate;
  • 説明的なテキストは少ない:名前、ラベル、カテゴリなどはディメンションに含める。

ファクトテーブルの例:

  • 売上明細行;
  • 請求書支払い;
  • ウェブサイト訪問;
  • サポートチケット。

ディメンションテーブル

ディメンションテーブルは、ファクトに関与するエンティティ(誰、何、どこ、いつ)を説明するテーブル。

特徴:

  • 一意のエンティティごとに1行:顧客ごと、商品ごと、日付ごとに1行;
  • 説明属性:名前、カテゴリ、地域、セグメントなど — 主にテキスト;
  • 主キー:ファクトテーブルが参照する一意のID列。

ディメンションテーブルの例:

  • Customers(CustomerID、CustomerName、Region、Segment);
  • Products(ProductID、ProductName、Category、UnitPrice);
  • Dates(Date、Year、Month、Quarter);
  • Employees(EmployeeID、Name、Department、Role)。

3つの質問による判断フレームワーク

フラットテーブルの各列について、次の順に質問する:

Q1:この列は合計やカウントしたい数値か?— Quantity、Total、Cost → ファクトテーブルのメジャー;

Q2:この列は他の場所の説明と紐づくIDか?— CustomerID、ProductID、OrderDate → ファクトテーブルの外部キー;

Q3:この列は人物、商品、期間などの説明ラベルか?— CustomerName、Region、Category → ディメンションテーブルの属性

Q3に該当する場合は、さらに「何を説明しているか?」を考える。顧客に関する列はすべてCustomers、商品に関する列はProducts、日付に関する列はDatesにまとめる。

1. Orders_Flatシートにおいて、次のうちProductsディメンションに最も明確に属する列のグループはどれか?

2. 本章のSalesファクトテーブルのグレインを最もよく表している記述はどれですか?

question mark

Orders_Flatシートにおいて、次のうちProductsディメンションに最も明確に属する列のグループはどれか?

正しい答えを選んでください

question mark

本章のSalesファクトテーブルのグレインを最もよく表している記述はどれですか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  4

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 1.  4
some-alt