Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ フラットデータのリファクタリングとリレーショナルテーブルへの変換 | Excelデータモデリング
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. ワイドなフラットシートの列を、宛先ごとに色分け:customers(青)、products(オレンジ)、dates(緑)、fact values(黄);
  2. 各色グループを新しいシートにコピーし、範囲を名前付きのExcelテーブルに変換(挿入 → テーブル);
  3. 主キー列を選択し、データ → 重複の削除を使用して各行が一意であることを確認;
  4. datesテーブルでは、日付列を1月1日から12月31日までカバーするように拡張し、Year, Month, Month Name, および Quarter 列を追加。=YEAR(), =MONTH(), =TEXT(B2, "MMMM"), およびクォーターの数式 ="Q"&INT((MONTH(B2)-1)/3+1) を使用;
  5. datesシートを値のみ(数式なし)で新しいシートに貼り付け、テーブルに変換;
  6. 残りの列と3つの外部キー(OrderDate, CustomerID, ProductID)を使ってfactテーブルを作成。

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

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

question mark

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

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

question mark

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

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

すべて明確でしたか?

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

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

セクション 1.  6

AIに質問する

expand

AIに質問する

ChatGPT

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

セクション 1.  6
some-alt