使用 Microsoft 登入
登入或建立帳戶。
您好:
選取其他帳戶。
您有多個帳戶
選擇您要用來登入的帳戶。

在資料模型中,每一欄都有一個關聯的資料類型,指定欄可以保留的資料類型:全數位、小數位、文字、貨幣資料、日期和時間等等。 資料類型也會決定您可以在資料行上執行哪些操作,以及儲存欄中值需要多少記憶體。

如果您使用的是該 Power Pivot ,您可以變更欄的資料類型。 如果日期欄已以字串形式輸入,您可能需要這麼做,但您需要做為其他專案。 詳細資訊,請參閱在 Power Pivot中設定資料 行#x0。

本文內容

資料類型摘要

下表列出資料模型支援的資料類型。 當您在公式中輸入資料或使用值時,即使原始資料來源包含不同的資料類型,資料會轉換成其中一種資料類型。 公式產生的值也會使用這些資料類型。

資料輸入Excel

DAX 中的資料類型

描述

全數位

64 位 (8 位元組) 整數值 1,2

沒有小數位數的數位。 整數可以是正數或負數, 但必須是介於 -9,223,372,036,854,775,808 (-2^63) 和 9,223,372,036,854,775,807 (2^63-1) 之間的數位。

十進位數

64 位 (8 位元組) 實數 1,2

實數是可以有小數位數的數位。 實數涵蓋多種值:

-1.79E +308 到 -2.23E -308 的負值

2.23E -308 到 1.79E + 308 的正值

不過,有效位數的數量限制為 15 個小數位數。

TRUE/FALSE

布林值

True 或 False 值。

Text (文字)

String

Unicode 字元資料字串。 可以是以文字格式表示的字串、數位或日期。

字串長度上限為 268,435,456 Unicode 字元 (256 mb) 或 536,870,912 位元組。

日期

日期/時間

接受的日期-時程表示法中的日期和時間。

有效日期為 1900 年 1 月 1 日之後的所有日期。

貨幣

貨幣

貨幣資料類型允許介於 -922,337,203,685,477.5808 到 922,337,203,685,477.5807 之間的值,以及四位數的固定精確度小數位數。

空白

空白是 DAX 中的資料類型,代表及取代SQL Null。 您可以使用 BLANK 函數建立空白,然後使用邏輯函數 ISBLANK 測試空白。

1 DAX 公式不支援比資料表中所列的小資料類型。

2 如果您嘗試輸入數值非常大的資料,則輸入可能會失敗,併發生下列錯誤:

記憶體資料庫錯誤:'<資料表名稱>' 資料表的 '<欄名稱>' 欄包含值 '1.7976931348623157e+308',不受支援。 作業已取消。

發生此錯誤是因為 Power Pivot 值代表 Null。 下列清單中的值是 Null 值的同名:

Value (值)

9223372036854775807

-9223372036854775808

1.7976931348623158e+308

2.2250738585072014e-308

移除資料中的值,然後再次嘗試輸入。

資料表資料類型

DAX 會在許多函數中使用資料表資料類型,例如匯總和時間智慧計算。 某些函數需要參照資料表;其他函數會返回資料表,然後做為其他函數的輸入。 在某些需要資料表做為輸入的函數中,您可以指定評估為表格的運算式;在某些函數中,必須參照基本資料表。 有關特定函數需求的資訊,請參閱 DAX 函數參考

DAX 公式中的隱含和明確資料類型轉換

每個 DAX 函數對於用來做為輸入和輸出的資料類型都有特定需求。 例如,有些函數需要整數來表示某些引數和日期,而有些函數則需要整數。其他函數需要文字或表格。

如果您指定為引數的欄中的資料與函數所需的資料類型不相容,則 DAX 在許多情況下會返回錯誤。 不過,DAX 會盡可能嘗試將資料隱含轉換為必要的資料類型。 例如:

  • 您可以將日期輸入為字串,DAX 會剖析該字串,並嘗試將字串Windows日期和時間格式之一。

  • 您可以新增 TRUE + 1,並取得結果 2,因為 TRUE 會隱含轉換成數位 1,而操作 1+1 會執行。

  • 如果您在兩個數據行中新增值,而其中一個值正好以文字 ("12") 表示,另一個值則以數位 (12) 表示,DAX 會隱含地將字串轉換為數字,然後為數值結果加上值。 下列運算式會返回 44:= "22" + 22

  • 如果您嘗試串串兩個數字,Excel字串,然後串串。 下列運算式會返回"1234":= 12 & 34

下表摘要列出在公式中執行的隱含資料類型轉換。 Excel如指定作業所需,盡可能執行隱含轉換。

隱含資料轉換資料表

執行的轉換類型是由運算子決定,運算子會先轉換所需的值,然後再執行要求的操作。 這些資料表會列出運算子,並指示資料行中與相交列中的資料類型配對時,對資料行中每個資料類型執行的轉換。

附註: 這些資料表中不包含文字資料類型。 當數位以文字格式表示時,在某些情況下 Power Pivot 會嘗試判斷數位類型,然後以數位表示。

新增 (+)

運算子 (+)

INTEGER

CURRENCY

REAL

日期/時間

INTEGER

INTEGER

CURRENCY

REAL

日期/時間

CURRENCY

CURRENCY

CURRENCY

REAL

日期/時間

REAL

REAL

REAL

REAL

日期/時間

日期/時間

日期/時間

日期/時間

日期/時間

日期/時間

例如,如果在加法作業中搭配貨幣資料使用實數,這兩個值會轉換成 REAL,而結果會以 REAL 方式返回。

減法 (-)

在下表中,列標題是左側 (的最小值) 而欄標題是右側 (子) 。

運算子 (-)

INTEGER

CURRENCY

REAL

日期/時間

INTEGER

INTEGER

CURRENCY

REAL

REAL

CURRENCY

CURRENCY

CURRENCY

REAL

REAL

REAL

REAL

REAL

REAL

REAL

日期/時間

日期/時間

日期/時間

日期/時間

日期/時間

例如,如果一個日期用於具有任何其他資料類型的減法運算中,這兩個值會轉換成日期,而退貨值也是日期。

附註: 資料模型也支援一元運算子 , (負) ,但此運算子不會變更運算元的資料類型。

乘法 (*)

運算子 (*)

INTEGER

CURRENCY

REAL

日期/時間

INTEGER

INTEGER

CURRENCY

REAL

INTEGER

CURRENCY

CURRENCY

REAL

CURRENCY

CURRENCY

REAL

REAL

CURRENCY

REAL

REAL

例如,如果在乘法運算中將整數與實數結合,這兩個數字會轉換成實數,而 return 值也是 REAL。

除 (/)

在下表中,列標題是分子,而欄標題是分母。

運算子 (/)

(列/欄)

INTEGER

CURRENCY

REAL

日期/時間

INTEGER

REAL

CURRENCY

REAL

REAL

CURRENCY

CURRENCY

REAL

CURRENCY

REAL

REAL

REAL

REAL

REAL

REAL

日期/時間

REAL

REAL

REAL

REAL

例如,如果整數與除法運算中的貨幣值結合,這兩個值會轉換成實數,結果也是實數。

比較運算子

在比較運算式中,布林值會視為大於字串值,而字串值則視為大於數值或日期/時間值;數位和日期/時間值會視為具有相同的排名。 不會針對布林值或字串值執行隱含轉換;BLANK 或空白值會根據其他比較值的資料類型,轉換成 0/""/false。

下列 DAX 運算式說明此行為:

=IF (FALSE () >"true","Expression 為 true","Expression 為 false") ,會返回"運算式為 True"

=IF ("12">12,"Expression 為 true","Expression 為 false") ,會返回"運算式為 True"。

=IF ("12"=12,"Expression 為 True","Expression 為 false") ,會返回「運算式為 false」

如下表所述,對數值或日期/時間類型隱含執行轉換:

比較運算子

INTEGER

CURRENCY

REAL

日期/時間

INTEGER

INTEGER

CURRENCY

REAL

REAL

CURRENCY

CURRENCY

CURRENCY

REAL

REAL

REAL

REAL

REAL

REAL

REAL

日期/時間

REAL

REAL

REAL

日期/時間

頁面頂端

處理空白、空白字串和零值

在 DAX 中,Null、空白值、空白儲存格或遺失的值都由相同的新數值型別 BLANK 表示。 您也可以使用 BLANK 函數產生空白,或使用 ISBLANK 函數測試空白。

在運算中處理空白的方式 ,例如加法或串聯,取決於個別函數。 下表摘要列出 DAX 和 Microsoft Excel公式之間的差異,以處理空白的方式。

運算式

DAX

Excel

BLANK + BLANK

空白

0 (零)

BLANK +5

5

5

BLANK * 5

空白

0 (零)

5/BLANK

無限

錯誤

0/BLANK

錯誤

空白/空白

空白

錯誤

FALSE 或空白

FALSE

FALSE

FALSE 和空白

FALSE

FALSE

TRUE 或空白

TRUE

TRUE

TRUE 和空白

FALSE

TRUE

空白或空白

空白

錯誤

空白和空白

空白

錯誤

有關特定函數或運算子如何處理空白的詳細資訊,請參閱 DAX 函數參照一節中每個 DAX 函數的個別主題

頁面頂端

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

這項資訊有幫助嗎?

您對語言品質的滿意度如何?
以下何者是您會在意的事項?
按下 [提交] 後,您的意見反應將用來改善 Microsoft 產品與服務。 您的 IT 管理員將能夠收集這些資料。 隱私權聲明。

感謝您的意見反應!

×