0

私のクライアントは、パラメーター (ReportType) に基づいてレポートの列を表示/非表示できるようにしたいと考えています。レポートの列は静的です。どの列を非表示/表示するかを制御するだけで、異なる「ビュー」が作成されます。現在は 2 つのビューしかありませんが、さらにいくつかのビューを追加しようとしています。

現時点では、列の可視性は次の単純な式で制御されます: =Parameters!ReportType.Value = "SOMEVALUE"

列を非表示にするレポート タイプは 1 つだけなので、この式は問題ありません。

現在、列が複数の ReportTypes で非表示になっている可能性がある状況に移行しており、次のような状態になることを避けたいと考えています。列は表示されることを意図しています (すべてのロジックが各列の可視性式にあるため)

投稿を見つけて、その基本要素を使用しました: http://sql-bi-dev.blogspot.co.uk/2010/10/displaying-dynamic-columns-in-ssrs.html

私がやろうとしているのは、次のようなデータセットを定義することです:

SELECT * FROM
(
select 'Rpt Type1' ReportType, 'Units' ColumnName UNION
select 'Rpt Type1' ReportType, 'Price' ColumnName UNION
select 'Rpt Type2' ReportType, 'Units' ColumnName
) ReportColumns
WHERE ReportType = @ReportType

次に、Column Visibility 式で、列名がデータセットに存在するかどうかを確認します。このようにして、レポート タイプの表示可能な列が 1 か所で定義され、管理/保守が容易になります。

リンクした投稿では、ユーザーにパラメーターで列名を選択させています。選択した ReportType パラメータに基づいて、データセット内の名前を検索したいと考えています。

列名をパラメーターに取得し、それを列の可視性式で使用することに固執しています。どんな助けでも大歓迎です:)

4

1 に答える 1

0

ああ、私はほとんどそこにいました。

パラメータを作成し、そのデフォルト値を「Get From Query」に設定し、データセットと ColumnName フィールドを選択しました...仕事は完了です!

次に、私がフォローしていた記事のコードを使用して、各列の可視性式を書いていました。

于 2012-10-12T16:43:09.677 に答える