キー、ID、およびサロゲートキー
メニューを表示するにはスワイプしてください
キー列の役割はただ一つ:あるテーブルの行を別のテーブルの正しい行にリンクすること。
データモデルが Sales 行の CustomerID C003 を見ると、そのリンクをたどって Customers テーブルの CustomerID が C003 である唯一の行を見つける。そこから名前、地域、セグメントを取得する。この参照は自動的に行われるが、キー列が信頼できる場合のみ成立する。
2つの条件が両方とも満たされている必要がある:
- ディメンション側で一意:Customers の各 CustomerID は必ず一度だけ出現すること;
- 値の一致:Sales の ID が Customers に同じ値かつ同じデータ型で存在すること。
どちらかの条件が満たされない場合、リレーションシップはエラーになるか、気付かないまま誤った結果を生じる。
ビデオで使用されているワークブックは、タスクで使用されているワークブックとは異なります。 レッスン中に講師と一緒に手順を追いたい場合は、開始前にビデオ下部にあるビデオ用ワークブックをダウンロードしてください。
主キーと外部キー
常にディメンション側の一意性を確認。主キーが一意でない場合、Power Pivot はリレーションシップの作成を拒否。
サロゲートキー
サロゲートキーとは、ソースデータに信頼できるナチュラルキーが存在しない場合に新たに作成するID列。 値は自分で作成し、ソースシステムから取得するものではない。
作成が必要な場合:
- ソースデータにID列が存在しない場合
- 行を一意に識別するには2つ以上の列を組み合わせる必要がある場合
- ナチュラルキーがラベル(名前や説明)であり、安定した識別子でない場合
Excelでの作成方法:
- テーブルの左側に新しい列を追加し、
ProductIDやCustomerIDなど分かりやすい名前を付ける - 最初のデータ行に
="P"&TEXT(ROW()-1,"000")を入力 — 自動的に P001, P002, P003 などが生成される - 数式を列全体にコピー
- 形式を選択して貼り付け → 値 でIDを固定テキストに変換 サロゲートキーは数式のままにしないこと。行の追加や削除で再計算され、値が壊れるため。
タスク
この章の主な目標は、主キー、外部キー、サロゲートキーの認識・理解・作成に慣れること。
まずはワークブック内の両方のシートでキーに関する主な課題を特定し、解決策を検討すること。
'Customers_Raw' シートについて、次の質問に答える:
- これはファクトテーブルかディメンションテーブルか?理由は?
- どの列が主キーまたは外部キーとして機能する可能性があるか?理由は?
- 該当する列がない場合、このテーブルにはどのようなサロゲートキーを提案するか?
'SalesLines_Raw' シートについて、次の質問に答える:
- これはファクトテーブルかディメンションテーブルか?理由は?
- どちらでもない場合、どのような手順で修正するか?
1. 次のうち、主キーの良い特徴はどれですか?
2. サロゲートキーはいつ作成すべきですか?
3. リレーションシップにおいて、外部キーと主キーの間で一致しなければならないものは何ですか?
フィードバックありがとうございます!
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください