ステップ名の付け方
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 QueryAfter(実務向け)
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語程度です。
まとめ:ステップ名は“実務品質”を決める最重要ポイント
ステップ名はただの名前ではなく、 クエリの読みやすさ・保守性・再利用性を決める変数名です。
次のルールを守れば、誰が見ても分かるクエリになります。
- 処理内容がひと目で分かる名前にする
- 英語で書く
- キャメルケースでつなぐ
- 名詞+動詞で「何をどうしたか」を表す
ステップ名を整えるだけで、クエリの品質は劇的に向上します。
