2017-02-25 1 views
0

I 다음 MDX 쿼리가 있습니다 ISO Week Number of Year는 예를 들어, 매개 변수가 아닌 경우매개 변수는 필터 MDX 부속 선택에서 작동하지 않음

SELECT 
    NON EMPTY 
    Measures.[Enrolments] ON COLUMNS, 
    NON EMPTY 
    (STRTOMEMBER(@FromISOYear, CONSTRAINED) : 
    STRTOMEMBER(@ToISOYear, CONSTRAINED)) ON ROWS 
FROM (
SELECT 
     Filter 
     (
      [Term Start Date].[ISO Year].Children * 
      [Term Record Creation].[ISO Year].Children * 
      [Term Record Creation].[ISO Week Number Of Year].Children 
     , 
     Cint([Term Record Creation].[ISO Week Number Of Year].CurrentMember.Member_Key) <= Cint(STRTOMEMBER(@ToISOWeekNumberOfYear, CONSTRAINED)) 
     OR 
     Cint([Term Record Creation].[ISO Year].CurrentMember.Member_key) < Cint([Term Start Date].[ISO Year].CurrentMember.Member_key) 
    ) ON COLUMNS 
    FROM [Enrolments] 
); 

기본적으로 필터 식 작동을 필터 표현식을 [ISO Week Number of Year] <= 7이라고 바꾸면 올바른 결과를 얻을 수 있습니다. SSRS에서 동일한 값을 매개 변수로 전달할 때 잘못된 결과가 발생합니다. 필터가 적용된 것처럼 보이지 않습니다.

누군가 이유를 설명하고 수정 사항을 제공해 주시겠습니까?

+0

어떻게 당신이 매개 변수의 값 속성을 정의합니까? MDX 쿼리에 의해 구동되며 매주 MDX UniqueName을 사용합니까? 아니면 그냥 정수를 드롭입니까? – GregGalloway

+1

여기에 Member_Key가 없습니다. Cint (STRTOMEMBER (@ToISOWeekNumberOfYear, CONSTRAINED) .Member_Key) – GregGalloway

+0

@GregGalloway Member_Key가 고쳐졌습니다. 당신이 답을하면 받아 들일 수 있습니다. 도와 주셔서 감사합니다. – Ben

답변

1

여기에 Member_Key가 없습니다. 변경 다음

Cint(STRTOMEMBER(@ToISOWeekNumberOfYear, CONSTRAINED)) 

사람 :

Cint(STRTOMEMBER(@ToISOWeekNumberOfYear, CONSTRAINED).Member_Key)