DISTINCT

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

注意

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

语法

DISTINCT(<column>)

参数

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

返回值

由唯一值构成的列。

注释

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

=COUNTROWS(DISTINCT(ALL( InternetSales_USD[CustomerKey])))

相关函数

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

示例

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

=COUNTROWS(DISTINCT(InternetSales_USD[CustomerKey]))

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

唯一的 Internet 客户 列标签
行标签 附件 自行车 服装 总计
2001 1013 1013
2002 2677 2677
2003 6792 4875 2867 9309
2004 9435 5451 4196 11377
总计 15114 9132 6852 18484

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

results matching ""

    No results matching ""