DISTINCT (column)
會傳回包含指定數據行中相異值的一個數據行數據表。 換句話說,會移除重複的值,而且只會傳回唯一值。
注意
此函式無法用來將值傳回工作表上的儲存格或數據行;相反地,您會在公式中巢狀 DISTINCT 函式,以取得可傳遞至另一個函式的相異值清單,然後計算、加總或用於其他作業。
語法
DISTINCT(<column>)
參數
術語 | 定義 |
---|---|
column |
要從中傳回唯一值的數據行。 或者,傳回數據行的表達式。 |
傳回值
唯一值的數據行。
言論
DISTINCT 的結果會受到目前篩選內容的影響。 例如,如果您使用下列範例中的公式來建立量值,則每當篩選數據表只顯示特定區域或時段時,結果就會變更。
在匯出數據行或數據列層級安全性 (RLS) 規則中使用時,不支援在 DirectQuery 模式中使用此函式。
相關函式
另一個版本的 DISTINCT 函式 DISTINCT (table),會藉由從另一個數據表或 expression 移除重複的數據列,以傳回數據表。
VALUES 函式類似於 DISTINCT;它也可以用來傳回唯一值的清單,而且通常會傳回與 DISTINCT 完全相同的結果。 不過,在某些內容中,VALUES 會傳回一個額外的特殊值。 如需詳細資訊,請參閱 VALUES 函式。
例
下列公式會計算透過因特網通道產生訂單的唯一客戶數目。 下列數據表說明將公式新增至報表時可能的結果。
= 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 中唯一客戶總數不是當年 配件、自行車 和 服裝 的唯一客戶的總和。 原因是客戶可以計算在多個群組中。