有人可以解释第一个过滤器语句与 DAX 中的第二个语句有何不同吗?
FILTER(Table, Table[Column] = "some text")
FILTER(VALUES(Table[Column]), (Table[Column] = "some text"))
有人可以解释第一个过滤器语句与 DAX 中的第二个语句有何不同吗?
FILTER(Table, Table[Column] = "some text")
FILTER(VALUES(Table[Column]), (Table[Column] = "some text"))
FILTER 函数是一个表函数,这意味着它将返回一个表。在您的第二个示例的情况下,您很可能会得到一个标量值(单个值),因为您正在通过单个值过滤一个表(一列唯一值)。但是,在第一个 FILTER 实例中,您将返回第一个参数的整个表,该表仅由第二个参数中的条件过滤。作为参考,我使用了 Power BI Desktop 版本中构建的示例数据来向您展示主要差异。
从您的第一个 FILTER 示例
FILTER( financials, financials[Country] = "Germany" )
从您的第二个 FILTER 示例中:
FILTER( VALUES( financials[Country] ), financials[Country] = "Germany" )
-- The extra parantheses around the second argument are not necessary...
输出
因此,主要的功能差异在于输出。你想返回什么?整个表或列的特定值?