カスタム列を追加する
Power Query の既定の方法より柔軟に新しい列を追加する必要がある場合は、Power Query の M 式言語を使用して独自のカスタム列を作成できます。
次のような列のセットを含むテーブルについて考えます。

Units、Unit Price、Discount の各列を使用して、2 つの新しい列を作成します。
- Total Sale before Discount: Units 列に Unit Price 列を乗算することで計算されます。
- Total Sale after Discount: Total Sale before Discount 列に正味の割合の値 (1 から割引値を引いた値) を乗算することで計算されます。
目標は、次の画像のような、新しい列を含むテーブルを作成することです。

カスタム列を作成する
[列の追加] タブで、 [カスタム列] を選びます。
![]()
[カスタム列] ダイアログ ボックスが表示されます。 このダイアログ ボックスで、列を作成する式を定義します。
![[カスタム列] ダイアログ ボックス [カスタム列] ダイアログ ボックス。](images/me-add-custom-column-window.png)
[カスタム列] ダイアログ ボックスには、次のものが含まれます。
右側の [利用可能な列] の一覧。
[新しい列名] ボックスの、カスタム列の初期名。 この列の名前は、変更できます。
[カスタム列の式] ボックスの Power Query M 式。
新しいカスタム列を追加するには、ダイアログ ボックスの右側にある [利用可能な列] の一覧から列を選びます。 次に、一覧の下にある [列の挿入] ボタンを選んで、カスタム列の式に追加します。 一覧で列を選んで追加することもできます。 または、 [カスタム列の式] ボックスで、Power Query の M 式言語を使って、独自の式を記述することもできます。
注意
カスタム列の作成時に構文エラーが発生した場合は、黄色の警告アイコンおよびエラー メッセージと理由が表示されます。
Total Sale before Discount 列の追加
Total Sale before Discount 列を作成するために使用できる式は、[Units] * [Unit Price] です。 次の画像は、 [カスタム列] ダイアログ ボックスの表示を示しています。

この操作の結果として、新しい Total Sale before Discount 列がテーブルに追加され、次の画像のようになります。

Total Sale after Discount 列の追加
Total Sale before Discount を作成するために使用できる式は、[Total Sale before Discount]* (1-[Discount]) です。 次の画像は、 [カスタム列] ダイアログ ボックスの表示を示しています。

この操作の結果として、新しい Total Sale after Discount 列がテーブルに追加され、次の画像のようになります。

列のデータ型の設定
新しい列にデータ型がまだ定義されていないことに注意してください。 これは、列のヘッダーのデータ型アイコン (ABC123) を見ることでわかります。 両方の新しい列のデータ型を通貨に変更する必要があります。
Total Sale before Discount 列と Total Sale after Discount 列の両方を選びます。
[ホーム] タブの [変換] グループで、 [データ型] > [通貨] を選びます。
![[ホーム] タブのデータ型 [ホーム] タブのデータ型。](images/me-add-custom-column-data-types.png)
両方の列のデータ型を定義したら、次の図のようなテーブルを作成します。

既存のカスタム列を変更する
Power Query によってカスタム列がテーブルに追加され、 [クエリの設定] にある [適用したステップ] の一覧に [追加されたカスタム] ステップが追加されます。

カスタム列を変更するには、 [適用したステップ] の一覧の [追加されたカスタム] ステップを選びます。
[カスタム列] ダイアログ ボックスが表示され、作成したカスタム列の式が示されます。
次のステップ
- カスタム列を作成するには、Power Query エディターに提供する例に基づいて列を作成するなど、他の方法もあります。 詳細情報: 例から列を追加する
- Power Query M のリファレンス情報については、「Power Query M 関数リファレンス」を参照してください。