복잡한 MDX 계산 방법 질문이 있습니다. 나는 두 개의 측정 값과 Hour-Minute 계층 구조를 가지고있다. 매시간 수준에서 MeasureA는 기본 분 값의 최대 값까지 롤업합니다. MeasureB는 MeasureA에서 Max의 해당 값으로 롤업해야합니다. 아래 예에서 8은 Max of MeasureA입니다. 따라서 MeasureB는 매시간 최대 2 롤을해야합니다. MeasureB 계산에 문제가 있습니다. MDX 계산 된 측정 값에서이 작업을 수행하는 방법에 대한 아이디어가 있습니까? 위 외에도SSAS MDX의 다른 측정 값을 기반으로 측정 값을 검색하려면 어떻게합니까?
MeasureA Measure B
Hour 8 2
Minute1 2 3
Minute2 1 2
Minute3 5 1
Minute4 6 3
Minute5 8 2
는 .... 나는 두 개의 계층 구조 "년 - 월 - 일"과 "시 - 분"을 가지고있다. 이것은 Hour-Minute hierachy에서 완벽하게 작동합니다. 그러나, 같은 논리가 별도의 계층에 있더라도 시간별로 롤업하기를 원할 때. 나는 아래의 작업 시간/분 키와 비 작동 일 키에 대한 코드를 가지고있다. 제가 잘못하고있는 것을 보았습니까?
측정 A는 = "평균 사용 자료"와 B = "총 리소스"를 측정
// Total Resources Calculation
---Initializing keys
CREATE MEMBER CURRENTCUBE.[Measures].[Avg Used Resources Key Minutes]
AS null,
VISIBLE = 1, ASSOCIATED_MEASURE_GROUP = 'NSS Resource Utilization';
CREATE MEMBER CURRENTCUBE.[Measures].[Avg Used Resources Key Hours]
AS null,
VISIBLE = 1, ASSOCIATED_MEASURE_GROUP = 'NSS Resource Utilization';
CREATE MEMBER CURRENTCUBE.[Measures].[Avg Used Resources Key Days]
AS null,
VISIBLE = 1, ASSOCIATED_MEASURE_GROUP = 'NSS Resource Utilization';
---
-- Minute Key
SCOPE ([Time].[Hour-Minute].[Time Name],[Measures].[Avg Used Resources Key Minutes]);
THIS = IIF(([Time].[Hour-Minute].CurrentMember,[Measures].[Avg Used Resources])
= ([Time].[Hour-Minute].CurrentMember.Parent,[Measures]. [Avg Used Resources])
, [Time].[Hour-Minute].CurrentMember.Member_Key, null);
END SCOPE;
-- Hour Key
SCOPE ([Measures].[Avg Used Resources Key Hours]);
THIS = MAX([Time].[Hour-Minute].CurrentMember.Children,[Measures].[Avg Used Resources Key Minutes]);
END SCOPE;
-- Day Key
SCOPE ([Measures].[Avg Used Resources Key Days]);
THIS = IIF(([Time].[Hour-Minute].CurrentMember,[Measures].[Avg Used Resources])
= ([Time].[Hour-Minute].CurrentMember.Parent, [Measures].[Avg Used Resources])
, [Time].[Hour-Minute].CurrentMember.Member_Key, null);
END SCOPE;
-- Hour Value
SCOPE ([Time].[Hour-Minute].[Hour 24],[Measures].[Total Resources]);
THIS = (StrToMember("[Time].[Hour-Minute].[Time Name].&["+CStr([Measures]. [Avg Used Resources Key Hours])+"]")
,[Measures].[Total Resources]);
END SCOPE;
--Date Value
SCOPE ([Time].[Hour-Minute].[ALL],[Measures].[Total Resources]);
THIS = (StrToMember("[Time].[Hour-Minute].[Hour 24].&["+CStr([Measures].[Avg Used Resources Key Days])+"]")
,[Measures].[Total Resources]);
END SCOPE;
귀하의 질문에 답변 할 수 없습니다. 큐브 구조를 공유하고 코드에 대한 현재 측정 값과 이에 대한 분석을 공유하십시오. – SouravA