为什么对前一行中的值的引用引发这个Expression.Error?

我正在尝试使用Powerquery在Excel中执行操作。

我想要删除列表中的联系人,如果他们连接到某个CompanyID但列出与不同的CompanyName。

第一步是通过与上面的行进行比较来过滤掉它们。 他们总是连续列出。

下一步是删除删除列中包含值删除的所有行,但不幸的是,我不明白这一步。

我已经看了这个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了错误,似乎与重复的列名称连接,但我没有任何这些。

请帮忙!

如果您在操作数据的#"Added Index"之后有任何步骤,则需要注意当前步骤将参考数据,因为它出现在#"Added Index"步骤中。 您在#"Added index"步骤之后执行的任何操作都不会对您发布的语句可用。

您可能需要调整您的发布步骤,以使用数据的最新表示,而不是#"Added index"

如果#"Added index"是M代码中最新的一步,那么语句运行正常,所以问题在于数据是在两者之间的步骤中操作的。 调整语句以引用最近的数据步骤而不是#"Added index"