DISTINCT(列)

返回由一列组成的表,其中包含与指定列不同的值。 换言之,会删除重复值并且仅返回唯一的值。

注意

此函数不能用于将值返回到工作表上的单元格或列中;但可以将 DISTINCT 函数嵌套在公式中以获取非重复值列表,可以将这些值传递给其他函数并对其进行计数、求和或用于其他操作。

语法

DISTINCT(<column>)  

parameters

术语定义
要从其中返回唯一值的列。 或者返回列的表达式。

返回值

唯一值的列。

备注

  • DISTINCT 的结果会受到当前筛选上下文的影响。 例如,如果在以下示例中使用公式来创建一个度量值,那么只要对表进行筛选以仅显示特定区域或某个时间段,结果就会更改。

  • 在已计算的列或行级安全性 (RLS) 规则中使用时,不支持在 DirectQuery 模式下使用此函数。

有另一个版本的 DISTINCT 函数 DISTINCT (table),它可通过删除其他表或表达式中的重复行来返回表。

VALUES 函数类似于 DISTINCT;它还可用于返回唯一值的列表,并且通常将返回与 DISTINCT 完全相同的结果。 但是,在某些上下文中,VALUES 将返回一个额外的特殊值。 有关详细信息,请参阅 VALUES 函数

示例

下面的公式会计算通过 Internet 渠道生成了订单的唯一客户的数量。 下表说明了将公式添加到报表后可能产生的结果。

= COUNTROWS(DISTINCT(InternetSales_USD[CustomerKey]))  

不能将 DISTINCT 返回的值列表直接粘贴到列中。 相反,可以使用列表将 DISTINCT 函数的结果传递给对值进行计数、筛选或聚合的其他函数。 为了尽可能简化示例,此处的非重复值表已经传递给了 COUNTROWS 函数。

行标签AccessoriesBikesClothing总计
200510131013
200626772677
20076792487528679309
200894355451419611377
总计151149132685218484

另请注意,结果不是累加的。 也就是说,2007 年的唯一客户总数不是该年购买“配件”、“自行车”和“服装”的唯一客户数的总和 。 原因是可能会将一位客户计入多个组中。

另请参阅

筛选器函数
FILTER 函数
RELATED 函数
VALUES 函数

results matching ""

    No results matching ""