パラメーターを使用します。
パラメーターは、再利用できる値を簡単に格納および管理する手段として機能します。
パラメーターを使用すると、その値に応じて柔軟にクエリの出力を動的に変更できるようになり、次の目的に使用できます。
- 特定の変換およびデータ ソース関数の引数値を変更する。
- カスタム関数の入力。
パラメーターは、 [パラメーターの管理] ウィンドウで簡単に管理できます。 [パラメーターの管理] ウィンドウに移動するには、[ホーム] タブの [パラメーターの管理] で [パラメーターの管理] オプションを選択します。
パラメーターの作成
Power Query には、パラメーターを作成する 2 つの簡単な方法が用意されています。
既存のクエリから: 値が単純な非構造化定数 (日付、テキスト、数値など) であるクエリを右クリックし、[ パラメーターに変換] を選択します。
パラメーターを右クリックし、[クエリに変換] を選択して、パラメーターを クエリに変換することもできます。
[パラメーターの管理] ウィンドウの使用: [ホーム] タブの [パラメーターの管理] のドロップダウン メニューから [新しいパラメーター] オプションを選択します。または、[パラメーターの管理] ウィンドウを起動し、上部の [新規] を選択してパラメーターを作成します。 このフォームに入力し、[ OK] を 選択して新しいパラメーターを作成します。
パラメーターを作成した後は、いつでも [パラメーターの管理] ウィンドウに戻り、どのパラメーターでも変更できます。
パラメーターのプロパティ
パラメーターには、Power Query での変換に使用できる値が格納されます。 パラメーターの名前およびパラメーターに格納されている値以外に、メタデータを提供する他のプロパティもあります。 パラメーターのプロパティは次のとおりです。
名前: このパラメーターの名前を指定します。この名前を使用すると、作成する可能性のある他のパラメーターを簡単に認識して区別できます。
説明: パラメーター情報が表示されると、パラメーター名の横に説明が表示され、パラメーター値を指定しているユーザーがその目的とそのセマンティクスを理解するのに役立ちます。
必須: このチェック ボックスは、後続のユーザーがパラメーターの値を指定する必要があるかどうかを指定できるかどうかを示します。
型: パラメーターのデータ型を指定します。 常にパラメーターのデータ型を設定することをお勧めします。 データ型の重要性の詳細については、「データ型」を参照 してください。
推奨値: 使用可能なオプションから 現在 の値の値を選択するための提案をユーザーに提供します。
任意の値: 現在の値には、手動で入力した任意の値を指定できます。
値の一覧: テーブルに似たシンプルなエクスペリエンスが提供されるため、 現在の値に対して後で選択できる推奨値の一覧を定義できます。 このオプションを選ぶと、 [既定値] という新しいオプションを使用できるようになります。 ここから、このパラメーターの既定値を選択できます。これは、パラメーターを参照するときにユーザーに表示される既定値です。 この値は、パラメーター内に格納され、変換で引数として渡すことができる値である、 [現在の値] と同じではありません。 [値のリスト] を使用すると、[既定値] フィールドと [現在の値] フィールドに表示されるドロップダウン メニューが表示され、推奨される値の一覧からいずれかの値を選択できます。
注意
その場合でも、パラメーターに渡す任意の値を手動で入力できます。 提案される値の一覧は、単純な提案としてのみ機能します。
クエリ: リスト クエリ (出力がリストであるクエリ) を使用して、 現在の値に対して後で選択できる推奨値の一覧を指定します。
現在の値: このパラメーターに格納されている値。
パラメーターを使用する場所
パラメーターはさまざまな方法で使用できますが、一般的なのは次の 2 つのシナリオです。
- ステップ引数: ユーザー インターフェイス (UI) から駆動される複数の変換の引数としてパラメーターを使用できます。
- カスタム関数引数: カスタム関数の引数として、クエリパラメーターと参照パラメーターから新しい関数を作成できます。
次のセクションでは、これら 2 つのシナリオの例を示します。
ステップ引数
この機能を有効にするには、まず、Power Query エディターの [表示] タブに移動し、[パラメーター] グループの [常に許可] オプションを選択します。
たとえば、次の Orders テーブルには、 OrderID、 Units、 Margin フィールドが含まれています。
この例では、10 進数の種類と現在の値が 0.2 の最小余白という名前の新しいパラメーターを作成します。
Orders クエリに移動し、[余白] フィールドで [より大きい] フィルター オプションを選択します。
[ フィルター行 ] ウィンドウには、フィールドのデータ型が選択されたボタンがあります。 このボタンのドロップダウン メニューから [パラメーター] オプションを選択します。 データ型ボタンの横にあるフィールド選択から、この引数に渡すパラメーターを選択します。 この例では、Minimum Margin パラメーターです。
[OK] を選択すると、パラメーターの [現在の値] を使用してテーブルがフィルター処理されます。
[最小マージン] パラメーターの [現在の値] を 0.3 に変更すると、注文クエリはすぐに更新され、Margin が 30% を超える行のみが表示されます。
ヒント
Power Queryの多くの変換では、ドロップダウンからパラメーターを選択できます。 常に検索し、どのようなパラメーターを提供できるかを利用することをお勧めします。
カスタム関数の引数
Power Query では、簡単なクリックで既存のクエリからカスタム関数を作成できます。 前の例に従って、 Orders クエリを右クリックし、[ 関数の作成] を選択します。 このアクションにより、新しい [関数の作成] ウィンドウが 起動します。 このウィンドウで、新しい関数に名前を付け、クエリで参照されているパラメーターが示されます。 これらのパラメーターは、カスタム関数のパラメーターとして使用されます。
この新しい関数には、必要に合った名前を付けることができます。 デモンストレーションの目的で、この新しい関数の名前は MyFunction です。 [OK] を選択すると、新しい関数の名前を使用してクエリ ペインに新しいグループが作成されます。 このグループには、関数に使用されているパラメーター、関数の作成に使用されたクエリ、および関数自体が含まれます。
この新しい関数をテストするには、[ 最小余白 ] ラベルの下のフィールドに 0.4 などの値を入力します。 次に、 [起動] ボタンを選びます。 これにより 、呼び出された関数という名前の新しいクエリが作成され、関数の引数として使用される値 0.4 が実質的に渡され、余白が 40% を超える行のみが返されます。
カスタム関数を作成する方法の詳細については、「カスタム関数 の作成」を参照してください。
複数値パラメーターまたはリスト パラメーター
Power Query Online でのみ使用できる新しい種類のパラメーターは、複数値パラメーターまたはリスト パラメーターです。 このセクションでは、新しいリスト パラメーターを作成する方法と、それをクエリで使用する方法について説明します。
前の例に従って、 最小余白 の現在の値を 0.3 から 0.1 に変更します。 新しい目標は、分析対象の注文の注文番号を保持できるリスト パラメーターを作成することです。 新しいパラメーターを作成するには、[ パラメーターの管理] ダイアログに移動し、[ 新規 ] を選択して新しいパラメーターを作成します。 この新しいパラメーターに次の情報を入力します。
- 名前: 興味深い注文
- 説明: 特定の分析に興味深い注文番号のセット
- 必須: True
- 型: リスト
これらのフィールドを定義すると、新しいグリッドがポップアップ表示され、パラメーターに格納する値を入力できます。 この場合、これらの値は 125、 777、 999 です。
注意
この例では数値を使用しますが、テキスト、日付、datetime など、他のデータ型をリストに格納することもできます。 詳細: Power Queryのデータ型
ヒント
リスト パラメーターで使用される値をより詳細に制御する場合は、定数値を含むリストを常に作成し、この記事で説明したようにリスト クエリをパラメーターに変換できます。
新しい 興味深い注文 リストのパラメーターが設定された状態で、 Orders クエリに戻ります。 OrderID フィールドの自動フィルター メニューを選択します。 [ 数値フィルター>] を選択します。
このオプションを選択すると、新しい [ 行のフィルター] ダイアログ ボックスが表示されます。 ここから、ドロップダウン メニューからリスト パラメーターを選択できます。
注意
リスト パラメーターは、 In オプションまたは Not in オプションを使用できます。 In では、リストの値によってのみフィルター処理できます。 Not in は正反対ではなく、列をフィルター処理して、パラメーターに格納されている値と等しくないすべての値を取得しようとします。
[OK] を選択すると、クエリに戻ります。 そこで、作成したリスト パラメーターを使用してクエリがフィルター処理され、 OrderID が 125、 777、または 999 のいずれかに等しい行のみが保持されます。