我想用Powerquery在Excel中执行一个操作。为什么前一行中的值的引用会引发此Expression.Error?
我想删除列表中的联系人,如果他们连接到某个CompanyID但列有不同的CompanyName。
第一步是通过与上面的行进行比较来过滤它们。他们总是连续列出。
下一步是删除删除列中包含值delete的所有行,但不幸的是我没有进入该步骤。
我已经看过this post,并用下面的代码曾尝试:
= Table.AddColumn(#"Added index", "Delete", each if [CustomerID]= #"Added index"{[ContactID]-1}[CustomerID] and [CompanyName]<> #"Added index"{[ContactID]-1}[CompanyName] then "delete" else null)
但我得到这个错误:
There were too many elements in the enumeration to complete the operation
我用Google搜索了错误,它似乎有重复的连接列名,但我没有任何这些。
请帮忙!
您是否在“已添加索引”步骤之后立即添加此步骤?或者之间有任何步骤?发布从“已添加索引”步骤开始的代码。您发布的声明对我来说工作得很好,所以数据中一定有一些东西。 – teylyn
Thx @teylyn!这让我朝着正确的方向前进。正如你怀疑的那样,它们之间有几个步骤。 '添加索引'和'添加列'。由于敏感信息太多,我不想发布完整的代码。编辑它们需要很长时间,并且还可能冒着代码中的拼写错误。 – MrDark
我会尝试解释导致错误的步骤。在创建索引列后,我创建了一个名为CustomerID的自定义列,并使用索引列来生成一个从10000. 10001,10002,10003等开始的数字序列。然后我删除了索引列。接下来,我使用原始帖子中的代码尝试使用CustomerID列引用上面的行。那是错误发生的时间。 – MrDark