MDX 스크립트 실행

삽입 또는 익스포트 데이터 작업을 실행해야 하는 경우 MDX 스크립트를 사용합니다.

그리드 데이터 분석의 경우 MDX 보고서를 사용합니다. MDX 보고서로 데이터 분석을 참조하십시오.

MDX 스크립트를 사용하려면 워크플로우를 선택합니다.

MDX 스크립트 작성, 업로드 및 실행

이 워크플로우를 사용하여 텍스트 편집기에서 MDX 스크립트를 작성하고 Essbase에 업로드합니다.

  1. 텍스트 편집기에서 MDX 스크립트를 작성하고 .mdx 확장자를 사용하여 저장합니다.

  2. Essbase 웹 인터페이스에서 파일 아래의 애플리케이션 또는 큐브 디렉토리로 MDX 스크립트를 업로드합니다.

  3. 작업 또는 Smart View에서 Essbase 리본의 계산을 사용하여 MDX 스크립트를 실행합니다.

스크립트 편집기에서 MDX 스크립트 작성 및 실행

이 워크플로우를 사용하여 큐브의 스크립트 편집기에서 MDX 스크립트를 작성하고 작업에서 실행합니다.

  1. [애플리케이션] 페이지에서 애플리케이션 및 큐브를 확장합니다.

  2. 큐브의 [작업] 메뉴에서 검사를 누릅니다.

  3. 스크립트를 누른 다음 MDX 스크립트를 누릅니다.

  4. +를 눌러 스크립트 편집기를 엽니다.

  5. MDX 스크립트를 작성합니다. 멤버 트리 및 함수 목록이 유용합니다.

  6. 스크립트를 검증 및 저장한 다음 스크립트 편집기를 닫습니다.

  7. 작업에서 MDX 스크립트를 실행합니다(MDX 실행 참조). 또는 Smart View를 사용 중인 경우 Essbase 리본의 계산을 사용하여 실행합니다.

Cube Designer에서 MDX 스크립트 생성 및 실행

이 워크플로우에서는 애플리케이션 워크북을 사용하여 MDX 스크립트를 생성하고 작업에서 실행합니다.

  1. 애플리케이션 워크북에서 MDX 워크시트를 생성합니다. Cube Designer에서 MDX 워크시트 작업을 참조하십시오.
  2. 파일 이름 필드에 파일 이름을 추가합니다.
  3. MDX 실행 필드에서 큐브 생성 시점에 MDX를 실행할지 여부를 나타냅니다. 적합한 항목은 아니오입니다.
  4. 스크립트 행 아래에 MDX 스크립트를 추가합니다.
  5. 애플리케이션 워크북을 저장합니다.
  6. 큐브를 빌드합니다. Cube Designer에서 애플리케이션 및 큐브 생성을 참조하십시오.
  7. 작업에서 MDX 스크립트를 실행합니다. 또는 Smart View를 사용 중인 경우 Essbase 리본의 계산을 사용하여 실행합니다.

MDX 스크립트에 대한 지침

MDX 스크립트 작업 시 다음 지침이 적용됩니다.

  • MDX 스크립트를 사용하여 삽입 또는 익스포트 데이터 작업을 수행할 수 있습니다.

  • 그리드 분석의 경우 MDX 스크립트 대신 MDX 보고서를 사용하십시오.

  • 선택적으로 MDX 스크립트에는 런타임 대체 변수가 포함될 수 있습니다.

    • Smart View 내에서 사용할 수 있으려면 런타임 대체 변수를 사용하는 MDX 스크립트가 <RTSV_HINT>를 포함하여 SET RUNTIMESUBVARS 계산 명령 내에서 XML 구문을 사용해야 합니다.

    • Smart View에서 표시되는 데이터 조각만 계산되도록 런타임 대체 변수를 설정하려면 런타임 대체 변수 값을 POV로 설정하고 데이터 유형을 member로 설정합니다.

    • Essbase 웹 인터페이스에서 실행할 때 MDX 스크립트는 대체 변수를 사용할 수 있지만 런타임 대체 변수를 사용할 수 없습니다. MDX 스크립트에서 런타임 대체 변수를 사용하려면 Smart View에서 Essbase 리본의 계산을 사용하여 스크립트를 실행해야 합니다.

대체 변수 사용

MDX 스크립트의 예

다음은 작업 또는 Smart View에서 Sample Basic 큐브에 대해 실행할 수 있는 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 측정단위를 Sample Basic에 추가했다고 가정합니다.

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