カスタム列を追加する
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 から割引値を引いた値) を乗算することで計算されます。
目標は、割引前の売上合計の列と割引後の売上合計の列を含むテーブルを作成することです。
[列の追加] タブで、[カスタム列] を選びます。
[カスタム列] ダイアログが表示されます。 このダイアログで、列を作成する式を定義します。
[カスタム列] ダイアログには、次のものが含まれます。
[新しい列名] ボックスの、カスタム列の初期名。 この列の名前は、変更できます。
新しい列のデータ型を選択するためのドロップダウン メニュー。
[データ型] 選択肢の直下にある [使用可能な列] リスト。
Power Query M 式を入力できるカスタム列の式ボックス。
新しいカスタム列を追加するには、[使用可能な列] リストから列を選択します。 次に、一覧の下にある [列の挿入] ボタンを選んで、カスタム列の式に追加します。 一覧で列を選んで追加することもできます。 または、[カスタム列の式] で Power Query M 式言語を使用して、独自の式を記述することもできます。
注意
カスタム列の作成時に構文エラーが発生した場合は、エラー メッセージと理由とともに黄色の警告アイコンが表示されます。
割引前の売上合計列を作成するために使用する式は [Units] * [Unit Price]
です。 [データ型] で 、[通貨] データ型を選択します。
この操作によって、新しい [割引前の売上合計] 列がテーブルに追加されます。
注意
Power Query Desktop を使用している場合、[データ型] フィールドは [カスタム列] で使用できません。 これは、列を作成した後に、カスタム列のデータ型を定義する必要があることを示しています。 詳細情報: Power Query のデータ型
Total Sale before Discount を作成するために使用できる式は、[Total Sale before Discount]* (1-[Discount])
です。 この新しい列のデータ型を [通貨] に設定します。
この操作によって、新しい [割引後の売上合計] 列がテーブルに追加されます。
Power Query によってカスタム列がテーブルに追加され、[クエリの設定] にある [適用したステップ] の一覧に [追加されたカスタム] ステップが追加されます。
カスタム列を変更するには、[適用したステップ] の一覧の [追加されたカスタム] ステップを選びます。
[カスタム列] ダイアログ ボックスが表示され、作成したカスタム列の式が示されます。
注意
Power Query は、カスタム列で使用した数式に応じて、ステップの設定動作を変更して、よりシンプルでネイティブなエクスペリエンスを実現します。 この例では、追加されたカスタム ステップの動作が標準のカスタム列ステップから乗算エクスペリエンスに変更されました。これは、このステップの数式では 2 つの列の値の乗算のみが行われるためです。
- カスタム列を作成するには、Power Query エディターに提供する例に基づいて列を作成するなど、他の方法もあります。 詳細情報: 例から列を追加する
- Power Query M のリファレンス情報については、「Power Query M 関数リファレンス」を参照してください。