Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ フラットデータをリレーショナルテーブルにリファクタリングする | データ準備
Excelデータモデリング

フラットデータをリレーショナルテーブルにリファクタリングする

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

ワイドなフラットシートは、すべてのイベントに関するあらゆる情報を1つのテーブルにまとめたものです。顧客情報、商品情報、日付、取引金額などがすべて1か所に集約されています。読みやすい反面、リレーショナルデータモデルには対応できません。

繰り返しの問題点:Acme Corpの注文ごとに顧客名、地域、セグメントが繰り返されます。これらの情報が変更された場合、すべての行を個別に更新する必要があり、不整合やストレージの肥大化につながります。

Note
注意

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

ステップ 1 — 次元テーブルの特定と抽出

次元テーブルは、各イベントの「誰」「何」「いつ」を記述するテーブル。これらは境界が明確なため、最初に作成。各行は一意でなければならず、貼り付け後に重複を削除。

  • Customers テーブル: CustomerID (PK), CustomerName, Region, Segment;
  • Products テーブル: ProductID (PK), ProductName, Category;
  • Dates テーブル: Date (PK), Year, Month (number), Month name, Quarter.
Note
ノート

なぜ日付テーブルは1年全体をカバーする必要があるのか?

タイムインテリジェンス計算(年初来、移動平均、期間比較)には、連続したギャップのないカレンダーが必要。テーブルに注文日だけが含まれている場合、売上のない月が完全に欠落し、計算が正しく行えない。

ステップ 2 — ファクトテーブルの作成

ファクトテーブルは発生した事象を記録し、1行が1イベントを表す。測定値と、各イベントを次元テーブルに紐付ける外部キーを格納。説明的なテキストは意図的に含めない。

  • Sales(ファクトテーブル): OrderID (PK), OrderDate → Dates (FK), CustomerID → Customers (FK), ProductID → Products (FK), UnitPrice, Quantity, Total.
Note
注意
  • PK — 主キー(テーブル内の各レコードを一意に識別する識別子);
  • FK — 外部キー(他のテーブルの主キーとリンクするフィールド)。

スター・スキーマ

4つのテーブルはスター・スキーマを形成し、ファクトテーブルが中心に位置し、ディメンションテーブルが外側に放射状に配置され、それぞれが主キー/外部キーのペアで接続されている。

タスク

  1. ワイドなフラットシートの列を、宛先ごとに色分け:顧客(青)、商品(オレンジ)、日付(緑)、ファクト値(黄)。
  2. 各色グループを新しいシートにコピーし、範囲を名前付きのExcelテーブルに変換(挿入 → テーブル)。
  3. 主キー列を選択し、データ → 重複の削除を使用して各行が一意であることを確認。
  4. 日付テーブルでは、日付列を1月1日から12月31日までカバーするように拡張し、Year, Month, Month Name、およびQuarter列を追加。=YEAR()=MONTH()=TEXT(B2, "MMMM")、および四半期の数式 ="Q"&INT((MONTH(B2)-1)/3+1) を使用。
  5. 日付シートを値のみ(数式なし)で新しいクリーンなシートに貼り付けてからテーブルに変換。
  6. 残りの列と3つの外部キー(OrderDateCustomerIDProductID)を使ってファクトテーブルを作成。

1. フラットなシートをファクトテーブルとディメンションにリファクタリングする主な利点は何ですか?(2つ選択)

2. フラットテーブルからCustomersディメンションを作成する際に不可欠なステップはどれですか?

question mark

フラットなシートをファクトテーブルとディメンションにリファクタリングする主な利点は何ですか?(2つ選択)

すべての正しい答えを選択

question mark

フラットテーブルからCustomersディメンションを作成する際に不可欠なステップはどれですか?

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

すべて明確でしたか?

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

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

セクション 2.  4

AIに質問する

expand

AIに質問する

ChatGPT

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

セクション 2.  4
some-alt