透過選取元組,您可以將計算焦點放在作用中的 Smart View 方格,將計算範圍限制在立方體中特定的資料截塊。
本指南中的下列區段描述元組計算:
如需在計算命令檔中採用 @GRIDTUPLES 的語法,請參閱 FIX…ENDFIX。
透過選取元組,您可以將計算焦點放在作用中的 Smart View 方格,將計算範圍限制在立方體中特定部分的資料。
選擇元組有助於最佳化跨維度的非對稱方格計算,以避免過度計算。
Essbase 計算元組與 MDX 查詢中使用的元組不同。計算效能與立方體大小主要取決於資料庫中的區塊數目 (指定特定的區塊大小)。因此,只會針對稀疏成員組合指定計算元組。此外,為了方便撰寫計算命令檔,一個計算元組設定可以包括單一稀疏維度的多個成員。例如,若您指定 ("New York", "California", "Actual", "Cola") 作為計算元組,則會計算下列儲存格交集:
"New York"->"Actual"->"Cola" "California"->"Actual"->"Cola"
請考量下列對稱方格。此為對稱方格,因為方格中每項產品都有相同的市場與案例 (Actual)。
以下為不對稱方格,因為方格中 Diet Cola 這項產品的市場數少於 Cola 產品的市場數。
當 FIX 敘述句或 Smart View 方格檢視點 (POV) 包含一個以上的維度時,預設計算範圍會計算 FIX 或方格中跨產品 (所有可能組合) 的成員。也就是說,其產品與市場組合取自於方格的 POV 導向計算,將計算以下所有資料列成員組合:
Cola->"New York" Cola->"Massachusetts" Cola->"Florida" Cola->"Connecticut" Cola->"New Hampshire" "Diet Cola"->"New York" "Diet Cola"->"Massachusetts" "Diet Cola"->"Florida" "Diet Cola"->"Connecticut" "Diet Cola"->"New Hampshire"
這有可能產生超乎所需的計算活動。如果您只要計算方格中顯示的組合,可以指定要計算的元組而縮小計算範圍。計算元組還可減少計算時間和縮減立方體大小。
Cola->"New York" Cola->"Massachusetts" Cola->"Florida" Cola->"Connecticut" Cola->"New Hampshire" "Diet Cola"->"New York" "Diet Cola"->"Florida"
計算元組是一種表示成員資料截塊的方法 (從二或多個稀疏維度),以用於計算。
有效的計算元組範例:
("Diet Cola", "New York")
("Diet Cola", "Cola", Florida)
(Cola, "New Hampshire")
當您撰寫 MDX 表示式時,應注意套用於 MDX 的以下幾項元組限制:
不過,如果您選取的是計算命令檔中的元組,這些要求會為了方便起見而較為寬鬆。您可以自由撰寫元組表示式,而元組會描述成員清單,如以下元組所示:(@Children(East), Cola)
。
選取元組的簡便方法就是將它們明確插入計算命令檔中,當作 FIX 敘述句內的清單。
請記得 FIX 敘述句的格式如下:
FIX (fixMbrs) COMMANDS ; ENDFIX
下面的 FIX 敘述句中,命令區塊開頭的前面指定了兩個元組。這兩個元組以大括弧 ({ }) 括住,分隔成一組,此為元組集合。
FIX({ (@Children(East), Cola), ("New York", Florida, "Diet Cola") }) Sales (Sales = Sales + 10;); ENDFIX
另一種方法是透過相關資訊環境,根據計算時期 Smart View 方格 POV 中存在的成員來選取元組。在計算命令檔中,將 @GRIDTUPLES 函數當作引數提供給 FIX,即可利用此方法選取元組。
FIX ({@GRIDTUPLES(Product, Market)}) Sales (Sales = Sales + 10;); ENDFIX
若是從 Smart View 針對下面的方格執行此計算命令檔,則系統只會計算顯示的產品與市場組合。例如,不會對 "Diet Cola"->Massachusetts 進行計算,因為它並未明確顯示在方格中。請注意,即使方格中只顯示 Actual,系統還是會計算全部的案例 (此範例立方體中的第三個稀疏維度)。這是因為 Scenario 維度不是計算命令檔中 GRIDTUPLES 敘述句的一部分。
不論是使用明確的元組清單,還是使用 @GRIDTUPLES 函數來選取元組,選取元組只適用於 FIX…ENDFIX 計算命令的相關資訊環境。以下為擴充的 FIX 敘述句語法以選取元組:
FIX ([{ tupleList | @GRIDTUPLES(dimensionList) },] fixMbrs) COMMANDS ; ENDFIX
使用 Smart View 方格和計算命令檔 FIX 敘述句時,您可以根據方格檢視點 (POV) 計算選取的成員元組。或者,您也可以在 FIX 敘述句中明確輸入元組組合,移除特定 Smart View 方格的相依性以定義計算範圍。
計算選取的元組可協助您有效地使用計算命令檔與 Smart View 方格中的不對稱區域。
參考下列範例:
若要嘗試這些範例,請從 Essbase Web 介面檔案區域中 gallery 資料夾的 Technical > Calc
區段,下載 CalcTuple_Tuple.xlsx
工作簿樣板。請參考工作簿中的 README 工作表,以取得相關指示。
下列計算命令檔示範沒有選取元組情況下的預設計算行為,將計算 Smart View 方格中 Product 和 Market 維度成員的所有產品。
藉由使用 SET RUNTIMESUBVARS 區塊定義的兩個程式實際執行替代變數 (RTSV),計算限制為從 Smart View 執行計算時方格中存在的 Product 和 Market 檢視點。
SET RUNTIMESUBVARS { ProductGridMembers = POV <RTSV_HINT><svLaunch> <description>All Product's members on the grid</description> <type>member</type> <dimension>Product</dimension><choice>multiple</choice> </svLaunch></RTSV_HINT>; MarketGridMembers = POV <RTSV_HINT><svLaunch> <description>All Market's members on the grid</description> <type>member</type> <dimension>Market</dimension><choice>multiple</choice> </svLaunch></RTSV_HINT>; }; FIX ( &ProductGridMembers, &MarketGridMembers ) Marketing( Marketing = Marketing +1; ); ENDFIX
使用 @GRIDTUPLES 函數選取 Product 和 Market 維度的元組時,此計算命令檔只計算這兩個維度的元組,將計算範圍限制成從 Smart View 執行計算時存在於 Smart View 方格中的成員。
FIX ( {@GRIDTUPLES(Product, Market)} ) Marketing( Marketing = Marketing + 1; ); ENDFIX
透過 FIX 方式僅限定元組中具名的稀疏維度,此計算包含的區塊數目遠少於預設計算所含的區塊數目。不過,FIX 中未提及的所有維度成員 (Year, Scenario) 都由此計算命令檔計算。
使用 @GRIDTUPLES 函數和程式實際執行替代變數時,此計算命令檔會根據 RTSV 提示中的稀疏維度選擇項目,只計算從方格中選取的元組。
程式實際執行替代變數 &DimSelections (定義於 SET RUNTIMESUBVARS 區塊中) 將計算範圍限制為立方體的稀疏維度 (不包括 Scenario)。FIX 敘述句中使用的 @GRIDTUPLES 函數會呼叫此變數,限制所計算的交集數目。
SET RUNTIMESUBVARS { DimSelections = "Version", "Site", "Entity", "Product", "Market" <RTSV_HINT><svLaunch> <description>List two or more sparse dimensions used for forming calculation tuples:</description> <type>string</type> </svLaunch></RTSV_HINT>; }; FIX ( {@GRIDTUPLES(&DimSelections)} ) Marketing( Marketing = Marketing + 1; ); ENDFIX
此計算包含的區塊數目比前一個範例少,這是因為在此案例中,元組定義擴及的稀疏維度數目超過 Product->Market。
若要嘗試這些範例,請從 Essbase Web 介面檔案區域中 gallery 資料夾的「Technical > Calc」區段,下載 CalcTuple_Tuple.xlsx
工作簿樣板。請參考工作簿中的 README 工作表,以取得相關指示。