カスタム列を追加する

Power Query の標準の機能よりも柔軟性の高い新しい列の追加機能が必要な場合は、Power Query M 式言語を使用して独自のカスタム列を作成できます。

次のような列のセットを含むテーブルについて考えます。

Date、Country、Units、Unit Price、% Discount の各列を含むサンプルの初期テーブル。

UnitsUnit PriceDiscount の各列を使用して、2 つの新しい列を作成します。

  • Total Sale before Discount: Units 列に Unit Price 列を乗算することで計算されます。
  • Total Sale after Discount: Total Sale before Discount 列に正味の割合の値 (1 から割引値を引いた値) を乗算することで計算されます。

目標は、割引前の売上合計の列と割引後の売上合計の列を含むテーブルを作成することです。

テーブルにカスタム列 Total Sale before Discount と Total Sale after Discount を作成します。

カスタム列を作成する

[列の追加] タブで、[カスタム列] を選びます。

[列の追加] タブの [カスタム列] コマンド。

[カスタム列] ダイアログ ボックスが表示されます。 このダイアログ ボックスで、列を作成する式を定義します。

[カスタム列] ダイアログ ボックス。

[カスタム列] ダイアログ ボックスには、次のものが含まれます。

  • [新しい列名] ボックスの、カスタム列の初期名。 この列の名前は、変更できます。

  • 新しい列のデータ型を選択するためのドロップダウン メニュー。

  • [データ型] 選択肢の直下にある [使用可能な列] リスト。

  • Power Query M 式を入力できるカスタム列の式ボックス。

新しいカスタム列を追加するには、[使用可能な列] リストから列を選択します。 次に、一覧の下にある [列の挿入] ボタンを選んで、カスタム列の式に追加します。 一覧で列を選んで追加することもできます。 または、[カスタム列の式] で Power Query M 式言語を使用して、独自の式を記述することもできます。

Note

カスタム列の作成時に構文エラーが発生した場合は、黄色の警告アイコン、エラー メッセージ、理由が表示されます。

Total Sale before Discount 列の追加

割引前の売上合計列を作成するために使用する式は [Units] * [Unit Price] です。 [データ型] で 、[通貨] データ型を選択します。

Total Sale before Discount カスタム列の式。

この操作によって、新しい [割引前の売上合計] 列がテーブルに追加されます。

割引なしの価格を示す Total Sale before Discount という名前の新しいカスタム列を含むテーブル。

Note

Power Query Desktop を使用している場合は、[データ型] フィールドが [カスタム列] で使用できないことに気付くでしょう。 これは、列を作成した後に、カスタム列のデータ型を定義する必要があることを示しています。 詳細情報: Power Query のデータ型

Total Sale after Discount 列の追加

Total Sale before Discount を作成するために使用できる式は、[Total Sale before Discount]* (1-[Discount]) です。 この新しい列のデータ型を [通貨] に設定します。

Total Sale after Discount カスタム列の式。

この操作によって、新しい [割引後の売上合計] 列がテーブルに追加されます。

割引が適用された価格を示す Total Sale after Discount という名前の新しいカスタム列を含むテーブル。

既存のカスタム列を変更する

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

適用しステップの一覧に追加されたカスタム列。

カスタム列を変更するには、[適用したステップ] の一覧の [追加されたカスタム] ステップを選びます。

[カスタム列] ダイアログ ボックスが表示され、作成したカスタム列の式が示されます。

Note

Power Query は、カスタム列で使用した数式に応じて、ステップの設定動作を変更して、よりシンプルでネイティブなエクスペリエンスを実現します。 この例では、追加されたカスタム ステップの動作が標準のカスタム列ステップから乗算エクスペリエンスに変更されました。これは、このステップの数式では 2 つの列の値の乗算のみが行われるためです。

次のステップ

  • カスタム列を作成するには、Power Query エディターに提供する例に基づいて列を作成するなど、他の方法もあります。 詳細情報: 例から列を追加する
  • Power Query M のリファレンス情報については、「Power Query M 関数リファレンス」を参照してください。