2017-10-15 1 views
2

OLAP-cube 작업 (즉, 드릴 업/다운, 슬라이싱/다이 싱 및 피벗) 및 MDX가 어떻게 관련되는지 알고 싶습니다. 현재 MDX에 대한 OLAP-cube 연산은 SQL에 대한 관계형 대수와 같습니다. 그러나 MDX의 기본 기능이 OLAP 큐브 작업과 어떻게 조화가되는지는 알 수 없습니다. 예를 들어, icCube와 함께 제공되는 데모 "판매"큐브에서 다음 쿼리를 고려하십시오OLAP 큐브 작업과 MDX는 어떤 관계가 있습니까?

튜플 (예를 들어, ([Ottawa],[2009]))의 사용은 OLAP 큐브 작업에 해당 않는 방법
SELECT {([Ottawa],[2009]), ([United States],[Feb 2010])} on Rows, 
     [Measures].members on Columns 
FROM [Sales] 

?

+0

MDX 반환 '뭔가'당신은보고하기 위해 OLAP 클라이언트에서. OLAP 클라이언트에서 드릴 다운하면 클라이언트는 현재있는 위치와 드릴 한 위치, 큐브의 계층 정의가 무엇인지에 따라 새로운 MDX를 산출하고, 해당 MDX를 제출하고 결과를 표시합니다. –

+0

@ Nick.McDermaid OLAP 큐브 연산자가 시각화 도구가 구현할 것으로 예상되는 것은 무엇입니까? 특히, 응용 프로그램 (예 : C#으로 작성)에서 직접 MDX 쿼리를 보내고 그 결과 개체를 가져 오는 경우 OLAP 큐브 연산자는 해당 개체에 다양한 방법으로 액세스 할 수 있습니까? – AlwaysLearning

+0

"OLAP-cube 연산자"가 의미하는 바를 명확히 할 수 있습니까? OLAP 클라이언트 프로그램을 의미합니까? 또는 MDX 언어에서 실제 연산자 (+, -)를 의미합니까? –

답변

2

예, "OLAP-cube 작업은 시각화 도구로 구현할 것으로 예상되는 작업"입니다. MDX는 결과를 생성하는 큐브에 대해 실행되는 쿼리 언어입니다. OLAP 클라이언트는 일반적으로 큐브에 대해 MDX를 실행합니다. 위키 백과에 설명 된대로 "OLAP 큐브 작업"은 일반적으로 클라이언트 응용 프로그램에서 큐브에 대한 임의 (adhoc) 분석을 수행 한 결과입니다.

큐브 구조 일반적으로 이러한 유형의 작업보다 쉽게 ​​액세스 언어 제공 (또는 적어도 빠른) MDX는 "드릴 다운"작업 관련이 있습니까 어떻게

? 예를 들면?

먼저 MDX가 실행되어 일부 유형의 큐브 뷰가 생성됩니다 (MDX 언어 구문이 두 축에만 한정되지는 않지만 일반적으로 일부 행, 일부 열 및 측정 값이 교차 지점에 있음).

사람이이 정보를보고 행의 단일 항목을 드릴 다운하기로 결정했습니다 (이 항목은 이전에 일부 MDX에서 반환되었습니다). 따라서 OLAP 클라이언트는 항목에 대한 드릴 다운보기를 제공하는 일부 MDX를 생성합니다.

문제의 항목에 어린이 MDX 기능을 추가하기 만하면됩니다. 아니면 다른 방법으로 할 수도 있습니다. 그것은 클라이언트에 따라 다릅니다.

Heres는 당신이 (중요하지 않습니다 하나?)를 OLAP 클라이언트 사이의 상호 작용을 도청 할 수있는 방법에 대한 몇 가지 소개 정보와 SSAS 큐브

https://docs.microsoft.com/en-us/sql/analysis-services/instances/introduction-to-monitoring-analysis-services-with-sql-server-profiler

0
큐브 내에서 지역이나 공간의 영역을 지정하는 MDX 쿼리 생각할 수

는 - 튜플은 관심있는 큐브의 일부에 해당하는 프로세서 좌표를 제공하는 기본 방법입니다

.

그것은 당신에게 결과를주는 당신이 지정한 좌표와 조각의 교차점입니다. 큐브 withing에 주요 유형 등 치수, 세트, ​​튜플, 회원으로

MDX 강하게 이론을 설정하는 관련

+0

MDX가 OLAP 큐브 연산자를 기반으로하지 않는다는 대답이 들립니다. 그렇다면 OLAP 큐브 연산자는 무엇입니까? – AlwaysLearning

+1

OLAP 큐브 연산자 란 무엇입니까? – ic3

+0

@ ic3 나는 * operations *을 의미했습니다. https://en.wikipedia.org/wiki/OLAP_cube#Operations를 참조하십시오. – AlwaysLearning

0

MDX 쿼리 테이블을 정의하고 테이블 셀의 각각에 대해 우리는 튜플을했습니다 .

([Ottawa],[2009],[Meas1])     ([Ottawa],[2009],[Meas2]) 
([United States],[Feb 2010],[Meas1])  ([United States],[Feb 2010],[Meas2]) 

이 셀 튜플에 당신이 WHERE 절을 추가 할 수는 SubQuery와 (권장하지 않음) ALL 다를 수 있습니다 기본값 : 시나리오 가정에서 우리는 두 가지 조치 (Meas1, Meas2)를했습니다. 모두가 무시되는 '특별'회원이라는 것을 기억하십시오.

튜플은 하나의 측정 값, 즉 Meas1 또는 Meas2를 정의하며, 측정 값 열 (일반적으로 숫자 값)이있는 '사실 테이블'을 선택합니다. 다른 멤버는 테이블의 행을 선택하여 튜플 멤버 인 Ottawa 및 2009에서 정의한 모든 행에서 계수 (합계, 최소, 최대 ....)로 정의 된 집계를 수행합니다. 왜 그 이유가 설명 하듯이, 당신은 세트와 마찬가지로 멤버들과 '플레이'하기위한 많은 변형을 경험했습니다.

당신이 변환 대신 간단한 행 집계 (전년와 예를 들어 차이)를 정의 calculated members을 사용할 수 있습니다 이것은 단순한 비전이며, 일부 aggregations는 (... 가까운 오픈) 약간 더 까다 있습니다.

하지만이 점을 잘 이해하면 MDX를 이해할 수있는 완벽한 근거가 있습니다.

+0

@whytheq의 회신에 대한 내 의견이 회신에도 적용됩니다. – AlwaysLearning

관련 문제