Excel Power Query:对列值使用 List.MatchAny



在Excel Power Query中,我有一个表。 列 A 具有单个数字。 我想标记那些 A 列值与列表匹配的记录。 该问题的精简版本是:

let
TableA = Table.FromColumns({{1,2,4}}, {"A"}),
ListB = {4,5,6 },
DPart = Table.AddColumn(TableA, "IsInB", 
List.MatchesAny(ListB, each _ = [A]))
in
DPart

我在 DPart 行中出现错误

Expression.Error: We cannot apply field access to the type Number.
Details:
Value=4
Key=A

显然,代码正在尝试访问列表元素的 [A] 列,而不是 TableA 的 [A] 列。

完成此操作的正确语法是什么?

这有效:

let
TableA = Table.FromColumns({{1,2,4}}, {"A"}),
ListB = {4,5,6 },
DPart = Table.AddColumn(TableA, "IsInB", 
(x) => List.MatchesAny(ListB, each _ = x[A]))
in
DPart

但我更喜欢:

let
TableA = Table.FromColumns({{1,2,4}}, {"A"}),
ListB = {4,5,6 },
DPart = Table.AddColumn(TableA, "IsInB", 
each List.Contains(ListB, _[A]))
in
DPart

最新更新