기본 MDX 쿼리(MDX)

기본 MDX 쿼리는 SELECT 문이며 이 문은 MDX에서 가장 자주 사용되는 쿼리입니다. MDX SELECT 문에서 결과 집합을 지정하는 방식, SELECT 문의 구문 정의 및 SELECT 문을 사용하여 간단한 쿼리를 만드는 방법을 이해하면 MDX를 사용하여 다차원 데이터를 쿼리하는 방법을 확실히 알 수 있습니다.

결과 집합 지정

MDX에서 SELECT 문은 큐브로부터 반환된 다차원 데이터의 하위 집합이 포함되는 결과 집합을 지정합니다. 결과 집합을 지정하려면 MDX 쿼리에 다음과 같은 정보가 포함되어야 합니다.

  • 계층의 축 또는 집합 개수. MDX 쿼리에서는 축을 128개까지 지정할 수 있습니다.

  • MDX 쿼리의 각 축에 포함할 각 차원의 멤버 수

  • MDX 쿼리의 컨텍스트를 설정하는 큐브 이름

  • 쿼리 축의 멤버에 대해 데이터가 분할되는 slicer 축의 멤버 slicer 및 쿼리 축에 대한 자세한 내용은 쿼리 및 Slicer 축으로 쿼리 제한(MDX)을 참조하십시오.

쿼리 컨텍스트를 설정하는 큐브, slicer 축, MDX SELECT 문은 쿼리 축을 확인하기 위해 다음 절을 사용합니다.

  • MDX SELECT 문의 쿼리 축을 결정하는 SELECT 절. SELECT 절의 쿼리 축 구성에 대한 자세한 내용은 쿼리 축의 내용 지정(MDX)을 참조하십시오.

  • MDX SELECT 문의 결과 집합을 채우기 위해 데이터를 추출할 때 사용할 다차원 데이터 원본을 결정하는 FROM 절. FROM 절에 대한 자세한 내용은 SELECT 문(MDX)을 참조하십시오.

  • slicer 축으로 사용할 차원 또는 멤버를 결정하기도 하며, 데이터 추출을 특정 차원이나 멤버로 제한하는 WHERE 절. WHERE 절의 slicer 축 구성에 대한 자세한 내용은 Slicer 축의 내용 지정(MDX)을 참조하십시오.

[!참고]

SELECT 문의 여러 절에 대한 자세한 내용은 SELECT 문(MDX)을 참조하십시오.

SELECT 문 구문

다음 구문은 SELECT, FROM 및 WHERE 절이 포함된 기본 SELECT 문을 보여 줍니다.

[ WITH <SELECT WITH clause> [ , <SELECT WITH clause> ... ] ] 
SELECT [ * | ( <SELECT query axis clause> 
    [ , <SELECT query axis clause> ... ] ) ]
FROM <SELECT subcube clause> 
[ <SELECT slicer axis clause> ]
[ <SELECT cell property list clause> ]

MDX SELECT 문에는 WITH 키워드, 축 또는 slicer 축에 포함할 계산의 멤버 구성을 위한 MDX 함수, 쿼리의 일부로 특정 셀 속성의 값을 반환하는 기능 등의 여러 선택적 구문이 지원됩니다. MDX SELECT 문에 대한 자세한 내용은 SELECT 문(MDX)을 참조하십시오.

MDX SELECT 문의 구문과 SQL 구문 비교

MDX SELECT 문의 구문 형식은 SQL 구문과 비슷합니다. 하지만 다음과 같은 점에서 명백한 차이를 나타냅니다.

  • MDX 구문은 튜플이나 멤버를 중괄호({})로 묶어 집합을 구분합니다. 멤버, 튜플 및 집합 구문에 대한 자세한 내용은 멤버, 튜플 및 집합 작업(MDX)을 참조하십시오.

  • MDX 쿼리는 SELECT 문에서 쿼리 축을 128개까지 사용할 수 있지만, 처음 다섯 개의 축에만 별칭이 있습니다. MDX 쿼리 내의 축 순서 위치나 축에 별칭이 있는 경우 축의 별칭으로 축을 참조할 수 있습니다. SQL 쿼리의 경우와 마찬가지로, FROM 절은 MDX 쿼리에 대한 데이터 원본 이름을 지정합니다. 하지만 MDX FROM 절은 단일 큐브로 제한됩니다. LookupCube 함수를 사용하여 값 단위로 다른 큐브 정보를 검색할 수 있습니다.

  • WHERE 절은 slicer 축을 기술합니다. 계층이 WHERE 절의 일부로 언급되지 않는 경우 MicrosoftSQL ServerAnalysis Services에서는 쿼리 축에 명시적으로 포함되지 않은 계층이 slicer 축에 암시적으로 포함되어 있으며, 계층이 해당 기본 멤버에 필터링되어 있는 것으로 간주합니다. WHERE 절은 지정된 계층에 대한 필터링 과정을 변경하여 포함된 데이터를 세부적으로 제어할 수 있게 합니다.

SELECT 문 예

다음 예는 SELECT 문을 사용하는 기본 MDX 쿼리를 보여 줍니다. 이 쿼리는 Southwest 판매 지역의 2002년 및 2003년 판매액과 세금액이 포함된 결과 집합을 반환합니다.

SELECT
    { [Measures].[Sales Amount], 
        [Measures].[Tax Amount] } ON COLUMNS,
    { [Date].[Fiscal].[Fiscal Year].&[2002], 
        [Date].[Fiscal].[Fiscal Year].&[2003] } ON ROWS
FROM [Adventure Works]
WHERE ( [Sales Territory].[Southwest] )

이 예에서 쿼리는 다음과 같은 결과 집합 정보를 정의합니다.

  • SELECT 절은 Measuers 차원의 Sales Amount 및 Tax Amount 멤버 및 Date 차원의 2002 및 2003 멤버로 쿼리 축을 설정합니다.

  • FROM 절은 데이터 원본이 Adventure Works 큐브임을 나타냅니다.

  • WHERE 절은 Sales Territory 차원의 Southwest 멤버로 slicer 축을 정의합니다.

또한 쿼리 예에서는 COLUMNS 및 ROWS 축 별칭이 사용되었습니다. 이러한 축의 순서 위치가 사용될 수도 있습니다. 다음 예에서는 각 축의 순서 위치를 사용하도록 작성된 MDX 쿼리를 보여 줍니다.

SELECT
    { [Measures].[Sales Amount], 
        [Measures].[Tax Amount] } ON 0,
    { [Date].[Fiscal].[Fiscal Year].&[2002], 
        [Date].[Fiscal].[Fiscal Year].&[2003] } ON 1
FROM [Adventure Works]
WHERE ( [Sales Territory].[Southwest] )
중요 정보중요

일반적으로 집합은 보다 큰 큐브 컨텍스트에서 계산됩니다. 그러나 EXISTING 키워드(MDX)는 집합이 현재 컨텍스트에서 계산되도록 합니다.

참고 항목

참조

개념