条件列を追加する

Power Query では、テーブル内の他の列に適用される 1 つ以上の条件に基づいた値を持つ新しい列を作成できます。

[条件列] コマンドは、 [列の追加] タブの [全般] グループにあります。

[条件列] コマンド。

条件列の追加

この例では、次の図に示されているテーブルを使用します。

条件列を追加するときに使用するサンプル テーブル。

このテーブルには、CustomerGroup を示すフィールドがあります。 また、Tier 1 PriceTier 2 Price、および Tier 3 Price のフィールドに、その顧客に適用できる価格がそれぞれ含まれています。 この例では、CustomerGroup フィールドの値に基づいて Final Price という名前の新しい列を作成することを目標としています。 CustomerGroup フィールドの値が 1 の場合は、Tier 1 Price フィールドの値を使用します。それ以外の場合は、Tier 3 Price の値を使用します。

この条件列を追加するには、 [条件列] を選択します。 [条件列の追加] ダイアログ ボックスでは、次の図に示されている 3 つのセクションを定義できます。

新しい列名と使用する条件句を指定するダイアログ ボックス。

  1. 新しい列名: 新しい列の名前を定義できます。 この例では Final Price という名前を使用します。
  2. 条件句: ここでは、条件句を定義します。 句をさらに追加するには、 [句の追加] を選択します。 各条件句は、ダイアログ ボックスに表示される順序に従って、上から下にテストされます。 各句には、次の 4 つの部分があります。
    • 列名: ドロップダウンリストで、条件テストに使用する列を選択します。 この例では、 [CustomerGroup] を選択します。
    • 演算子: テストの種類または条件テストの演算子を選択します。 この例では、 [CustomerGroup] 列の値は 1 にする必要があるため、 [指定の値に等しい] を選択します。
    • : 値を入力したり、条件テストに使用する列を選択したりできます。 この例では、「1」と入力します。
    • 出力: テストが正の場合、ここに入力した値または選択した列が出力されます。 この例では、CustomerGroup の値が 1 に等しい場合、出力 値は Tier 1 Price 列の値である必要があります。
  3. 最後の Else 句: 上記のいずれの句のテストも正でない場合、この操作の出力はここで定義されたもの、つまり手動で入力した値または列の値になります。 この場合、出力は Tier 3 Price 列の値になります。

その操作の結果、新しい Final Price 列が追加されます。

例の条件句によって生成された、任意のデータ型の Final Price 列が示されているテーブル。

注意

新しい条件列では、データ型が定義されません。 この新しく作成された列のデータ型を定義する新しい手順を追加するには、「Power Query のデータ型」で説明されている手順に従ってください。

複数の句の追加と整理

この例で、目標を変更してみましょう。 新しい条件句は次のとおりです。

  • [CustomerGroup] 列の値が 1 に等しい場合、出力Tier 1 Price 列の値にします。
  • [CustomerGroup] 列の値が 2 に等しい場合、出力Tier 2 Price 列の値にします。
  • 前のいずれのテストも正でない場合、出力Tier 3 Price 列の値にします。

[条件列の追加] ダイアログボックス。[Final Price] 列の値に対して定義されている 2 つの条件句が示されています。

注意

各句の最後で省略記号ボタン ([...]) を選択すると、句を削除、上に移動、または下に移動することができます。

この操作の結果、目的の結果が得られます。

複数の条件句によって生成された、任意のデータ型の Final Price 列が示されているテーブル。