Excel Power Query:对列值使用 List.MatchAny
Excel Power Query: Using List.MatchAny on a column value
在 Excel Power Query 中,我有一个 table。 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] 列,而不是表 A 的 [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
在 Excel Power Query 中,我有一个 table。 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] 列,而不是表 A 的 [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