2017-08-21 3 views
-2

Verwenden des folgenden Filters für einen SSRS-Bericht.SSRS-Berichtssyntax

Ausdruck:!!

= If ((Parameter GroupA.Value() In Felder Related_GroupA.Value) oder (Parameter GroupB.Value() In Felder Related_GroupB.Value) oder (Parameter ! GroupA.Value() In Feldern GroupA.Value) oder (Parameter GroupB.Value (!) in der GroupB.Value))

Betreiber:!

=

Wert:

Wahre

Glauben Sie die Syntax für die "If-Anweisung" und die Verwendung von "in" und "oder" nicht zutreffend sein kann. Sie müssen die Ergebnisse zurückgeben, wenn der im Berichtsparameter ausgewählte Wert an einer von zwei Stellen angezeigt wird. (! Z.B. wenn Parameter GroupA ist in Felder Related_GroupA oder in Felder GroupA!)

Aktuelle Fehler:

'If' Operator entweder zwei oder drei Operanden erfordert.

+0

Es ist ein wenig unklar, was Sie fragen. Was ist der Fehler, den Sie bekommen? – sniperd

+0

Editierter Beitrag, um Fehler anzuzeigen. Der Bericht wird derzeit nicht ausgeführt. – WebDevUser

Antwort

0

'If' operator requires either two or three operands.

Sie haben das „wenn“ -Teil in Ihrer Aussage aber nicht angeben, was zu tun ist, wenn es wahr oder falsch zurückgibt. Verwenden Sie auch "iif" anstelle von "if".

=iif(
(Parameters!GroupA.Value In Fields!Related_GroupA.Value) Or 
(Parameters!GroupB.Value In Fields!Related_GroupB.Value) Or 
(Parameters!GroupA.Value In Fields!GroupA.Value) Or 
(Parameters!GroupB.Value In Fields!GroupB.Value), <Value if true>, <Value if false>) 

Wenn Sie nur wahr oder falsch zurückgeben möchten, dann müssen Sie nicht den iif Operator verwenden, da die „=“ Operator einen booleschen Wert (True/False) zurück.

Wenn dies der Fall ist, dann können Sie einfach:

=(Parameters!GroupA.Value = Fields!Related_GroupA.Value) Or 
(Parameters!GroupB.Value = Fields!Related_GroupB.Value) Or 
(Parameters!GroupA.Value = Fields!GroupA.Value) Or 
(Parameters!GroupB.Value = Fields!GroupB.Value) 

Bitte beachte, dass ich „In“ zu „=“ geändert, weil es kein IN Operator in der SSRS Ausdrücke verwenden kann, aber es sind ein paar Workarounds. Siehe here und here.