キー、ID、およびサロゲートキー
メニューを表示するにはスワイプしてください
キー列の役割は1つだけです:あるテーブルの行を、別のテーブルの正しい行にリンクすること。
データモデルが Sales 行の CustomerID C003 を見つけると、そのリンクをたどって Customers テーブルの CustomerID が C003 である1行を探します。そこから名前、地域、セグメントを取得します。この参照は自動的に行われますが、キー列が信頼できる場合のみです。
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つを試してチャットを始めてください