2017-02-09 1 views
0

매개 변수 값을 기반으로 결과를 필터링해야합니다. 이 "Open"을 말한다면 'Closed'DueDate = NOT NULL을 말한다면 다음 DueDate 열은 = NULL,을해야하고, 그것을 "Both"을 말한다면 그것은 나에게 3 개 가지 값 제공하는 모든 DueDate데이터를 필터링하기 위해 SSRS에서 표현식을 작성하는 방법

내가 만든 쿼리 매개 변수 "상태"잡아해야합니다

enter image description here

다음 나는 보고서 매개 변수 "Status"Allow Multiple Values

을 생성3210

지금 내 주요 질의에 가서 필터로 이동 :

enter image description here

을 내가 말하는 식을 작성하는 방법을 여기에 내가 이해 못할 :

보고서 "상태"값의 경우 = "Open"은 DueDate가 NULL 인 곳에서 결과를 보여줍니다. "Status"value = "Closed"이면 DueDate는 NULL이 아닙니다. "Status"value = "Both"라고 표시되면 모든 DueDates (null 및 null이 아님)

또 다른 것은 이미 내 쿼리의 경우 문이있다 :

ALTER Procedure 
AS 
@ShowOpen bit = 0, 
@ShowClosed bit = 0 
SELECT 
FROM 
WHERE 
       AND 
         (
         (CASE WHEN (@ShowOpen = 1) THEN 
           CASE WHEN (tblNoteRecipients.CompletedDate IS NULL and tblNoteRecipients.IsDiary = 1) or tblNoteRecipients.UserGUID is null THEN 1 ELSE 0 END 
          -- CASE WHEN (tblNoteRecipients.CompletedDate IS NULL) THEN 1 ELSE 0 END 
         ELSE 
           1 
         END = 1) 
        AND 
         (CASE WHEN (@ShowClosed = 1) THEN 
           CASE WHEN (tblNoteRecipients.CompletedDate IS NULL) THEN 0 ELSE 1 END 
         ELSE 
           1 
         END = 1) 
        OR ((@ShowOpen = 1) AND (@ShowClosed = 1)) 
         ) 

내가 열기 값을 허용 매개 변수, 폐 및 모두를 만들 수 있습니다 SSRS에서 그것에서 어떤 방법이 있나요?

추가 TEST1

enter image description here

답변

1

이 같은 테이블 릭스의 필터를 추가

enter image description here

Expression 사용에서 :

=IIF(
(Array.IndexOf(Parameters!Status.Value,"Open")>-1 and 
Isnothing(Fields!DueDate.Value)) or 
(Array.IndexOf(Parameters!Status.Value,"Closed")>-1 and not 
Isnothing(Fields!DueDate.Value)) or 
(Array.IndexOf(Parameters!Status.Value,"Both")>-1), 
"Include","Exclude") 

Value를 들어 우리 e :

="Include" 

이 정보가 도움이되는지 알려주세요.

+0

불행히도 "MyDataSet의 필터 값을 평가하지 못했습니다."라고 말합니다. 내 게시물을 수정하고 이미 저장 프로 시저에있는 코드를 추가했지만 (작성자가 아님) 내 SSRS 보고서에 해당 사례 문을 사용할 수 있습니까? 부울 필터가 아닌 "열기", "닫힌"및 "모두"를 만들려면? – Oleg

+0

@Oleg, 그것은 나를 위해 잘 작동합니다. 필터에서'Operator' 설정을 위해 정확히 같은 표현식과'='를 사용하고 있습니까? –

+0

잘라 내기를 추가했습니다. – Oleg

관련 문제