MDX 보고서로 데이터 분석

MDX 보고서를 사용하여 Essbase 웹 인터페이스에서 질의를 저장하고 렌더링할 수 있습니다. 보고서 생성에 필요한 최소 권한은 데이터베이스 관리자입니다.

[임시 분석] 탭에서 레이아웃을 정의하는 것이 항상 정교한 보고서를 생성하기 위한 가장 효율적인 방법은 아닐 수 있습니다. 질의할 내용을 정확히 알고 있을 경우 MDX를 사용하여 그리드를 채울 질의를 생성할 수 있습니다.

MDX 보고서를 생성하려면 다음과 같이 하십시오.
  1. 데이터베이스 관리자 또는 그 이상의 롤로 Essbase 웹 인터페이스에 로그인합니다.
  2. [애플리케이션] 페이지에서 애플리케이션을 확장하고 큐브를 선택합니다.
  3. 큐브 이름 오른쪽에 있는 [작업] 메뉴를 누르고 데이터 분석을 선택합니다.
  4. [분석] 뷰에서 보고서 탭을 선택하고 생성을 누릅니다.
  5. 보고서에 대한 이름 및 설명(선택사항)을 입력합니다.
  6. [질의] 필드에서 현재 큐브와 관련된 MDX 질의를 입력합니다. 예를 들어, 다음과 같습니다.
    SELECT
      {([West].children)}
    ON COLUMNS,
      {([Diet].children)}
    ON ROWS
    

    질의에는 행 축과 열 축 지정이 포함되어야 합니다. 즉, 비어 있는 {} 집합만 한 축에 대해 지정된 경우에도 질의 구문에는 ON COLUMNS와 ON ROWS에 대한 지정이 포함되어야 합니다.

    데이터 분석 컨텍스트는 활성 큐브이므로 MDX 보고서에서 선택적 큐브 지정(FROM 절)을 생략하는 것이 좋습니다. FROM 절을 생략하면 유연성이 향상됩니다. 즉, 큐브가 복사되거나 큐브 이름이 바뀌는 경우 보고서가 새 큐브에서 지원됩니다.

    대체 변수는 MDX 보고서에서 지원되지만 런타임 대체 변수는 지원되지 않습니다. 런타임 대체 변수를 사용하려면 MDX 질의를 스크립트로 저장하고 Smart View에서 Essbase 리본의 계산을 사용하여 실행합니다.

  7. 검증을 눌러 MDX 구문을 확인한 다음 저장을 누릅니다.
  8. 왼쪽에 있는 [보고서] 패널에서 저장된 보고서를 선택하여 그리드를 렌더링합니다.

MDX에 대해 자세히 알아보려면 MDXWriting MDX Queries를 참조하십시오.

MDX 보고서 액세스

보고서 작업 방식은 큐브 액세스 권한에 따라 다릅니다.

최소한 애플리케이션 레벨의 데이터베이스 액세스 롤을 보유한 사용자는 다른 사람이 생성한 저장된 MDX 보고서를 렌더링할 수 있습니다. 보고서에 표시되어 사용자에게 제공되는 데이터는 사용자의 필터 액세스에 따라 다릅니다.

저장된 보고서 렌더링을 비롯하여 데이터베이스 액세스 사용자는 다양한 형식(HTML, CSV, Excel 및 JSON)의 결과 집합을 익스포트할 수 있습니다.

또한 데이터베이스 액세스 사용자는 보고서 이름 옆에 있는 작업 메뉴를 누르고 보기를 선택하여 보고서를 정의하는 MDX 질의를 볼 수 있습니다.

최소한 데이터베이스 관리자 롤을 보유한 경우 데이터베이스 액세스 사용자가 수행할 수 있는 것과 동일한 방식으로 보고서를 사용할 수 있습니다. 또한 작업 메뉴를 사용하여 보고서를 편집 및 삭제할 수 있습니다.

서비스 관리자인 경우 실행 권한 단추를 사용하여 다른 사용자를 가장하고 데이터 액세스를 확인할 수도 있습니다. 이는 다양한 사용자에게 지정된 필터를 테스트하는 데 유용합니다.

MDX 보고서의 예

이 섹션의 MDX 예에서는 MDX 보고서를 사용하여 수행할 수 있는 특수 유형의 분석([임시 분석] 뷰에서는 쉽게 수행할 수 없음)을 보여줍니다.

다음 예는 Sample Basic 큐브에서 작업하도록 설계되었습니다.

메타데이터 보고서

다음 예에서는 메타데이터(데이터를 제외한 멤버 이름)만 반환합니다

SELECT 
  {[Product].Levels(1).Members} 
ON ROWS, 
  {} 
ON COLUMNS

그리드 반환:

보고서 출력에서는 Product 멤버 100, 200, 300, 400 및 Diet를 보여줍니다.

속성 보고서

다음 예에서는 속성 차원의 멤버를 열에 사용합니다.

SELECT 
 [Product].Children 
ON ROWS, 
 [Ounces].Children 
ON COLUMNS 
WHERE {Sales}

그리드 반환:

보고서 출력에서는 행에 Product 멤버 100, 200, 300, 400 및 Diet를 보여줍니다. 열에는 속성 멤버 Ounces_32, Ounces_20, Ounces_16 및 Ounces_12가 표시됩니다.

필터링된 보고서

다음 예에서는 슬라이서(WHERE 절)를 사용하여 Cola로 질의를 제한합니다. 또한 Filter 함수는 질의의 레벨 0 Market을 Profit이 음수인 Market으로 제한합니다.

SELECT
  { Profit } 
ON COLUMNS,
  Filter( [Market].levels(0).members, Profit < 0) 
ON ROWS
WHERE {Cola}

그리드 반환:

보고서 출력에서는 행에 Market 멤버 Oregon, Utah, Nevada, Oklahoma, Louisiana, Ohio, Wisconsin, Missouri 및 Iowa를 보여줍니다. 열에는 Profit이 표시됩니다. 데이터 값은 모두 음수입니다.

UDA 보고서

다음 예에서는 "Major Market"의 UDA(사용자 정의 속성)가 있는 Market 차원 멤버에 대한 Product 데이터를 보여줍니다. 슬라이서(WHERE 절)는 Sales 데이터만 포함하도록 질의를 제한합니다.

SELECT 
  [Product].Children 
ON ROWS, 
  {Intersect(UDA([Market], "Major Market"), [Market].Children)} 
ON COLUMNS 
WHERE {Sales}

그리드 반환:

보고서 출력에서는 행에 Product 멤버 100, 200, 300, 400 및 Diet를 보여줍니다. 열에는 Major Market인 East와 Central이 표시됩니다.