条件列を追加する
Power Query では、テーブル内の他の列に適用される 1 つ以上の条件に基づいた値を持つ新しい列を作成できます。
[条件列] コマンドは、[列の追加] タブの [全般] グループにあります。
条件列の追加
この例では、初めに次の図に示されているテーブルを使用します。
このテーブルには、CustomerGroup を示すフィールドがあります。 また、Tier 1 Price、Tier 2 Price、および Tier 3 Price のフィールドに、その顧客に適用できる価格がそれぞれ含まれています。 この例では、CustomerGroup フィールドの値に基づいて Final Price という名前の新しい列を作成することを目標としています。 CustomerGroup フィールドの値が 1 の場合は、Tier 1 Price フィールドの値を使用します。それ以外の場合は、Tier 3 Price の値を使用します。
この条件列を追加するには、[条件列] を選択します。 [条件列の追加] ダイアログ ボックスでは、次のセクションを定義します。
- 新しい列名: 新しい列の名前を定義します。 この例では Final Price という名前を使用します。
- 条件句: ここでは、条件句を定義します。 句をさらに追加するには、[句の追加] を選択します。 各条件句は、ダイアログ ボックスに表示される順序に従って、上から下にテストされます。 各句には、次の 4 つの部分があります。
- 列名: ドロップダウンリストで、条件テストに使用する列を選択します。 この例では、[CustomerGroup] を選択します。
- 演算子: テストの種類または条件テストの演算子を選択します。 この例では、[CustomerGroup] 列の値は 1 にする必要があるため、[指定の値に等しい] を選択します。
- 値: 値を入力したり、条件テストに使用する列を選択したりします。 この例では、「1」と入力します。
- 出力: テストが正の場合、ここに入力した値または選択した列が出力です。 この例では、CustomerGroup の値が 1 に等しい場合、出力値は Tier 1 Price 列の値である必要があります。
- 最後の Else 句: 上記のいずれの句のテストも正でない場合、この操作の出力はここで定義されたもの、つまり手動で入力した値または列の値です。 この場合、出力は Tier 3 Price 列の値です。
この操作の結果、Tier 1 Price 列と Tier 3 Price 列の値を含む新しい [Final Price] 列が表示されます。
Note
新しい条件列では、データ型が定義されていません。 この新しく作成された列のデータ型を定義する新しい手順を追加するには、「Power Query のデータ型」で説明されている手順に従ってください。
複数の句の追加と整理
この例で、目標を変更してみましょう。 新しい条件句は次のとおりです。
- [CustomerGroup] 列の値が 1 に等しい場合、出力は Tier 1 Price 列の値です。
- [CustomerGroup] 列の値が 2 に等しい場合、出力は Tier 2 Price 列の値です。
- 前のいずれのテストも正でない場合、出力は Tier 3 Price 列の値です。
Note
各句の最後で省略記号ボタン ([...]) を選択すると、句を削除、上に移動、または下に移動することができます。
この操作の結果、Tier 1 Price 列、Tier 2 Price 列、Tier 3 Price 列の価格を含む [Final Price] 列が表示されます。