Share via


DISTINCT 函數 (DAX)

傳回包含不同於指定之資料行的值之單欄資料表。換句話說,系統會移除重複的值,而只傳回唯一的值。

[!附註]

此函數無法用來將值傳入工作表上的資料格或資料行;但是您可以將 DISTINCT 函數內嵌在公式中,以取得可以傳遞給其他函數進行計數、加總或用於其他運算之相異值的清單。

語法

DISTINCT(<column>)

參數

詞彙

定義

column

要傳回其唯一值的資料行。或者,傳回資料行的運算式。

傳回值

唯一值的資料行。

備註

DISTINCT 的結果會受到目前篩選內容的影響。例如,如果您使用下列範例中的公式來建立量值,每當將資料表篩選為只顯示特定區域或時段時,結果就會變更。如果您不想讓篩選影響清單中的項目,請使用 ALL 函數來移除指定之資料行和資料表中的篩選,如下所示:

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

相關函數

VALUES 函數與 DISTINCT 類似,前者也可以用來傳回唯一值的清單,而且通常會傳回與 DISTINCT 完全相同的結果。不過,在某些內容中,VALUES 會傳回一個額外的特殊值。如需詳細資訊,請參閱<VALUES 函數 (DAX)>。

範例

下列公式計算透過網際網路通路產生訂單之唯一客戶的數目。以下的資料表說明將此公式加入至樞紐分析表時的可能結果。

=COUNTROWS(DISTINCT(InternetSales_USD[CustomerKey]))

請注意,您無法將 DISTINCT 傳回之值的清單直接貼入資料行中。但是您可以將 DISTINCT 函數的結果傳遞給使用清單計算、篩選或彙總值的其他函數。為了讓範例盡可能簡單,此處已將不同值的資料表傳遞給 COUNTROWS 函數。

唯一的網際網路客戶

資料行標籤

 

 

 

資料列標籤

Accessories

Bikes

Clothing

Grand Total

2001

 

1013

 

1013

2002

 

2677

 

2677

2003

6792

4875

2867

9309

2004

9435

5451

4196

11377

Grand Total

15114

9132

6852

18484

同時請注意,結果不是累加的。也就是說,在 2003 唯一客戶的總數不是該年 Accessories、Bikes 和 Clothing 之唯一客戶的總和。原因是,在多個群組中都可能會計算到某個客戶。