計算及查詢聯合立方體
當您擁有 Essbase 聯合立方體時,計算和查詢會儘可能由 Essbase 轉換成 SQL 並推送至 Autonomous AI Lakehouse ,以便在儲存資料時進行處理。
Essbase 立方體大綱包含中繼資料 (維度和成員名稱)。Autonomous AI Lakehouse 會保存與中繼資料關聯的資料。資料會儲存在事實表格中。
Essbase 會將計算處理推送至儲存資料的位置,因此有助於解決資料延遲的問題。這是 Essbase 21.5 開始的新功能。
如果您是 Essbase 的新成員,請先複查計算立方體以瞭解一般計算。
計算如何與聯合立方體搭配運作,取決於您開始建立聯合立方體:區塊儲存 (BSO) 或聚總儲存 (ASO) 的 Essbase 立方體類型。
計算比較說明
對於以 BSO 為基礎的聯合立方體,當您計算和查詢時, Essbase 會分析相依性,並使用 Autonomous AI Lakehouse 中的分析視觀表寫入 SQL 以處理結果。
對於以 ASO 為基礎的聯合立方體, Essbase 會處理自訂計算和配置,然後將結果發送至 Autonomous AI Lakehouse 。
聯合立方體計算的備註 / 限制
Essbase 區塊儲存 (BSO) 計算函數可在 BSO 大綱公式中套用,其結果會影響來自 Smart View 、MDX 及其他網格用戶端的查詢。與計算指令相同的函式可用於撰寫程序計算指令碼。
在自治式 AI 湖倉一體中處理的計算函數
在聯合立方體中,下列計算函數會轉譯為 SQL,並在 Autonomous AI Lakehouse 中處理。其他未列在此處的函數會在 Essbase 進行處理。
- @ABS
- @ALLANCESTORS
- @ANCEST
- @ANCESTORS
- @AVG (僅含 SKIPMISSING 選項)
- @AVGRANGE
- @CHILDREN
- @CURRMBR
- @DESCENDANTS
- @EXP
- @FACTORIAL
- @GENMBRS
- @IALLANCESTORS
- @IANCESTORS
- @ICHILDREN
- @IDESCENDANTS
- @INT
- @IRDESCENDANTS
- @ISANCEST
- @ISCHILD
- @ISDESC
- @ISGEN
- @ISIANCEST
- @ISIBLINGS
- @ISICHILD
- @ISIDESC
- @ISIPARENT
- @ISISIBLING
- @ISLEV
- @ISMBR (當引數只有一個成員名稱時)
- @ISPARENT
- @ISSAMEGEN
- @ISSAMELEV
- @ISSIBLING
- @LEVMBRS
- @LN
- @LOG
- @LOG10
- @LSIBLINGS
- @MAX
- @MAXRANGE (異常狀況:無 XrangeList 引數)
- @MAXS
- @MAXSRANGE (異常狀況:無 XrangeList 引數)
- @MBRPARENT
- @MEDIAN (特例:無 XrangeList 引數)
- @MEMBERAT
- @MIN
- @MINRANGE (特例:無 XrangeList 引數)
- @MINS
- @MINSRANGE (特例:無 XrangeList 引數)
- @MOD
- @PARENT
- @POWER
- @RDESCENDANTS
- @RELATIVE
- @REMAINDER
- @ROUND
- @RSIBLINGS
- @SIBLINGS
- @SUM
- @SUMRANGE (異常狀況:無 XrangeList 引數)
- @TRUNCATE
- @XREF
- @XWRITE
在 Autonomous AI Lakehouse 中處理的計算命令
在聯合立方體中,下列 Essbase 計算命令會轉譯為 SQL,並在 Autonomous AI Lakehouse 中進行處理。
- AGG (聚總動態計算成員時或使用非相加合併運算子的成員除外)
- CLEARDATA
- CLEARBLOCK (例外:沒有 NONINPUT 也沒有 DYNAMIC 關鍵字)
- DATAEXPORT (例外:僅含下列資料匯出選項)
DATAEXPORTLEVEL ALL DATAEXPORTCSVFORMAT DATAEXPORTOVERWRITEFILE DATAEXPORTDECIMAL - IF...ENDIF
- ELSE...ELSEIF (含多個巢狀 IF / ELSE 敘述句的表示式可能會降低效能)
- EXCLUDE...ENDEXCLUDE
- LOOP...ENDLOOP
- DATACOPY
- 使用包含數學運算、IF / ELSE 敘述句、交叉參照以及本頁所列支援之 @ 函數的 FIX 敘述句指定。
ARRAY 和 VAR 命令以及 CALC DIM 或 CALC ALL 中處理的動態公式,會在 Essbase 中處理,且效能可能會降低。
聯合立方體不支援某些計算命令,如果使用,則傳回錯誤。請參閱聯合立方結構的限制。
如果需要執行 Essbase 區塊儲存 (BSO) 計算命令檔,請選取密集維度作為旋轉維度。聯合立方體若樞紐維度為稀疏,則不支援計算命令檔。
區塊計算模式 (在 Essbase 組態設定 CALCMODE 設為 BLOCK 時啟用) 不適用於聯合立方體。計算處理會推送至 Autonomous AI Lakehouse 。如果例外存在,且計算是在 Essbase 伺服器上進行處理,則解決順序會決定相依性分析。
在以 ASO 為基礎的聯合立方體上執行自訂配置時,您只能覆寫現有的值。您無法加減現有的值。
其他限制
請參閱聯合立方結構的限制。
查詢結果的有效位數
當您計算聯合立方體時, Autonomous AI Lakehouse 會部分處理計算和聚總。因此,如果與在非聯合立方體中取得的值進行比較,查詢結果的精確度值可能會稍有不同。
計算順序
聯合立方體中成員的計算優先順序遵循您在 Essbase 大綱中設定的已定義解決順序。
可執行 Essbase 計算與資料載入工作
對於以區塊儲存為基礎的聯合立方體, Essbase 組態設定 FEDERATEDAVCALC 預設會隱含地設為 TRUE。這可讓使用者執行 Essbase BSO 計算,並透過 Essbase 執行資料載入,以更新事實表格中的記錄。