共用方式為


VALUES 函數 (DAX)

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

[!附註]

此函數無法用來將值傳入工作表上的資料格或資料行;但是您可以將它當做內嵌在公式中的中繼函數使用,以取得無法計算之相異值的清單,或用來篩選或加總其他值。

語法

VALUES(<column>)

參數

詞彙

定義

column

要傳回其唯一值的資料行。

傳回值

唯一值的資料行。

備註

當您在已經過篩選的內容 (例如樞紐分析表) 中使用 VALUES 函數時,VALUES 所傳回的唯一值會受到篩選的影響。例如,如果您依 Region 篩選,並針對 City 傳回值的清單,該清單只會包含篩選所允許之區域中的城市。若要傳回所有城市,而不管現有的篩選為何,您必須使用 ALL 函數來移除資料表中的篩選。第二個範例示範如何搭配 VALUES 使用 ALL。

相關函數

在大部分的狀況下,VALUES 函數的結果會與 DISTINCT 函數的結果相同。這兩個函數都會移除重複項目,並傳回指定之資料行中可能值的清單。不過,VALUES 函數也可以傳回「未知的成員」(Unknown Member)。當您查閱相關資料表中的相異值,但在某個資料表中遺漏關聯性中所使用的值時,這個未知的值相當實用。在資料庫術語中,這稱為違反參考完整性。當某個資料表正在進行更新,而相關資料表並未更新時,很容易發生這種資料不相符的狀況。

下表摘要說明未保留參考完整性時,在兩個相關資料表中可能發生的資料不相符狀況。

MyOrders 資料表

MySales 資料表

June 1

June 1 sales

June 2

June 2 sales

(尚未輸入任何訂單日期)

June 3 sales

如果您使用 DISTINCT 函數從包含這些資料表的樞紐分析表中傳回日期的清單,只會傳回兩個日期。不過,如果您使用 VALUES 函數,此函數會傳回兩個日期,加入一個額外的空白成員。同時,在 MySales 資料表中,沒有 MyOrders 資料表中相符日期的任何資料列都會「符合」這個未知的成員。

範例

下列公式會計算唯一發票 (銷售訂單) 的數目,並於包含「產品類別名稱」的報表中使用時,產生下列結果:

資料列標籤

計算發票數目

配件

18,208

自行車

15,205

服裝

7,461

總計

27,659

=COUNTROWS(VALUES('InternetSales_USD'[SalesOrderNumber]))