2016-10-28 2 views
0

SSRS 보고서를 작성해야하는 쿼리가 꽤 있습니다. SSRS 보고서의 매개 변수는 다른 데이터 집합 쿼리를 기반으로하는 다중 값 선택을 허용해야합니다. 내가 실행중인 것은 SSRS에서 매개 변수에 다중 선택 옵션을 사용할 때 다음과 같은 오류가 발생합니다.SSRS 다중 값 매개 변수 조건 '근처에'예상 됨 + SQL 문

','근처에 조건이 예상되는 콘텐츠에 부울이 아닌 표현식이 지정되었습니다.

아래의 굵게 표시된 @Status에 대한 다중 값 매개 변수를 설명하기 위해 제 사례 문을 올바르게 작성하지 않았을 것입니다. 아무도 매개 변수가 다중 값을 사용할 수 있도록이 글을 쓰는 방법을 결정할 때 도움이 될 수 있습니까?

im_incident.im_id = 
    CASE 
     When @Incident_Number IS NULL 
     THEN im_incident.im_id 
     ELSE @Incident_Number 
    END 
**AND lc_status.lc_title IN ( 
    CASE 
     When @Status IS NULL 
     Then lc_status.lc_title 
     Else @Status 
    END)** 
AND (
     dateadd(mi, datediff(mi, getutcdate(),getdate()),pm_creation_date) BETWEEN IsNull(@Creation_Start_Date,'9/15/2016 00:00:00') 
     AND IsNull(@Creation_End_Date,GetDate()) 
    ) 
AND (
     dateadd(mi, datediff(mi, getutcdate(),getdate()),im_incident_resolution.im_creation_date) BETWEEN IsNull(@Resolved_Start_Date,'9/15/2016 00:00:00') 
     AND IsNull(@Resolved_End_Date,GetDate()) 
    ) 
+0

SSRS에 내장 프로 시저를 사용하고 있습니까? –

답변

0

당신이이

:

AND lc_status.lc_title IN ( 
CASE 
    When @Status IS NULL 
    Then lc_status.lc_title 
    Else @Status 
END) 

올바른 것 다음

-- Single value 
AND lc_status.lc_title = 
CASE 
    When @Status IS NULL 
    Then lc_status.lc_title 
    Else @Status 
END 

또는

-- multi value 
AND lc_status.lc_title IN ('title1','title2','title3') 

개인적으로 다음과 같이 작성합니다 :

-- Single value 
AND lc_status.lc_title = COALESCE(@Status,lc_status.lc_title)