首页 > 解决方案 > 为什么 Power Query 的 M List.Contains 函数不按我想象的方式工作?

问题描述

我有一个简单的数字和 ABC 表

在此处输入图像描述

当我用这一行添加一列时 -

List.Contains( { [ID] }, {1} ) 返回 FALSE,即使 ID 列的第一行中存在 1。

当我做

List.Contains( { [ID] }, 1 ) 返回 TRUE,这就是我想要的。

这对我来说有点反直觉,不知道为什么 - 我正在将列表与列表进行比较。因此,如果我将 1 包装在 {1} 列表中,为什么这不起作用?

在此处输入图像描述

标签: powerbipowerquerym

解决方案


List.Contains函数要求第二个参数有一个值。这就是它的定义方式。

将列表用于第二个参数并没有真正意义,除非很清楚如果列表中有多个元素它将如何工作。对于这种情况,有单独的函数List.ContainsAllList.ContainsAny确实需要第二个参数的列表。


推荐阅读