본문 바로가기

Analysis Services

drillthrough 구문 예제

DRILLTHROUGH
SELECT
   ([Date].[Calendar].[Month].[July 2003])
ON 0
FROM [Adventure Works]
WHERE [Geography].[Country].[Australia]
RETURN
  [$Date].[Date]
  ,KEY([$Product].[Model Name])
  ,NAME([$Employee].[Employee])
  ,[Reseller Sales].[Reseller Sales Amount]
  ,[Reseller Sales].[Reseller Tax Amount]
  ,[Reseller Sales].[Reseller Standard Product Cost]
기본적으로 큐브를 쿼리할 때의 MDX 구문과 비슷하지만,
끝의 Return 구문에서 row 형태로 가져올 컬럼을 선택한다는 점이 다르다.

(큐브의 목적에는 그다지 부합하지 않지만) 큐브에 담겨 있는 가장 낮은 수준의 데이터를 조회해야 할 경우에 이러한 drillthrough 구문을 사용할 수 있으며, KEY()/NAME() 예약어를 사용해 차원 멤버의 키와 이름을 분리해서 가져오는 것이 가능하다.KEY()/NAME() 예약어를 사용하지 않으면 해당 차원에서 기본으로 가져오는 이름을 사용하게 된다.