4

複数の選択が可能なレポート パラメーター ( @Fruit) がある場合、そのパラメーターを SSRS マトリックスの列グループとして使用するにはどうすればよいですか?

通常、次のようにクエリでパラメーターを使用します。

WHERE tbl.fruit In ( @Fruit )

次に、データセットの列をグループとして使用します。ただし、この場合、完全なデータセットが返される必要があります。クエリをフィルター処理することはできませんが、パラメーターによって選択されたグループのみを表示したいと考えています。クエリが Apples、Oranges、および Bananas を返しても、パラメーターで Apples と Oranges のみが選択されている場合、Tablix には 2 つの列のみが必要です。

Group By 式を に設定しようとしましたが、次の=Parameters!Fruit.Valueエラーが発生します。

グループ化 'ColumnGroup' で使用されるグループ式が、無効なデータ型を返しました。(rsInvalidExpressionDataType)

私のパラメーターの型はTextで、空白の値を許可する場合と許可しない場合で試してみました。

4

1 に答える 1

5

複数値パラメータで選択した値に基づいてレポート オブジェクトをフィルタリングしたいよう@Fruitです。

あなたが言うように、データセット クエリ/ストアド プロシージャでフィルターを適用できない場合は、次のような Tablix レベルでフィルターを適用できます。

ここに画像の説明を入力

式は次のとおりです。

=IIf(InStr(Join(Parameters!Fruit.Value, ","), Fields!Fruit.Value)) > 0
  , "INCLUDE"
  , "EXCLUDE")

基本的に、これはJOIN関数を使用して、選択した値のコンマ区切りのリストを取得し、オブジェクト データセットのFruitフィールドがそのリストに含まれているかどうかを確認します。ある場合は、それを含めます。

于 2013-07-18T23:12:01.467 に答える