Power Query | パワークエリ失敗しない設計ルール集

Excel
スポンサーリンク

失敗しない設計ルール集(完全実務版)

① 全体設計ルール(最重要)

1. 目的を「出力テーブル」で定義する

理由
途中処理を考え始めると破綻する

ルール

  • 最終的に出したい「列名・型・粒度」を先に決める

NG

  • 取込 → 加工を場当たり的に追加

2. 「1クエリ1役割」に分割する

理由
修正時に影響範囲が限定できる

ルール

  • 取込
  • クレンジング
  • 結合
  • 出力
    を別クエリにする

NG

  • 1クエリに全処理を詰め込む

3. 中間クエリは「参照」にする

理由
重複処理・更新遅延を防ぐ

ルール

  • コピー禁止
  • 必ず「参照」を使用

NG

  • 同じ処理を複製して使い回す

4. 自動生成ステップを信用しない

理由
環境差・データ差で壊れる

ルール

  • 型変換ステップは見直す
  • 不要なら削除

NG

  • 生成されたまま放置

5. 列名・型は必ず明示する

理由
後工程での破綻防止

ルール

  • 出力前に列名・型を固定

NG

  • 自動推測任せ

② 取込・接続設計ルール

6. フォルダ取込は「関数化」前提

理由
修正が1箇所で済む

ルール

  • 1ファイル処理を関数化
  • フォルダは適用のみ

NG

  • フォルダクエリに直接処理を書く

7. ファイル名・更新日時は必ず残す

理由
障害調査・差分確認に必須

ルール

  • FileName
  • ModifiedDate
    を列追加

NG

  • データだけ取り込む

8. ヘッダー昇格は必ず確認

理由
列ズレ事故の原因No.1

ルール

  • 昇格後、列数を必ず確認

NG

  • 無条件で昇格

9. 取込直後に行削除しない

理由
仕様変更時に検証不可

ルール

  • まず「Raw」クエリを残す

NG

  • 取込と同時に削除

③ クレンジング設計ルール

10. クレンジングは「順番」が命

正しい順

  1. NULL/空白統一
  2. 文字正規化
  3. 型変換
  4. チェック

NG

  • 型変換後に文字修正

11. エラーは潰さず分離する

理由
原因追跡不可になる

ルール

  • 正常データ
  • エラーデータ
    を別クエリ

NG

  • エラーをNULLに置換

12. 主キーは必ず検証する

理由
結合事故の防止

ルール

  • 重複チェッククエリを作る

NG

  • 信頼して結合

13. IFの多段ネストは禁止

理由
可読性・保守性が壊滅

ルール

  • 条件テーブル化
  • 段階列分割

NG

  • IF(IF(IF()))

④ 結合・集計設計ルール

14. 結合前後で必ず件数チェック

理由
データ欠損を即検知

ルール

  • 結合前行数
  • 結合後行数
    を確認

NG

  • 結果だけ見る

15. 多対多は設計ミスと疑う

理由
重複爆発の原因

ルール

  • 粒度を揃える
  • 中間テーブル作成

NG

  • 強引に結合

16. 集計前に型を固定

理由
集計エラー回避

ルール

  • 数値
  • 日付
    を明示指定

NG

  • 文字列のまま集計

17. ピボットは最終工程

理由
再利用性が落ちる

ルール

  • 正規化 → 出力専用ピボット

NG

  • 途中でピボット

⑤ パフォーマンス設計ルール

18. 不要列は早めに削除

理由
メモリ・速度改善

ルール

  • 使わない列は即削除

NG

  • 最後まで残す

19. 行削除は後段に寄せる

理由
フィルタ破綻防止

ルール

  • 検証後に削除

NG

  • 早期に削除

20. ステップ数は気にしない

理由
可読性優先

ルール

  • 意味単位で分ける

NG

  • ステップ削減至上主義

⑥ 運用・保守ルール

21. クエリ命名規則を決める

  • 00_Raw
  • 10_Clean
  • 20_Merge
  • 90_Output

NG

  • Query1, Query2

22. コメントは必ず残す

理由
引き継ぎ不能防止

ルール

  • 何をしているか1行説明

23. 出力クエリだけ読み込む

理由
Excel肥大化防止

ルール

  • 中間は「接続のみ」

NG

  • 全部読み込み

24. VBAとは役割分担

ルール

  • パワークエリ:前処理
  • VBA:操作・制御

NG

  • どちらかに寄せる

25. 壊れる前提で作る

理由
実務では必ず壊れる

ルール

  • ログ
  • チェック
  • 逃げ道
    を用意

⑦ 最終チェックリスト(実務用)

  • 出力仕様が明確
  • 役割分割できている
  • 参照クエリのみ使用
  • 主キー検証あり
  • 件数チェックあり
  • エラー分離済
  • 命名規則統一
  • 中間クエリ非表示
  • 更新ボタン1発

タイトルとURLをコピーしました