DISTINCT (資料行)
傳回單一資料行資料表,其包含指定資料行中的相異值。 換句話說,系統會移除重複的值,並僅傳回唯一的值。
注意
您無法使用此函式將值傳回工作表的資料格或資料行;反之,您需要在公式中巢狀 DISTINCT 函式以取得可傳遞給另一個函式的相異值清單,然後計數、加總或用於其他作業。
語法
DISTINCT(<column>)
參數
詞彙 | 定義 |
---|---|
column | 要傳回其唯一值的資料行。 或,會傳回資料行的運算式。 |
傳回值
唯一值的資料行。
備註
DISTINCT 的結果,會受到目前篩選內容的影響。 例如,如果使用下列範例中的公式來建立量值,則每當篩選資料表以僅顯示特定區域或時間週期時,結果會隨之變更。
在計算結果欄或資料列層級安全性 (RLS) 規則中使用時,不支援在 DirectQuery 模式中使用此函式。
相關函數
另一個版本的 DISTINCT 函式 DISTINCT (資料表) 會移除另一個資料表或運算式中的重複資料列來傳回資料表。
VALUES 函式與 DISTINCT 類似,也可以用來傳回唯一值的清單,且通常會傳回與 DISTINCT 完全相同的結果。 不過,在某些內容中,VALUES 會傳回一個額外的特殊值。 如需詳細資訊,請參閱 VALUES 函式。
範例
下列公式會計算在網際網路通路上產生訂單的不重複使用者數量。 下表說明將公式新增至報表時可能產生的結果。
= COUNTROWS(DISTINCT(InternetSales_USD[CustomerKey]))
您無法將 DISTINCT 所傳回的值清單直接貼到資料行中。 反之,您需要使用清單來將 DISTINCT 函式結果傳遞至另一個可計數、篩選或彙總值的函式。 為了讓範例盡可能簡單,此處的相異值資料表已傳遞至 COUNTROWS 函式。
資料列標籤 | Accessories | Bikes | Clothing | 總計 |
---|---|---|---|---|
2005 | 1013 | 1013 | ||
2006 | 2677 | 2677 | ||
2007 | 6792 | 4875 | 2867 | 9309 |
2008 | 9435 | 5451 | 4196 | 11377 |
總計 | 15114 | 9132 | 6852 | 18484 |
此外也請注意,結果不會加總。 也就是說,2007 年中獨立客戶的總數,並不是該年度中「配件」、「自行車」和「服裝」的獨立客戶總和。 原因是客戶可以計入多個群組中。