執行 MDX 命令檔

若您需要執行插入或匯出資料作業,請使用 MDX 命令檔。

若是要分析方格資料,請使用 MDX 報表。請參閱使用 MDX 報表分析資料

若要使用 MDX 命令檔,請選取一個工作流程:

撰寫、上傳及執行 MDX 命令檔

您可以使用此工作流程在文字編輯器中撰寫 MDX 命令檔,然後將命令檔上傳至 Essbase

  1. 在文字編輯器中撰寫 MDX 命令檔,然後儲存為 .mdx 副檔名的檔案。

  2. 將 MDX 命令檔上傳至 Essbase Web 介面中檔案底下的應用程式或立方體目錄。

  3. 工作Smart View,使用 Essbase 功能區的計算,執行 MDX 命令檔。

在命令檔編輯器中撰寫 MDX 命令檔並加以執行

此工作流程可在立方體的命令檔編輯器中撰寫 MDX 命令檔,然後從工作執行這些命令檔。

  1. 在「應用程式」頁面中,展開應用程式和立方體。

  2. 從立方體的「動作」功能表中,按一下檢查

  3. 依序按一下命令檔MDX 命令檔

  4. 按一下 + 號以開啟命令檔編輯器。

  5. 撰寫 MDX 命令檔。系統提供成員樹狀結構和函數清單來協助您撰寫命令檔。

  6. 驗證並儲存命令檔,然後關閉命令檔編輯器。

  7. 工作執行 MDX 命令檔 (請參閱執行 MDX);或者若使用 Smart View,則使用 Essbase 功能區中的計算來執行 MDX 命令檔。

在立方體設計工具中建立並執行 MDX 命令檔

使用此工作流程以應用程式工作簿建立 MDX 命令檔,然後從工作執行這些命令檔。

  1. 在應用程式工作簿中,建立 MDX 工作表。請參閱在立方體設計工具中處理 MDX 工作表
  2. 檔案名稱欄位中新增檔案名稱。
  3. 執行 MDX 欄位中,指出是否要在建立立方體時執行 MDX。有效的輸入為
  4. 命令檔一行底下新增 MDX 命令檔。
  5. 儲存應用程式工作簿。
  6. 建置立方體。請參閱在立方體設計工具中建立應用程式和立方體
  7. 工作執行 MDX 命令檔;或者若使用 Smart View,請透過 Essbase 功能區的計算來執行 MDX 命令檔。

MDX 命令檔的準則

以下是使用 MDX 命令檔的準則:

  • 使用 MDX 命令檔執行插入或匯出資料作業。

  • 若要進行方格分析,請使用 MDX 報表,而不是 MDX 命令檔。

  • 可以選擇在 MDX 命令檔包含程式實際執行替代變數。

    • MDX 命令檔若含有程式實際執行替代變數,必須在 SET RUNTIMESUBVARS 計算命令內使用 XML 語法 (包括 <RTSV_HINT>),才能在 Smart View 中使用。

    • 若要設成讓程式實際執行替代變數只計算 Smart View 中可見的資料部分,請將程式實際執行替代變數的值設為 POV,並將資料類型設為成員

    • 若從 Essbase Web 介面執行,MDX 命令檔可以使用替代變數,但程式實際執行替代變數除外。若要在 MDX 命令檔中使用程式實際執行替代變數,必須從 Smart View 使用 Essbase 功能區的計算來執行命令檔。

使用替代變數

MDX 命令檔範例

以下是可以從「工作」或 Smart View,對「基本範例」立方體執行的 MDX 命令檔範例。

MDX 插入

您可以儲存此 .mdx 命令檔,然後從工作或從 Smart View計算對話方塊執行。

INSERT "([Measures].[Payroll])" TO "([Measures].[Revised_Payroll])"
INTO [Sample].[Basic]
FROM (
       SELECT 
            {[Measures].[Payroll]} ON COLUMNS,
                {Crossjoin
                  (Crossjoin(Descendants([Year]), 
                   Crossjoin(Descendants([Scenario]),
                  Descendants([Product]))),
                  Descendants([Market]))} ON ROWS
       FROM [Sample].[Basic]
);

以上範例假設先前已經將 Revised_Payroll 計量加到「基本範例」。

MDX 匯出

您可以儲存此 .mdx 命令檔,然後從工作或從 Smart View計算對話方塊執行。

EXPORT INTO FILE "sample01" OVERWRITE
SELECT 
 {[Mar],[Apr]} 
ON COLUMNS,
 Crossjoin({[New York]},
  Crossjoin({[Actual],[Budget]},
     {[Opening Inventory],[Ending Inventory]})) 
ON ROWS
FROM [Sample].[Basic]
WHERE ([100-10])

執行命令檔後,會將下列匯出檔 sample01.txt 儲存到檔案目錄的立方體目錄中:

Market,Scenario,Measures,Mar,Apr
New York,Actual,Opening Inventory,2041,2108
New York,Actual,Ending Inventory,2108,2250
New York,Budget,Opening Inventory,1980,2040
New York,Budget,Ending Inventory,2040,2170

使用程式實際執行替代變數的 MDX 匯出

您可以儲存此 .mdx 命令檔,然後從 Smart View計算對話方塊執行。

SET RUNTIMESUBVARS
{
 States = "Massachusetts"<RTSV_HINT><svLaunch>
                    <description>US States</description>
                    <type>member</type>
                    <allowMissing>false</allowMissing>
                    <dimension>Market</dimension>
                    <choice>multiple</choice>
                    </svLaunch></RTSV_HINT>;
};
EXPORT INTO FILE "sample002" OVERWRITE
SELECT
 {[Mar],[Apr]}
ON COLUMNS,
 Crossjoin({&States}, Crossjoin({[Actual],[Budget]},
 {[Opening Inventory],[Ending Inventory]}))
ON ROWS
FROM [Sample].[Basic]
WHERE ([100-10])

執行命令檔後,會將下列匯出檔 sample002.txt 儲存到檔案目錄的立方體目錄中:

Market,Scenario,Measures,Mar,Apr
Massachusetts,Actual,Opening Inventory,-54,-348
Massachusetts,Actual,Ending Inventory,-348,-663
Massachusetts,Budget,Opening Inventory,-160,-520
Massachusetts,Budget,Ending Inventory,-520,-910