Instiq
第1章 · データの準備·v1.0.0·更新 2026/6/29·読了目安 約14分

変更要約: 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)。「数値/イベント」=ファクト、「説明属性」=ディメンション。「元の変更を伝える」=参照、「独立コピー」=複製。「中間クエリをモデルに入れない」=読み込みの無効化。

注意

混同に注意:
①マージ(列方向)と追加(行方向)を逆にしない。
②ピボットとピボット解除は逆操作。
③参照と複製の違い(依存あり/独立)。
④ファクトとディメンションを取り違えない。
⑤中間クエリは読み込み無効化しないとモデルが肥大化。

マージ(共通キーで列方向の結合=JOIN)と追加(同形テーブルを縦に積む=UNION)、ピボット解除(横持ち→縦持ち)、ファクト(数値/イベント)とディメンション(説明属性)に分けたスタースキーマ、参照(依存コピー)vs複製(独立コピー)、中間クエリは読み込み無効化でモデルに入れない図。
星型に整える

1.3.4この節のまとめ

  • マージ=列方向(JOIN)/追加=行方向(UNION)・ピボット解除=横→縦
  • ファクト(数値/イベント)とディメンション(説明属性)でスタースキーマ
  • 参照=依存コピー/複製=独立コピー・中間クエリは読み込み無効化

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. 製品マスタの列を、共通の製品 ID をキーに売上テーブルへ取り込みたい。最適な操作はどれですか?

Q2. 同じ列構成の月次ファイルが 12 個ある。1 つのテーブルに縦に積みたい。最適な操作はどれですか?

Q3. 各月が個別の列になっている横持ちデータを、月と値の縦持ちに変換したい。最適な操作はどれですか?

Q4. 元クエリの変更を下流にも反映させたい中間ステージングを作りたい。最適なのはどれですか?

Q5. スタースキーマ設計で、売上金額や数量などの数値イベントを保持するテーブルはどれですか?

理解度を確認第1章「データの準備」の問題を解く