実務で使えるPower Query小技・テクニック | M言語・基本操作:ステップ名の付け方

Excel VBA Power Query M Formula Language
スポンサーリンク
スポンサーリンク

ステップ名の付け方

Power Query(M言語)を実務で使う際に、ステップ名の付け方は品質を左右する重要ポイントです。 ステップ名は「ただの名前」ではなく、後続ステップが参照する“変数名”そのものです。 つまり、ステップ名が読みやすいほど、クエリの保守性・再利用性・チーム共有性が大きく向上します。

ここでは、初心者でも迷わず実務レベルのステップ名を付けられるように、 考え方 → 例題 → テンプレートの順でステップバイステップ解説します。

ステップ名は「処理内容を一言で表す変数名」

なぜステップ名が重要なのか

Power Query が自動生成するステップ名は、次のようなものが多いです。

  • ChangedType
  • AddedCustom
  • FilteredRows
  • SortedRows

これらは機械的で意味が曖昧なため、実務では次の問題が起きます。

  • どのステップが何をしているか一目で分からない
  • 後から修正するときに迷う
  • 他の人が読めない
  • 自分でも数日後に読めなくなる

つまり、ステップ名は「処理内容を一言で表す説明文」になっているべきなのです。

ステップ名の付け方・基本ルール

ルール1:処理内容がひと目で分かる名前にする

悪い例:

AddedCustom = Table.AddColumn(Source, "金額2倍", each [金額] * 2)
Power Query

良い例:

AddedAmountDoubleColumn = Table.AddColumn(Source, "金額2倍", each [金額] * 2)
Power Query

「何をしたステップか」が名前から分かることが重要です。

ルール2:英語で書く(M言語は英語の関数が多いため)

日本語でも動きますが、実務では英語が圧倒的に読みやすいです。

例:

  • TrimmedCustomerCode
  • FilteredValidRows
  • AddedTaxColumn
  • SortedByAmount

ルール3:単語はキャメルケース(UpperCamelCase)でつなぐ

例:

  • CleanedCustomerCode
  • RemovedErrorRows
  • MergedCustomerMaster

キャメルケースは Power Query の自動生成名とも相性が良く、読みやすさが向上します。

ルール4:ステップ名は「名詞+動詞」または「動詞+目的語」

例:

  • FilteredRowsByAmount
  • AddedColumnTax
  • SortedByCustomerCode

「何をどうしたか」が明確になります。

ステップ名の付け方をステップバイステップで理解する

ステップ1:処理内容を日本語で一言にする

例: 「顧客コードの前後の空白を削除する」

ステップ2:それを英語にする

Trim customer code

ステップ3:キャメルケースにする

TrimmedCustomerCode

ステップ4:ステップ名として使う

let
    TrimmedCustomerCode =
        Table.TransformColumns(Source, {{"顧客コード", Text.Trim, type text}})
in
    TrimmedCustomerCode
Power Query

これで「何をしたステップか」が一目で分かります。

実務でよく使うステップ名テンプレート

フィルタ系

FilteredValidRows
FilteredPositiveAmount
FilteredNonEmptyCustomerCode
Power Query

列追加系

AddedTaxColumn
AddedAmountDoubleColumn
AddedCustomerNameFromMaster
Power Query

クレンジング系

TrimmedCustomerCode
NormalizedProductCode
ConvertedDateColumn
Power Query

結合系

MergedCustomerMaster
MergedProductMaster
JoinedSalesAndCustomer
Power Query

ソート系

SortedByAmount
SortedByCustomerCode
SortedByDateDescending
Power Query

エラー処理系

FlaggedErrorRows
SeparatedErrorRows
RemovedErrorRows
Power Query

ステップ名の良い例・悪い例

悪い例(自動生成のまま)

ChangedType
AddedCustom
FilteredRows
MergedQueries
Power Query

良い例(実務向け)

ConvertedColumnTypes
AddedTaxColumn
FilteredValidSalesRows
MergedCustomerMaster
Power Query

読みやすさが圧倒的に違います。

ステップ名を改善した実例

Before(自動生成)

let
    Source = Excel.CurrentWorkbook(){[Name="売上"]}[Content],
    ChangedType = Table.TransformColumnTypes(Source,{{"金額", Int64.Type}}),
    FilteredRows = Table.SelectRows(ChangedType, each [金額] > 1000),
    AddedCustom = Table.AddColumn(FilteredRows, "金額2倍", each [金額] * 2)
in
    AddedCustom
Power Query

After(実務向け)

let
    Source = Excel.CurrentWorkbook(){[Name="売上"]}[Content],
    ConvertedAmountType = Table.TransformColumnTypes(Source,{{"金額", Int64.Type}}),
    FilteredHighAmountRows = Table.SelectRows(ConvertedAmountType, each [金額] > 1000),
    AddedAmountDoubleColumn = Table.AddColumn(FilteredHighAmountRows, "金額2倍", each [金額] * 2)
in
    AddedAmountDoubleColumn
Power Query

どのステップが何をしているか、名前だけで理解できます。

ステップ名を付けるときの“深掘りポイント”

1. ステップ名は「後から読む人のため」に付ける

自分だけが読むなら適当でも動きますが、 実務では他の人が読む可能性が高いです。

「未来の自分」も含めて読みやすくすることが重要です。

2. ステップ名は“処理の意図”を表す

悪い例: FilteredRows(何をフィルタした?)

良い例: FilteredValidCustomerRows(顧客コードが有効な行だけ残した)

3. ステップ名は「短すぎても長すぎてもダメ」

短すぎる:意味が分からない 長すぎる:読みにくい

理想は 3〜5語程度です。

まとめ:ステップ名は“実務品質”を決める最重要ポイント

ステップ名はただの名前ではなく、 クエリの読みやすさ・保守性・再利用性を決める変数名です。

次のルールを守れば、誰が見ても分かるクエリになります。

  • 処理内容がひと目で分かる名前にする
  • 英語で書く
  • キャメルケースでつなぐ
  • 名詞+動詞で「何をどうしたか」を表す

ステップ名を整えるだけで、クエリの品質は劇的に向上します。

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