DISTINCT (column)

适用于:计算列计算表度量值视觉计算

返回一个包含指定列的非重复值的一列表。 换句话说,将删除重复值,只返回唯一值。

注意

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

语法

DISTINCT(<column>)

参数

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

返回值

唯一值的列。

言论

  • DISTINCT 的结果受当前筛选器上下文的影响。 例如,如果使用以下示例中的公式创建度量值,则每当筛选表以仅显示特定区域或时间段时,结果都会更改。

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

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

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

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

= COUNTROWS(DISTINCT(InternetSales_USD[CustomerKey]))

不能将 DISTINCT 直接返回的值列表粘贴到列中。 而是使用列表将 DISTINCT 函数的结果传递给另一个计算、筛选或聚合值的函数。 为了使示例尽可能简单,此处的非重复值表已传递到 COUNTROWS 函数。

行标签 辅料 自行车 服装 总计
2005 1013 1013
2006 2677 2677
2007 6792 4875 2867 9309
2008 9435 5451 4196 11377
总计 15114 9132 6852 18484

此外,请注意,结果不是累加性的。 也就是说,2007年 唯一客户总数 不是 配件自行车服装 这一年的唯一客户之和。 原因是客户可以计数在多个组中。

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