web-dev-qa-db-ja.com

ReportingServices-レポートパラメータに基づいてテーブル列を非表示

Reporting Services 2005にレポートがあり、レポートパラメータに基づいて単一のテーブル列を表示または非表示にしたい。誰かがそれを行う方法を知っていますか?

ありがとう!

11
Dan Appleyard

列の可視性を、trueまたはfalseを返す式に設定します。このプロパティは、たとえばTextBoxの[表示]タブにあります。

式のラジオオプションをクリックすると、式は次のようになります。

=Parameters!ShowColumn.Value
7
JoshBerke

列のvisibilityプロパティを使用します。これは私のために働いた。

=iif(Parameters!ParameterName.Value = "TextValueOfTheParameter",False,True)
10

ヒント:式が「False」を返す場合、列または行が表示されます。式が「True」を返す場合、式は非表示になります。これは最初私をだましました。

3
Ben

私のレポート(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の場合、列を右クリックすると、[列の表示]オプションが表示されます。各列の「式に基づいて表示または非表示」セクションにコードを貼り付けます。

2
Arvind

一部のレポートでは、columnのVisibility(具体的にはHiddenプロパティ)を次のように設定しました。

=IsNothing(Fields!Site.Value)

これは、基になるデータセットで関連するフィールドがnullになる可能性がある場合にのみ機能することに注意してください。そうでない場合は、空白の列が表示されます。

2
Gary Stacey

列全体を非表示にする場合、レポートにその特定の列のデータがまったくない場合は、列の可視性/式で次のコードを使用できます。

=IIF(IsNothing (Sum(Fields!columnA.Value, "ReportA")),False,True)
1
Mona

上記のようにすると、列を非表示にすることができますが、テーブルにギャップが残ります。これは期待される結果ですか。列もシフトオーバーすることを期待していました。あるグループの列を妨げて、次のグループに表示しようとしています。

0
Mark O Keeffe

Null列を非表示にするには、

列を右クリックして[列の表示]を選択し、[非表示の式を設定]を選択します。

IIF(IsNothing(Fields!FieldName.Value),True,False)
0