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 的唯一客户之和。 这是因为客户可能会在多个组中都被计数。