2017-08-21 1 views
-2

SSRSレポートに次のフィルタを使用する。SSRSレポート構文

式:!!!!

= IF((パラメータフィールドRelated_GroupA.Value)または(パラメータのGroupA.Value()フィールズRelated_GroupB.ValueでGroupB.Value())または(パラメータ!!フィールズGroupA.ValueでGroupA.Value())または(パラメータGroupB.Value(!)のフィールドでGroupB.Value))

演算子:!

=

値:

は "if文" と "内" と "OR" 間違っている可能性がありますを使用するための構文を信じています。レポートパラメータで選択した値が2か所のいずれかに表示された場合は、結果を返す必要があります。オペレータは、2つのまたは3つのオペランドが必要です 'が'

現在のエラー(!!!例えばパラメータIFグループAはグループAのフィールドRelated_GroupAまたはフィールドです)。

+0

あなたが尋ねていることは少し不明です。あなたは何を得ているのですか? – sniperd

+0

エラーを表示するために編集されたポスト。レポートは現在実行されていません。 – WebDevUser

答えて

0

'If' operator requires either two or three operands.

あなたはあなたの文の「IF」の部分を持っていますが、それは真か偽を返す場合にどうするかを指定しないでください。また、 "if"の代わりに "iif"を使用してください。

=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>) 

あなただけtrueまたはfalseを返すしたい場合は、「=」演算子は、ブール値(真/偽)を返すので、あなたは、IIF演算子を使用する必要はありません。

このような場合は、あなたが簡単に使用することができます:私は「=」IN演算子がないので、あなたがSSRS式で使用することができますするには「の」変更

=(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) 

注意が、そこいくつかの回避策があります。 hereおよびhereを参照してください。