0

ASPX Web ページに SQL Server Reporting Services 2008 と C# を使用しています。

食べ物のテーブルがあるとします。

次に、テーブルを食べ物でグループ化するとします。食品ごとに、次のようなかなりの情報を表示する必要があります。

  • 味が似ている食べ物のリスト
  • 考えられる健康リスクのリスト
  • 評価

SSRSでこれを行う方法についての私の最初のアイデアは次のとおりです。

  1. すべての食品を取得するデータ テーブルから始めます
  2. テーブルを食品 ID でグループ化する
  3. グループごとに、その食品のすべての情報 (類似食品、健康リスク、評価など) のフィールド/テーブルを含むリストをフッターに作成します。

私の問題:

次のデータセットを取得できると思いました。

  • すべての食べ物を手に入れる
  • 食品 ID に関連付けられた類似食品の取得
  • 食品 ID に関連付けられた健康リスクを取得する
  • 食品 ID に関連付けられた評価などを取得する

次に、フッターで、食品固有のデータセットをその特定のグループの食品 ID にリンクします。

しかし、グループのフッターで複数のデータ セットを参照することはできません。

フッターの他のデータセットを、テーブルをグループ化している食品 ID にリンクできる方法はありますか?

どんな助けでも大歓迎です!

4

1 に答える 1

1

FoodId グループの現在に基づいて、他のデータセットの値を検索できます。

=Lookup(Fields!FoodId.Value, Fields!FoodId.Value, Fields!SimilarFoods.Value, "SimilarFoodsDataset")

これは、値間に 1 対 1 の関係があることを前提としていFoodIdます。値のリストがある場合、たとえばFoodId、関連するテーブルのそれぞれに類似した食品の複数の行がある場合は、サブレポートまたは を使用しますLookupSet

サブレポート

サブレポートは、自動的に機能し、書式設定とレイアウトに多くの柔軟性を提供するため、適切なオプションです。これは、複数のフィールドを表示する場合に使用するオプションです。

という新しいレポートを作成しますSimilarFoods。これは、類似した食品をリストしたテーブルのみであり、 というパラメータを持つ必要がありますFoodId。そのデータセットには、次のような SQL があります。

SELECT FoodId, SimilarFood
FROM SimilarFoods
WHERE FoodId = @FoodId

メイン レポートに戻り、テーブルのグループ フッターにSubreportツールボックスから を挿入し、 を上で作成ReportNameしたSimilarFoodsレポートに設定します (レポートがテーブル全体の長さを占めるように、フッター行のセルを結合したい場合があります)。 )。レポートを右クリックして を選択し、タブをSubreport Properties...クリックして、パラメータを追加し、値を次のように設定します(ドロップダウン リストからこのフィールドを選択できます)。ParametersNameFoodId[FoodId]

レポートを実行すると、食品ごとに、グループ フッターに類似した食品のリストが表示されます。

ルックアップ セット

LookupSetは同様に機能Lookupしますが、その名前が示すように一連の結果を返します。結果をテキスト ボックスで直接使用することはできません。最初に操作する必要があります。ただし、1 つのフィールドのみを表示する必要がある場合は、これが適切なオプションです。

次のような式で使用します。

=Join(LookupSet(Fields!FoodId.Value, Fields!FoodId.Value, Fields!SimilarFood.Value, "SimilarFoodsDataset"), vbCrLf)
于 2013-06-19T02:45:19.020 に答える