2013-08-23 2 views
2

SSAS 큐브를 데이터 원본으로 사용하는 SSRS 보고서 (2008 R2)가 있습니다. 이 보고서에는 MDX 쿼리가있는 데이터 세트가 있습니다. 나는 그들 중 일부는 여러 값을 허용하고 다음과 같이 MDX 쿼리에 그들은 일반적으로 데이터 세트를 제한하고 매개 변수를 정의한 보고서에서 SSRS에서 측정 값 그룹에 다중 값 매개 변수 사용

: 내가 필요한 데이터 세트 중 하나에서

WHERE (
     STRTOMEMBER(@PARAM), 
     STRTOSET(@MULTI_VALUE_PARAM) 
    ) 

계산 된 구성원에서 value 매개 변수를 사용하려면 다음과 같이하십시오.

MEMBER [Measures].[MY_MEASURE] AS (
     [Measures].[MEASURE_FROM_MY_CUBE], 
     STRTOSET(@MULTI_VALUE_PARAM) 
    ) 

이것은 작동하지 않으며 이유를 모르겠습니다.

가 나는 여러 값을 허용하지 않는 매개 변수를 변경하고, 다음과 같이 사용하는 경우 :

MEMBER [Measures].[MY_MEASURE] AS (
     [Measures].[MEASURE_FROM_MY_CUBE], 
     STRTOMEMBER(@MULTI_VALUE_PARAM) 
    ) 

작동 그래서 내가 다 함께 측정을 제한 할 수 없습니다 보인다 값 매개 변수 어째서?

답변

1

MEMBER [Measures].[MY_MEASURE] AS Aggregate(
    STRTOSET(@MULTI_VALUE_PARAM), 
    [Measures].[MEASURE_FROM_MY_CUBE], 
) 

사용하는 구문 ([Measures].[MEASURE_FROM_MY_CUBE], <something>)는 MDX에서 튜플을 정의하는 시도하고 그 각 계층에서 단일 멤버를 포함 할 수있다. 그리고 세트는 회원이 아닙니다. Aggregate MDX 함수는 첫 번째 매개 변수로 집합을 가져오고 두 번째 식으로 식을 가져온 다음 큐브 정의에 따라 집합을 집계합니다. 대부분의 경우 합계이지만 일부 측정 값은 다를 수 있습니다.

+0

의미가 있습니다. 멤버가 null 값을 얻고 실제 오류가 없기 때문에 실제 문제를 보는 것이 약간 어렵습니다. 지금 시도했다 : 회원 [측정] [MY_MEASURE] 집계 ( SUM (STRTOSET (@MULTI_VALUE_PARAM), [측정] [MEASURE_FROM_MY_CUBE]) .) AS하지만 난 여전히 null 값을 얻을.. 이 경우 @MULTI_VALUE_PARAM에 사용자가 포함되어 있습니다. MEASURE_FROM_MY_CUBE는 숫자 값으로, 경우에 따라 선택한 사용자가 제한하거나 필터링해야합니다. –

+0

'sum()'을 생략해야합니다. 왜냐하면'Aggregate()'가 합계를 처리하기 때문입니다. 또는 합계 측정 값 만있는 경우 '집계'를 '합계'로 바꿀 수 있습니다. 하지만 둘 다 사용하면 안됩니다. – FrankPl

관련 문제