添加条件列
使用 Power Query,可以创建新列,新列值将基于应用于表中其他列的一个或多个条件。
条件列命令位于常规组的添加列选项卡中。
添加条件列
在此示例中,请使用下图所示的表。
在此表中,有一个提供 CustomerGroup 的字段。 在第 1 层价格、第 2 层价格和第 3 层价格字段中,也有适用于该客户的不同价格。 在此示例中,目标是根据 CustomerGroup 字段中的值创建名称为最终价格的新列。 如果“CustomerGroup”字段中的值等于 1,则希望使用“第 1 层价格”字段中的值;否则,将使用“第 3 层价格”中的值。
要添加此条件列,请选择条件列。 在“添加条件列”对话框中,定义以下部分:
- 新列名称:定义新列的名称。 在此示例中,请使用名称“最终价格”。
- 条件子句:定义条件子句。 通过选择添加子句,可以添加更多子句。 将按照对话框中所示的顺序,从上到下测试每个条件子句。 每个子句都有四个部分:
- 列名称:在下拉列表中,选择要用于条件测试的列。 对于此示例,选择 CustomerGroup。
- 运算符:为条件测试选择测试或运算符的类型。 在此示例中,CustomerGroup 列中的值必须等于 1,因此选择等于。
- 值:输入值或选择要用于条件测试的列。 对于此示例,输入 1。
- 输出:如果测试结果为正,则在此处输入的值或选择的列即为输出。 对于此示例,如果 CustomerGroup 值等于 1,则“输出值”应为“第 1 层价格”列中的值。
- Final Else 子句:如果上述子句的测试结果都不为正,则此操作的输出将是此处定义的子句,作为手动输入的值或列中的值。 在这种情况下,输出将是“第 3 层价格”列中的值。
该操作的结果提供了一个新的“最终价格”列,其中包含“第 1 层价格”列和“第 3 层价格”列中的值。
注意
新的条件列不会定义数据类型。 可以按照 Power Query 中的数据类型中所述的步骤,添加一个新步骤来定义此新创建列的数据类型。
添加和组织多个子句
对于此示例,将更改目标。 新的条件子句包括:
- 如果“CustomerGroup”列中的值等于 1,则输出将是“第 1 层价格”列中的值。
- 如果“CustomerGroup”列中的值等于 2,则输出将是“第 2 层价格”列中的值。
- 如果之前的测试结果都不为正,则输出将是“第 3 层价格”列中的值。
注意
在每个子句的末尾,可以选择省略号按钮 (...) 以删除、上移或下移子句。
该操作的结果提供了一个新的“最终价格”列,其中包含“第 1 层价格”列、“第 2 层价格”列和“第 3 层价格”列中的值。