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

大卫·T

在 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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章