CUBEVALUE 函數

重要:  本文係由機器翻譯而成,請參閱免責聲明。本文的英文版本請見這裡,以供參考。

本文說明 Microsoft Excel 中 CUBEVALUE 函數的公式語法及使用方式。

描述

會從 Cube 傳回彙總值。

語法

CUBEVALUE(connection, [member_expression1], [member_expression2], …)

CUBEVALUE 函數語法具有下列引數:

  • Connection    必要。連線到 Cube 之連線名稱的文字字串。

  • Member_expression    選擇性。多維度運算式 (MDX) 的文字字串,會估算出 Cube 中的成員或 Tuple。member_expression 也可以是以 CUBESET 函數定義的集合。使用 member_expression 做為交叉分析篩選器以定義會傳回其彙總值之 Cube 的一部分。如果沒有在 member_expression 中指定量值,則會使用該 Cube 的預設量值。

註解

  • 當 CUBEVALUE 函數進行估算時,在所有資料擷取完成之前,該函數會在儲存格中暫時顯示 "#GETTING_DATA…" 訊息。

  • 如果將儲存格參照用於 member_expression,且該儲存格參照包含 CUBE 函數,則 member_expression 會使用所參照儲存格中項目的 MDX 運算式,而不使用在該參照儲存格中顯示的值。

  • 如果連線名稱不是活頁簿中儲存的有效活頁簿連線,則 CUBEVALUE 會傳回 #NAME? 的錯誤值。如果線上分析處理 (OLAP) 伺服器並未執行、不可用,或傳回錯誤訊息,則 CUBEVALUE 會傳回 #NAME? 的錯誤值。

  • 如果 Tuple 內至少有一個元素無效,則 CUBEVALUE 會傳回 #VALUE! 的錯誤值。

  • CUBEVALUE 傳回 #N/A 錯誤值的時機:

    • member_expression 語法不正確。

    • Cube 中不存在 member_expression 指定的成員。

    • Tuple 由於指定值無交集而無效 (當有多個元素來自相同的階層時,會發生此情形)。

    • 集中至少有一個成員的維度與其他成員不同。

    • 如果您參照的是工作階段型物件 (如導出成員或命名集),當共用連線時,CUBEVALUE 可能會在樞紐分析表中傳回 #N/A 錯誤值,且會刪除該樞紐分析表,否則您要將樞紐分析表轉換成公式 (在 [選項] 索引標籤上,按一下 [工具] 群組中的 [OLAP 工具],然後按一下 [轉換成公式])。

問題:Null 值會轉換成零長度字串

在 Excel 中,如果儲存格中沒有資料的原因是您從未變更過儲存格或您已刪除內容,則儲存格會包含空值。在許多資料庫系統中,空值稱為 Null 值。空值或 Null 值字面上表示「無值」。不過,公式永遠無法傳回空字串或 Null 值。公式一律會傳回下列三種值之一:數值;文字值 (可能是零長度字串),或錯誤值 (如 #NUM! 或 #VALUE)。

如果公式含有連接到線上分析處理 (OLAP) 資料庫的 CUBEVALUE 函數,且此資料庫的查詢結果為 Null 值,Excel 會將此 Null 值轉換為零長度字串,即使公式會傳回數值也是一樣。這樣會造成一個狀況,就是某範圍的儲存格會含有數字及零長度字串值的組合,且會影響其他參照該範圍儲存格的公式結果。例如,如果 A1 及 A3 含有數字,而 A2 含有公式及傳回零長度字串的 CUBEVALUE 函數,則下列公式會傳回 #VALUE! 錯誤:

=A1+A2+A3

如果要避免此狀況發生,您可如下列範例所示使用 ISTEXT 函數來檢定零長度字串,並使用 IF 函數將零長度取代為 0 (零):

=IF(ISTEXT(A1),0,A1)+IF(ISTEXT(A2),0,A2)+IF(ISTEXT(A3),0,A3)

或者,您可如下列範例所示,在 CUBEVALUE 函數計算結果為零長度字串時,將 CUBEVALUE 函數已巢狀方式放入會傳回 0 值的 IF 條件中:

= IF (CUBEVALUE ("銷售","[量值]。 [Profit]","[時間]。[2004]","[所有產品]。[飲料] 」) = 」 」,0,CUBEVALUE ("銷售","[量值]。 [[Profit]","[時間]。[2004]","[所有產品]。[飲料] 」))

請注意,SUM 函數不需要對零長度字串進行此檢定,因為它會自動在計算傳回值時,忽略零長度字串。

範例

= CUBEVALUE("Sales","[Measures].[Profit]","[時間]。[2004]","[所有產品]。[飲料] 」)

= CUBEVALUE($A$1,"[Measures].[Profit]",$12,$A23 D)

=CUBEVALUE("Sales",$B$7,D$12,$A23)

附註: 機器翻譯免責聲明︰本文係以電腦系統翻譯而成,未經人為介入。Microsoft 提供此等機器翻譯旨在協助非英語系使用者輕鬆閱讀 Microsoft 產品、服務及技術相關內容。基於本文乃由機器翻譯而成,因此文中可能出現詞辭、語法、文法上之錯誤。

擴展您的技能
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×