2016-03-21 14 views
0

ヘッダー行として機能するテーブルに行があります。 2つのdiffパラメータを使用して、表示または非表示にすることができます。これまでのところ、私は基本的にその行を非表示にしたり、その逆が起こるPRO値= -1(すべてを選択)した場合と言っ及びShowPro値=いいえ(このパラメータが列をトグル)パラメータから行の可視性を表示/非表示

=IIF(((InStr(join(Parameters!PRO.Value,", "),"-1") AND Parameters!ShowPro.Value="N")) ,true, false) 
    or 
     IIF(((Instr(join(Parameters!PRO.value,","),"-1") and Parameters!ShowPro.value="Y")),false,true) 

を持っています。すべてを選択し、ShowPro = Yes show rowを選択します。これは、行が表示され、次にこの "ヘッダー"行にReportItem PRO.valueが表示され、そのグループPRO.valueを表示している各グループが改ページされているかのように動作します。

私はすべて(-1)を選択せず​​に行(ShowPro = "Y")を表示し、次にこれで選択したPRO.Valuesを表示したい場合は、 "ヘッダー"行と各ページ区切り。私は様々な形式を試しました

IIF(not((Instr(join(Parameters!PRO.value,","),"-1") and Parameters!ShowPro.value="Y")),true,false) 

私はそれを動作させることができません。どんな助けでも大歓迎です。私はそれをはっきりと説明したいと考えています。

答えて

1

あなたの問題は、起こっているOrロジックにある可能性があり、ネストされたiifステートメントを代わりに使用したいと思うかもしれません。今のコードでは、iifステートメントを別々に評価し、それぞれにブール値(True/False)を返しています。声明はその後

trueを返します
= True or False 

またはfalseを返し、おそらく

= False or False 

に簡略化されます。そこに第三の条件を投げ、そしてあなたはまだtrueに評価されます

= False or True or False 

ような何かをする羽目になるかもしれませんが、あなたが探しているものではないかもしれません。ネストしたIIFステートメントを使用すると、次のようになります。

=IIF(((InStr(join(Parameters!PRO.Value,", "),"-1") AND Parameters!ShowPro.Value="N")) ,true, IIF(((Instr(join(Parameters!PRO.value,","),"-1") and Parameters!ShowPro.value="Y")),false, IIF(not((Instr(join(Parameters!PRO.value,","),"-1") and Parameters!ShowPro.value="Y")),true,false))) 

これは、各ステートメントを評価し、それが本当であれば、指定された値を返します。 falseの場合は、次のiifに進み、その文を評価します。最後のiif文がfalseの場合、falseを返します。あなたの目的に合うようにこの答えを調整する必要があるかもしれませんが、あなたの問題を解決すると思います。

+0

ありがとう、私は別の方向に行ったが、あなたは私の元の質問に答え、答えとしてマークした。 – mrbungle