Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ キー、ID、およびサロゲートキー | データ準備
Excelデータモデリング

キー、ID、およびサロゲートキー

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

キー列の役割はただ一つ:あるテーブルの行を別のテーブルの正しい行にリンクすること。

データモデルが Sales 行の CustomerID C003 を見ると、そのリンクをたどって Customers テーブルの CustomerIDC003 である唯一の行を見つける。そこから名前、地域、セグメントを取得する。この参照は自動的に行われるが、キー列が信頼できる場合のみ成立する。

2つの条件が両方とも満たされている必要がある:

  • ディメンション側で一意:Customers の各 CustomerID は必ず一度だけ出現すること;
  • 値の一致:Sales の ID が Customers に同じ値かつ同じデータ型で存在すること。

どちらかの条件が満たされない場合、リレーションシップはエラーになるか、気付かないまま誤った結果を生じる。

Note
注意

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

主キーと外部キー

Note
注意

常にディメンション側の一意性を確認。主キーが一意でない場合、Power Pivot はリレーションシップの作成を拒否。

サロゲートキー

サロゲートキーとは、ソースデータに信頼できるナチュラルキーが存在しない場合に新たに作成するID列。 値は自分で作成し、ソースシステムから取得するものではない。

作成が必要な場合:

  • ソースデータにID列が存在しない場合
  • 行を一意に識別するには2つ以上の列を組み合わせる必要がある場合
  • ナチュラルキーがラベル(名前や説明)であり、安定した識別子でない場合

Excelでの作成方法:

  • テーブルの左側に新しい列を追加し、ProductIDCustomerIDなど分かりやすい名前を付ける
  • 最初のデータ行に ="P"&TEXT(ROW()-1,"000") を入力 — 自動的に P001, P002, P003 などが生成される
  • 数式を列全体にコピー
  • 形式を選択して貼り付け → 値 でIDを固定テキストに変換 サロゲートキーは数式のままにしないこと。行の追加や削除で再計算され、値が壊れるため。

タスク

この章の主な目標は、主キー外部キーサロゲートキーの認識・理解・作成に慣れること。

まずはワークブック内の両方のシートでキーに関する主な課題を特定し、解決策を検討すること。

'Customers_Raw' シートについて、次の質問に答える:

  • これはファクトテーブルかディメンションテーブルか?理由は?
  • どの列が主キーまたは外部キーとして機能する可能性があるか?理由は?
  • 該当する列がない場合、このテーブルにはどのようなサロゲートキーを提案するか?

'SalesLines_Raw' シートについて、次の質問に答える:

  • これはファクトテーブルかディメンションテーブルか?理由は?
  • どちらでもない場合、どのような手順で修正するか?

1. 次のうち、主キーの良い特徴はどれですか?

2. サロゲートキーはいつ作成すべきですか?

3. リレーションシップにおいて、外部キーと主キーの間で一致しなければならないものは何ですか?

question mark

次のうち、主キーの良い特徴はどれですか?

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

question mark

サロゲートキーはいつ作成すべきですか?

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

question mark

リレーションシップにおいて、外部キーと主キーの間で一致しなければならないものは何ですか?

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

すべて明確でしたか?

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

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

セクション 2.  3

AIに質問する

expand

AIに質問する

ChatGPT

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

セクション 2.  3
some-alt