2014-02-05 6 views
2

다음 쿼리는 내 COLUMNS 축에 정의 된 차원이 있으므로 쿼리 디자이너에서 작동하지 않지만 SSMS에서 완벽하게 작동합니다.쿼리 디자이너의 수락을 위해 MDX 쿼리 병합

SELECT t.* 
FROM (

    SELECT 
     NON EMPTY { 
      [Measures].[Amount] 
      * [Cost Type].[Cost Type].[Cost Type] 
     } ON COLUMNS 
     , NON EMPTY { 
      [Empl].[Name].[Name] 
      * [Date].[Calendar].[Month] 
     } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS 
    FROM 
     Cube 

) AS t 

이 바로 첫 번째 쿼리처럼, SSMS에서 잘 작동 :

SELECT 
    NON EMPTY { 
     [Measures].[Amount] 
     * [Cost Type].[Cost Type].[Cost Type] 
    } ON COLUMNS 
    , NON EMPTY { 
     [Empl].[Name].[Name] 
     * [Date].[Calendar].[Month] 
    } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS 
FROM 
    Cube 
는이 문제를 해결하기 위해, 나는 다음과 같은 방법으로 쿼리를 평평하게했습니다. 그러나이 쿼리 디자이너에서 다음과 같은 오류가 발생합니다 : 나는에서 (쿼리 디자이너에서 작업이 쿼리를 얻을 수있는 방법

Name  Month  Cost_Type1  Cost_Type2  Cost_Type3 
a  january 1.54   1.56   2.43 
a  january 3.53   2.34   1.23 
b  january 3.53   2.13   4.53 

: 이것은 내가 찾고 결과가

TITLE: Microsoft Visual Studio 
------------------------------ 

Query preparation failed. 

------------------------------ 
ADDITIONAL INFORMATION: 

Please verify that the query is an MDX one and not DMX. (Microsoft.AnalysisServices.Controls) 

------------------------------ 
BUTTONS: 

OK 
------------------------------ 

BIDS, Visual Studio)?

+0

쿼리 디자이너의 디자이너 모드 (끌어서 놓기)를 사용하여이 쿼리를 구성하려고 시도 했습니까? 그런 다음 MDX 모드로 전환하여 디자이너가 생성 한 MDX를 볼 수 있습니다. – Dan

+0

측정 값을 차원과 결합 할 수 없기 때문에 디자이너 모드에서 쿼리를 생성 할 수 없습니다. – Aquillo

+0

정확하게 이해했는지 확인하십시오. 평평한 데이터 세트에는 모든 직원, 모든 달 및 모든 비용 유형의 금액 만 표시됩니다. 권리? 따라서 디자이너 모드에서는 [날짜] 차원의 [달력] - 특성에서 [차원] 수준의 [차원] 수준에서 [이름] 특성을 끌어다 놓고 [ 비용 유형] - 차원의 [비용 유형] - 속성 및 마지막으로 [양] 측정 값을 선택합니다. 빌라! – Dan

답변

1

당신이 [측정]을 원하기 때문에 [양이], 각 비용 유형에 대한 계산 된 구성원을 만드는 것보다 다른 옵션이없는 각 [비용 유형]에 대한 열에서 반복 측정이 :.

WITH 
MEMBER [Cost_Type1] AS ([Cost Type].[Cost Type].[Cost_Type1], [Measures].[Amount]) 
MEMBER [Cost_Type2] AS ([Cost Type].[Cost Type].[Cost_Type2], [Measures].[Amount]) 
MEMBER [Cost_Type3] AS ([Cost Type].[Cost Type].[Cost_Type3], [Measures].[Amount]) 

SELECT { [Cost_Type1], [Cost_Type2], [Cost_Type3] } ON COLUMNS, 
    NON EMPTY { 
     [Empl].[Name].[Name] 
     * [Date].[Calendar].[Month] 
    } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS 
FROM 
    Cube 

이 때문이다 BIDS 쿼리 디자이너의 제한 사항 - "디자인 타임"에서 알 수없는 수의 열을 허용하지 않으므로 COLUMNS 축에 집합을 지정할 수 없습니다. 단 하나의 멤버 만 설정할 수 있습니다 (SSMS).