2011-03-31 6 views
1

축에 제공된 선택한 값을 기준으로 차원을 따라 롤업되는 계산 된 멤버를 작성하려고합니다.MDX 계산 된 멤버 선택한 멤버 롤 수의 합

제품 -> 하위 범주 -> 카테고리 렉서스 -> 세단 -> 자동차 렉서스-쿠페 -> 쿠페 -> 자동차 BMW -> 세단 -> 자동차 BMW 쿠페 -> 몇 -> 자동차 포드 - > 픽업 -> 트럭 체브 -> 픽업 -> 트럭 포드 SUV -> SUV -> 트럭 링컨 NAV -> SUV -.> 트럭

[계산 된 측정] = [측정] [A] + [측정]. [b]

사용자가 렉서스 - 쿠페의 경우에만 자동차 수준에서 [계산 된 측정 값]을보고 싶다고 가정하고 bmw. 차원에서 선택된 항목을 기반으로 자동차 수준에서 롤업되는 계산 된 치수는 어떻게 작성합니까?

미리 감사드립니다.

+0

는 "선택된" ? MDX 요청의 예가 있습니까? 그건 그렇고, 당신은 계산 된 회원 [여기] (http://www.iccube.com/support/documentation/mdx/Calculated%20Members.html)에 대한 문서를 볼 수 있습니다 –

+0

지연된 응답 죄송합니다 - 밖으로 마을의. 따라서 MDX 요청의 구문은 ... 컬럼에 대한 SELECT [Measures]. [MyMeasure], 필터 (자손 (product.sedan, product.category, self_and_before), <일부 잎을 제거하는 일부 필터 기준>) mycube의 행에) .... [측정]. [MyMeasure]는 (product.CurrentMember, OtherDimension.ParticularMember, measures.SomeOtherMeasure'의 튜플로 정의됩니다. 예, 바보 같지만 고객이 원하는 것은 다른 차원에서 피벗 할 SomeOtherMeasure/SpecificMember 튜플에 대한 측정 필드 – feemurk

답변

1

필자는 이전에 MDX를 작성하여 행 (또는 열)에 사용되는 차원을 확인하고 측정 값 계산 방식을 변경했습니다. 좀 지저분 해. (? 행)

이 예는 어떤 조치를 사용하는 축 1 있는지보고, 그에 따라 계산을 변경할 수 있습니다 : 나는 StrToSet 다음 SetToStr 왜 그랬는지

IIF(InStr(1, SetToStr(StrToSet("Axis(1)")), "[Measures].") = 0, blah, blah) 

기억 할 수 없습니다, 그러나 일 ! 당신이 뜻하는 일

당신은 그에 따라 계산 된 구성원과 사용자가 행과 열을 선택하고, 바이올린 것을 검토 InStr() 같은 VBA 문자열 함수를 사용할 수 있습니다 ...

+0

의미가 있지만 Axis (1)의 차원 수준을 올바르게 롤백 할 "ㅋ"를 찾고 있습니다 ... – feemurk