2017-10-17 6 views
0

私は3つのデータセットを使用するレポートを持っており、レポートでは複数のテーブルとテキストボックスと式を使用しています。私がレポートを実行するとき、この例では「都市」であるパラメータを選択する必要があります。SSRS選択したパラメータごとに新しいページ

各都市(パラメータ)ごとに新しいページが必要ですが、改ページとグループ化を使用するように読んでいますが、ツールボックスからリストを選択してレポートの上に置き、2つの '都市' 2ページを返すが、それは49ページを返した(大多数の空白)

私はこれをどのように達成できますか?

おかげ

答えて

0

私が正しくあなたを理解していれば(あなたの現在の設計を投稿していない場合、それは難しい確認するためには)、あなたは、サブレポートを使用して良いだろう。

私は都市があなたのデータベースのテーブルにあり、それぞれが固有のIDを持っていると仮定しています。あなたは名前がある場合CityNameCityIDの場所を使用することができ、それはまだ動作します。

新しいレポートを作成します。 新しいデータセットを作成します(何かのように言うdsSelectedCitiesと、設定されたデータセットクエリ...

SELECT CityID, CityName FROM myCitiesTable WHERE CityID IN (@CityParameter) 

これは自動的に@CityParameterというレポートパラメータを生成します。使用可能な値などにあなたがあなたの元のレポートにやっただけの方法を設定し、この例では、ラベルはCityName、値はCityIDと仮定していますが、値に入るものはサブレポートに渡されるものです

今すぐレポートにテーブルを追加するには、幅が1列、長さが1行なので、他のrヘッダーではなく詳細行を残しておきます。

は(あなたが最初に書いたレポートになる)あなたのサブレポートに対応するために十分な広さを持つこの残りの細胞を作るdsSelectedCities

するテーブルのデータセットを設定します。

セルで

、サブレポート があなたの元のレポートを指すとCityIDフィールドにパラメータを設定するには、サブレポートのプロパティを設定して挿入します。

この表はループとして機能し、dsSelectedCitiesにあるレコードごとに1行が表示されます。各行に単一のCityIDがあるので、それをサブレポートに渡します。サブレポートは1つの都市を表示します。

詳細グループのページ区切りオプションを設定して、インスタンス間を分割します。

単一のCityIDを受け入れるように元のレポートを変更する必要があるかもしれませんが、それは設計方法にもよりますが、うまくいけば、これはあなたに役立ちます。

これが不明な場合は、パラメータに関するすべての詳細を含む現在のレポートデザインを投稿し、回答を更新します。

+0

こんにちは私は報告書に1つの質問を出します。私はすでに都市のデータセットを持っています。これらは基本的にデータベースのレコードです。新しいレポート用に再度作成していても、この元のレポートにデータセットを保持しますか? –

+0

元のレポートのコピーを作成し、デフォルトまたは使用可能な値に関連するパラメータ設定を削除し、データセットが依然として必要かどうかを確認することをお勧めします。純粋にパラメータを設定するために使用されるデータセットは、ほぼ確実に重複しており、理由なく理由なくレポート処理が遅くなるため、削除する必要があります。 cityパラメータにCityIDを入力すると、レポート(サブレポート)を実行できる位置にいなければなりません。単一の都市に必要なものが表示されます。 –

+0

私はこのサブレポートに苦労しています。あなたが言及したように私は新しいレポートを作成し、citynameとcityidのデータセットを作成しました。パラメータで「複数の値を許可」を設定し、使用可能な値についてはデータセットを選択して「都市名」フィールドを選択しました。サブレポートのパラメータでは、パラメータをcityidフィールドに設定しました。レポートを実行すると、「サブレポートに1つ以上のパラメータが指定されていません」というメッセージが表示されます。何か案は? –

関連する問題