計算及查詢同盟立方體

當您具有同盟分割區時,Essbase 會盡可能將 Essbase 計算和查詢轉換成 SQL,並推送至自治式資料倉儲,以便在儲存資料的位置進行處理。

Essbase 立方體大綱包含中繼資料 (維度和成員名稱)。自治式資料倉儲會保留與中繼資料關聯的資料。資料會儲存在事實表格中。

Essbase 會將計算處理推送至儲存資料的位置,因此有助於解決資料延遲的問題。這是 Essbase 21.5 的新功能。

如果您是第一次使用 Essbase,請先參閱計算立方體,瞭解關於計算的一般資訊。

計算與同盟分割區搭配使用的方式取決於您建立同盟分割區最初使用的 Essbase 立方體類型:區塊儲存 (BSO) 或聚總儲存 (ASO)。

計算比較說明

若是 BSO 式同盟分割區立方體,在您進行計算和查詢時,Essbase 會使用自治式資料倉儲中的分析視觀表分析相依性並撰寫 SQL 來處理結果。

若是 ASO 式同盟分割區立方體,Essbase 伺服器會處理自訂計算和配置,然後將結果推送至自治式資料倉儲。

同盟分割區計算的注意事項/限制

BSO 大綱公式可以套用 Essbase 區塊儲存 (BSO) 計算函數,但其結果會影響 Smart View、MDX 以及其他網格從屬端的查詢。相同的函數加上計算命令,可用於寫入程序計算命令檔。

在自治式資料倉儲中進行處理的計算函數

使用同盟分割區時,會將下列 Essbase 計算函數轉譯為 SQL,並且在自治式資料倉儲進行處理。其他未列在此處的函數會在 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

在自治式資料倉儲中進行處理的計算命令

使用同盟分割區時,會將下列 Essbase 計算命令轉譯為 SQL,並且在自治式資料倉儲進行處理。

  • 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 時便會啟用此模式) 不適用於同盟分割區立方體。計算處理會被推送至自治式資料倉儲。如果存在例外,而且計算是在 Essbase 伺服器上處理的話,則由解決順序決定相依性分析。

對含有同盟分割區的聚總儲存立方體執行自訂配置時,只能覆寫現有的值。您無法加減現有的值。

其他限制

請參閱同盟分割區的限制

查詢結果的有效位數

計算具有同盟分割區的立方體時,自治式資料倉儲會局部處理計算和聚總。因此,相較於未使用同盟分割區取得的值,查詢結果的精確度值可能會有些許的差異。

計算順序

與混合 BSO 與 ASO 立方體類似,同盟分割區立方體中成員的計算優先順序會遵循您在 Essbase 大綱中定義的解決順序

可執行 Essbase 計算與資料載入工作

對於任何具有同盟分割區的區塊儲存 (BSO) 應用程式,Essbase 組態設定 FEDERATEDAVCALC 預設會設為 TRUE。這能夠讓使用者執行 Essbase BSO 計算,並透過 Essbase 執行資料載入來更新自治式資料倉儲事實表格中的記錄。