DISTINCT 函数

返回由一列构成的一个表,该表包含来自指定列的非重复值。 换言之,重复值将被删除,仅返回唯一值。

注意注意

此函数无法用于将值返回到工作表上的单元格或列中;您而是将 DISTINCT 函数嵌套在某一公式中,以便获取可以传递到其他函数并进行计数、求和或用于其他操作的非重复值的列表。

语法

DISTINCT(<column>)

参数

术语

定义

column

要从其返回唯一值的列。 或者是返回列的表达式。

返回值

由唯一值构成的列。

注释

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

相关函数

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

示例

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

=COUNTROWS(DISTINCT(InternetSales_USD[CustomerKey]))

请注意,不能将 DISTINCT 返回的值列表直接粘贴到列中。 而是应该将 DISTINCT 函数的结果传递到通过使用该列表对值进行计数、筛选或聚合的其他函数中。 为了使示例尽可能简单,下面是已传递到 COUNTROWS 函数的非重复值的表。

唯一的 Internet 客户

列标签

 

 

 

行标签

Accessories

Bikes

Clothing

总计

2005

 

1013

 

1013

2006

 

2677

 

2677

2007

6792

4875

2867

9309

2008

9435

5451

4196

11377

总计

15114

9132

6852

18484

还要注意,结果不是累加性的。 也就是说,2007 中唯一客户的总数不是该年度 Accessories、Bikes 和 Clothing 的唯一客户之和。 这是因为客户可能会在多个组中都被计数。

请参阅

参考

FILTER 函数

RELATED 函数

VALUES 函数

其他资源

筛选器函数 (DAX)