Reporting Services 2005にレポートがあり、レポートパラメータに基づいて単一のテーブル列を表示または非表示にしたい。誰かがそれを行う方法を知っていますか?
ありがとう!
列の可視性を、trueまたはfalseを返す式に設定します。このプロパティは、たとえばTextBoxの[表示]タブにあります。
式のラジオオプションをクリックすると、式は次のようになります。
=Parameters!ShowColumn.Value
列のvisibilityプロパティを使用します。これは私のために働いた。
=iif(Parameters!ParameterName.Value = "TextValueOfTheParameter",False,True)
ヒント:式が「False」を返す場合、列または行が表示されます。式が「True」を返す場合、式は非表示になります。これは最初私をだましました。
私のレポート(SSRS 2005)に5つの列があるとしましょう。そして、ユーザーが選択したパラメーター(5つの列名すべてで複数選択)に基づいて列を表示/非表示にします。次のようにします
1)5列のラベルに目的の列名と[〜#〜] int [〜#〜] number(01,02)を使用して、文字列型(ColumnVisibilityはパラメーターの名前)のパラメーターを作成します。 、03,04,05)それぞれ、パラメータウィザードの「使用可能な値」セクションの値にあります。
2)次に、デザインの[プロパティ]列に移動します。 「可視性」に移動し、以下を貼り付けます
=iif(instr(Join(Parameters!ColumnVisibility.Value,","),"01")>0,false,true)
3)int値を1増やして、すべての列に対して同じことを繰り返します。たとえば、次を参照してください。
2列目
=iif(instr(Join(Parameters!ColumnVisibility.Value,","),"**02**")>0,false,true)
3列目
=iif(instr(Join(Parameters!ColumnVisibility.Value,","),"**03**")>0,false,true)
等々。 SSRS 2008の場合、列を右クリックすると、[列の表示]オプションが表示されます。各列の「式に基づいて表示または非表示」セクションにコードを貼り付けます。
一部のレポートでは、columnのVisibility(具体的にはHiddenプロパティ)を次のように設定しました。
=IsNothing(Fields!Site.Value)
これは、基になるデータセットで関連するフィールドがnullになる可能性がある場合にのみ機能することに注意してください。そうでない場合は、空白の列が表示されます。
列全体を非表示にする場合、レポートにその特定の列のデータがまったくない場合は、列の可視性/式で次のコードを使用できます。
=IIF(IsNothing (Sum(Fields!columnA.Value, "ReportA")),False,True)
上記のようにすると、列を非表示にすることができますが、テーブルにギャップが残ります。これは期待される結果ですか。列もシフトオーバーすることを期待していました。あるグループの列を妨げて、次のグループに表示しようとしています。
Null列を非表示にするには、
列を右クリックして[列の表示]を選択し、[非表示の式を設定]を選択します。
IIF(IsNothing(Fields!FieldName.Value),True,False)