変更要約: PL-300 第1章を新規作成(ドメイン: データの準備)。データの取得と接続(ソース/共有セマンティックモデル・Import/DirectQuery/DirectLake・資格情報/プライバシー・パラメーター)、データのプロファイルとクレンジング(列の品質/分布/プロファイル・null/エラー/インポートエラー)、データの変換と読み込み(型/列/グループ化・ピボット解除・ファクト/ディメンション・マージ/追加・参照/複製・読み込み構成)。
1.3データの変換と読み込み
列の型/作成、グループ化と集計、ピボット/ピボット解除、ファクト/ディメンションの作成、参照 vs 複製、マージ vs 追加、リレーションシップキー、クエリの読み込み構成を理解します。
きれいにしたデータを、分析しやすい形(スタースキーマ) へ整形して読み込みます。形を制する者がモデルを制します。
1.3.1型・列・集計・ピボット
各列に適切な データ型 を設定し、必要なら 列の作成/変換(分割/抽出/カスタム列)を行います。行のグループ化 で集計(合計/個数など)を作れます。ピボット解除(unpivot) は横持ちの列を縦持ちの属性/値に変換し、ピボット はその逆です。多くの分析では unpivot で縦持ちにする方が扱いやすくなります。半構造化データ(JSON/リスト/レコード)は展開してテーブル化します。
1.3.2ファクト/ディメンションと結合
分析用には ファクトテーブル(メジャーの元になる数値/イベント)と ディメンションテーブル(製品/日付/顧客などの説明属性)に分けた スタースキーマ が推奨です。テーブルの結合には2種類あり、マージ(merge) は列方向の結合(共通キーで別テーブルの列を取り込む=SQL の JOIN 相当)、追加(append) は行方向の結合(同じ形のテーブルを縦に積む=UNION 相当)です。リレーションシップを張るには両テーブルに 一意なキー が必要です。
1.3.3参照 vs 複製・読み込み構成
参照(reference) は元クエリの 結果を起点に 新クエリを作り、元の変更が下流に伝わる(ステージング/再利用に向く)。複製(duplicate) は 独立したコピー で以後は別々に変化します。中間クエリは 読み込みの無効化(Enable load を外す) でモデルに取り込まないようにし、不要なテーブルを増やさないようにします。
決め手:「別テーブルの列を共通キーで取り込む」=マージ(JOIN)。「同形テーブルを縦に積む」=追加(UNION)。「横持ち→縦持ち」=ピボット解除(unpivot)。「数値/イベント」=ファクト、「説明属性」=ディメンション。「元の変更を伝える」=参照、「独立コピー」=複製。「中間クエリをモデルに入れない」=読み込みの無効化。
混同に注意:
①マージ(列方向)と追加(行方向)を逆にしない。
②ピボットとピボット解除は逆操作。
③参照と複製の違い(依存あり/独立)。
④ファクトとディメンションを取り違えない。
⑤中間クエリは読み込み無効化しないとモデルが肥大化。
1.3.4この節のまとめ
- マージ=列方向(JOIN)/追加=行方向(UNION)・ピボット解除=横→縦
- ファクト(数値/イベント)とディメンション(説明属性)でスタースキーマ
- 参照=依存コピー/複製=独立コピー・中間クエリは読み込み無効化
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. 製品マスタの列を、共通の製品 ID をキーに売上テーブルへ取り込みたい。最適な操作はどれですか?
Q2. 同じ列構成の月次ファイルが 12 個ある。1 つのテーブルに縦に積みたい。最適な操作はどれですか?
Q3. 各月が個別の列になっている横持ちデータを、月と値の縦持ちに変換したい。最適な操作はどれですか?
Q4. 元クエリの変更を下流にも反映させたい中間ステージングを作りたい。最適なのはどれですか?
Q5. スタースキーマ設計で、売上金額や数量などの数値イベントを保持するテーブルはどれですか?

