현재 행을 기준으로 측정 값을 계산하고 싶습니다. 문제가 있는데 WITH MEMBER 부분에 현재 행을 가져 오는 방법을 찾을 수 없습니다.WITH MEMBER 계산에서 현재 행 값을 얻는 방법 MDX?
WITH MEMBER [Measures].[Test] AS AVG(
NonEmptyCrossJoin(
FILTER(DESCENDANTS([Exigences].[ENVGR], [Levier], SELF),
[Exigences].CurrentMember.Name = 'Chemicals'),
DESCENDANTS([Organization].[Valeo].[Powertrain Systems], [entity], SELF)),
[Measures].[ProgressLevel])
SELECT {[Measures].[ProgressLevel], [Measures].[Test]} ON COLUMNS,
DESCENDANTS([Exigences].[ENVGR].[ENVGR-01.001], [Levier], SELF) ON
ROWS FROM [Exigences]
화학 물질은 현재 하드 코딩되어 있습니다. 그것은 예를위한 것입니다. '화학 물질'대신 현재 행 값을 갖고 싶습니다.
그럼 행이 'Chemicals', 'Pharmacy', 'Test'를 반환하는 값이라고 가정 해 봅시다. [Measures]. [Test] 계산을 변경하고 싶습니다.
MDX로 할 수 있습니까? 그렇다면 현재 값을 어떻게 얻을 수 있습니까?
[Levier] .CurrentMember.Name을 시도했지만 [Exigences] .CurrentMember.Name과 충돌합니다.
어떤 아이디어가 있습니까? 이 노력의 비트를 복용하고있다
확실하지 것은 이해하기 현재 행에서 무엇을 의미합니까? 기본 테이블의 행? 그렇다면 어느 것입니까? (Rowid를 얻는 것은 OLAP이 아닙니다 :-)) – ic3
ON ROWS를 선택하면, [Levier] 멤버 세트를 돌려 줄 수있는 DESCENDANTS를하고 있습니다. 이제 WITH MEMBER 위에 '화학 물질'문자열이 하드 코드 된 것을 볼 수 있습니다. 이 문자열을 내 [Levier] .CurrentMember.Name 값으로 지정합니다. 그러나 [Exigences] .CurrentMember.Name과 [Levier] .CurrentMember.Name 사이의 항등 테스트는 항상 충돌하는 [Exigences] 차원의 필터링 때문에 항상 필터로 필터링되므로 필터가 필터링되지 않습니다. – Spredzy
나는 당신의 문제, 까다로운 것을 본다. icCube OLAP 서버는 문제를 해결할 기능 언어를 지원합니다. 죄송합니다, Axis() 또는 중복 된 계층 구조를 사용하여 뭔가를하지 않는 한 문제를 해결하는 방법을 볼 수 없습니다. 이 표준 MDX su..s에 대해 변수 uff를 만들어야합니다. – ic3