2013-07-21 3 views
2

이 내가 몬드리안 3.5MDX 계산 된 구성원의 실패를 완전히 제한하려고 한 이유는 무엇입니까? (몬드리안)는

이 MDX와 함께 제공됩니다 생각 펜타 3.8 CE이다 그 결과 생성합니다.

WITH MEMBER [Items].[ItemType].[NonSales] as 
[Items].[ItemType].[Deposit] + [Items].[ItemType].[Gift_Voucher] 
SELECT 
{[Items].[NonSales]} ON COLUMNS, 
[Measures].[AmtPaidExclGST] on rows 
FROM [sales] 

(치수는 항목입니다 그것은 익명의 한 계층, 하나의 레벨이 ItemType은라고도 함)

그러나이되지 않습니다.

WITH MEMBER [Items].[ItemType].[NonSales] as 
[Items].[ItemType].[Deposit] + [Items].[ItemType].[Gift_Voucher] 
SELECT 
{[Items].[ItemType].[NonSales]} ON COLUMNS, 
[Measures].[AmtPaidExclGST] on rows 
FROM [sales] 

의 차이는 성공적인 행 선택은 덜 사용한다는 것입니다 계산 된 구성원 이름의 정식 버전. MDX 문서를 읽었을 때 정규화 된 멤버 이름이 작동해야 함을 나타냅니다. 두 쿼리 모두 동일한 결과를 얻을 것으로 기대합니다.

실제 회원에게 적용됩니다. 이 작동합니다.

SELECT 
{[Items].[ItemType].[Deposit]} ON COLUMNS, 
[Measures].[AmtPaidExclGST] on rows 
FROM [sales] 

저는 MDX에 익숙하지 않습니다. 회원 이름을 쓰는 방법에 대한 저의 생각이 의심 스럽기 때문에 이것은 정신이 없습니다.

+0

, 나는이 예에서 볼 : http://msdn.microsoft.com/en-us/library/ms146017.aspx는 은 Microsoft는 첫 번째 키워드로의 구문에서 "기록의 Member_Identifier 값은 계산 된 구성원의 정규화 된 이름이며이 정규화 된 이름에는 계산 된 구성원이 연결된 차원이나 수준이 포함됩니다. " –

답변

1

일부 오래된 버전의 mondrian에서는 루트 수준 이외의 수준에 멤버를 추가 할 수 없습니다 (루트 차원 멤버의 예로는 일부 차원에서 ALL). 아마도 몬 드리 안은 계산 된 멤버를 추가하고 있지만 (차원을 사용하여 쿼리 할 수는 있지만) 레벨에 연결할 수는 없습니다 ([쿼리 2]를 사용하는 쿼리).

감사 사실