PowerQueryエディタはGUI操作でM言語を生成できるのが利点ではあるが、自動生成されたコードは変更があったときには都度修正が必要になる。典型的な要件についてはM言語を修正しておくことで保守性を上げることができる。その代わりに、歯車アイコンからメンテナンスすることができなくなるというデメリットもあるので、利用者のレベルに合わせて使うかどうかを決めると良い。
クエリマージ後の展開
クエリのマージとマージしたクエリの展開は、VlookUpのような使い方をする上で基本的かつよく使う操作だが、マージ対象のクエリの列が増減するとき、クエリの列名称が変わったときには毎回歯車で展開対象の列を指定する必要がある。そのため、列名のリストを直接指定するかわりにTable.ColumnNamesクエリの列名のリストを渡すことでクエリの定義の変更に同期するようにできる。また、先頭のいくつかの列をキーにしてJoinするというよくあるケースでは、List.Skipでいくつかの列を飛ばすようにすれば良い。
列の削除
不要な行は削除したほうが見通しが良くなるので序盤で列の削除をしたくなるが、一方で列を後から追加したときに表示されないというジレンマがある。