共用方式為


VALUES 函數

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

[!附註]

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

語法

VALUES(<TableNameOrColumnName>)

參數

詞彙

定義

資料表或資料行

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

傳回值

唯一值的資料行。

備註

當您在已經過篩選的內容 (例如樞紐分析表) 中使用 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 資料表中相符日期的任何資料列都會「符合」這個未知的成員。

範例

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

資料列標籤

計算發票數目

Accessories

18,208

Bikes

15,205

Clothing

7,461

總計

27,659

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

請參閱

參考

FILTER 函數

COUNTROWS 函數 (DAX)

其他資源

篩選函數 (DAX)