共用方式為


VALUES

適用於:匯出數據行計算數據表量值視覺計算

當輸入參數是數據行名稱時,會傳回包含指定數據行中相異值的一個數據行數據表。 會移除重複的值,而且只會傳回唯一值。 您可以新增 BLANK 值。 當輸入參數是資料表名稱時,即會傳回指定資料表中的資料列。 保留重複的資料列。 您可以新增 BLANK 列。

注意

此函式無法用來將值傳回工作表上的儲存格或數據行;相反地,您可以使用它作為巢狀在公式中的中繼函式,以取得可計算或用來篩選或加總其他值的相異值清單。

語法

VALUES(<TableNameOrColumnName>)

參數

詞彙 定義
TableNameColumnName 要傳回唯一值的數據行,或要從中傳回數據列的數據表。

傳回值

當輸入參數為資料行名稱時,即為單一資料行資料表。 當輸入參數為資料表名稱時,即會傳回相同資料行的資料表。

備註

  • 當您在已篩選的內容中使用 VALUES 函式時,VALUES 傳回的唯一值會受到篩選的影響。 例如,如果您依區域篩選,並傳回 City 的值清單,清單將只包含篩選允許的區域中的那些城市。 若要傳回所有城市,不論現有的篩選為何,您必須使用 ALL 函式來移除數據表中的篩選。 第二個範例示範搭配 VALUES使用 ALL。

  • 在匯出數據行或數據列層級安全性 (RLS) 規則中使用時,不支援在 DirectQuery 模式中使用此函式。

  • 如需使用 VALUES時的最佳做法,請參閱 使用 SELECTEDVALUE,而不是 VALUES

在大部分情況下,當自變數是數據行名稱時,VALUES 函式的結果會與 DISTINCT 函式的結果相同。 這兩個函式都會移除重複專案,並傳回指定數據行中可能值的清單。 不過,VALUES 函式也可以傳回空白值。 當您從相關數據表查閱相異值,但關聯性中使用的值遺失一個數據表時,這個空白值就很有用。 在資料庫術語中,這稱為違反參考完整性。 當某個數據表正在更新且相關數據表不是時,可能會發生數據不相符的情況。

當自變數是數據表名稱時,如果違反引用完整性,則 VALUES 函式的結果會傳回指定數據表中的所有數據列加上空白數據列。 DISTINCT 函式會移除重複的數據列,並傳回指定數據表中的唯一數據列。

注意

DISTINCT 函式允許數據行名稱或任何有效的數據表運算式成為其自變數,但 VALUES 函式只接受數據行名稱或數據表名稱做為自變數。

下表摘要說明未保留引用完整性時,兩個相關數據表中可能發生的數據不符。

MyOrders 資料表 MySales 資料表
6 月 1 日 6 月 1 日銷售額
6 月 2 日 6 月 2 日銷售額
(未輸入任何訂單日期) 6 月 3 日銷售額

如果您使用 DISTINCT 函式傳回日期清單,則只會傳回兩個日期。 不過,如果您使用 VALUES 函式,函式會傳回兩個日期加上額外的空白成員。 此外,MySales 數據表中沒有相符日期的任何數據列,都會與這個未知的成員「相符」。

範例

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

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

傳回

資料列標籤 計算發票計數
配件 18,208
Bikes 15,205
Clothing 7,461
總計 27,659

FILTER 函式COUNTROWS 函式篩選函式