2009-02-05 2 views
3

사실 테이블에 숫자가 있고 SUM 집계를 사용하여 숫자를 요약하는 측정 값이 생성되었습니다. 하지만 문제는 단지 10보다 높은 숫자를 합산하기를 원한다는 것입니다. 측정 값 정의에서 일반 표현식을 사용하여 시도했지만 물론 작동하지만 문제는 동적으로 설정할 수 있어야한다는 것입니다. 그 값은 항상 10이 아니기 때문에 사용자가 직접 선택할 수 있어야합니다.MDX : 측정 값의 테이블 값으로 구성된 멤버 필터링

은보다 구체적으로, 내 현재 MDX는 다음과 같습니다

 
WITH 
SET [Email Measures] AS '{[Measures].[Number Of Answered Cases], 
[Measures].[Max Expedition Time First In Case], [Measures].[Avg Expedition Times First In Case], 
[Measures].[Number Of Incoming Email Requests], [Measures].[Avg Number Of Emails In Cases], 
[Measures].[Avg Expedition Times Total],[Measures].[Number Of Answered Incoming Emails]}' 

SET [Organizations] AS '{[Organization.Id].[860]}' 
SET [Operators] AS '{[Operator.Id].[3379],[Operator.Id].[3181]}' 
SET [Email Accounts] AS '{[Email Account.Id].[6]}' 
MEMBER [Time.Date].[Date Period] AS Aggregate ({[Time.Date].[2008].[11].[11] :[Time.Date].[2009].[1].[2] }) 
MEMBER [Email.Type].[Email Types] AS Aggregate ({[Email.Type].[0]}) 
SELECT {[Email Measures]} ON columns, 
[Operators] ON rows 
FROM [Email_Fact] 
WHERE ([Time.Date].[Date Period]) 

지금, 문제의 구성원이 계산 된 구성원 [평균 탐험 시간 전체]입니다. 이 회원은 두 가지 조치를 취합니다. [원정대 시간 합계]와 [원정대 시간대]를 선택하고 평균값을 얻기 위해 하나를 나눕니다.이 모든 것은 현재 작동합니다. 그러나 [Sum Expedition Times]가 사용자/사용자의 소원의 매개 변수 위 또는 아래의 값만을 요약하기를 원합니다.

마침표가 최종적으로 제공하는 합계를 필터링하는 대신 [Sum Expedition Times] 숫자를 필터링하려면 어떻게합니까?

+0

내가 필요로하는 것보다 더 높은 수준에서 작동하기 때문에 MDX를 통해 직접하고 싶은 일을 할 수 없다는 것을 알았습니다. 저는 큐브에 사용자의 입력에 따라 개별적으로 사용되는 여러 가지 측정 값을 만들어서 해결했습니다. 이렇게하면 MDX는 사용할 측정 값 만 제어합니다. –

+0

그냥 내가 제안하려고했던 것! –

답변

0

멤버를 큐브에 배치하는 대신 MDX 쿼리로 이동할 수 있습니다. 그럼 당신은

WITH 
MEMBER [Avg Expedition Times Total] AS 
SUM(
    FILTER([Your Dimension], 
     [Measure you want to filter] > 10), 
    [Measure you want to sum]) 

내가 정확히 어떤 크기를 모르겠어요하고 필터링하여 합계를 측정 .... 뭔가를 얻을 수 있지만, 나는 이것이 올바른 방향으로의 한 단계라고 생각합니다. 사용자가 MDX를 수정할 수 없다면 (또는하지 않으려는 경우) 다중 측정 값을 만드는 것은 매우 견고한 솔루션입니다.

관련 문제