0

レポート パラメーターで SSRS ワイルドカード検索を作成する方法

SELECT * FROM Table1 WHERE Table1.Name = LIKE '%'@名前'%'

また

WHERE Table1.Name = in (:名前)?

SSRSでこれを行うにはどうすればよいですか?

4

3 に答える 3

4

レポートに非常に単純な自己完結型のクエリがあるとします。

with val as
(
 select val = 'ABC'
 union all select 'DEF'
 union all select '1ABC3'
)
select *
from val
where val like @Param

Paramレポートで呼び出されるパラメーターもあります。

デフォルトでlikeは、クエリに含まれていてもワイルドカードがないため、完全一致のみが返されます。

ここに画像の説明を入力

データセットのプロパティを見ると、渡されるパラメーターを更新してワイルドカードを追加できます。デフォルトでは、次のようになります。

ここに画像の説明を入力

パラメータ値式を次のように変更します。

="%" & Parameters!Param.Value & "%"

これで、クエリ テキストはワイルドカードを含むパラメーターを使用するようになるため、部分一致ではレポートにデータが返されます。

ここに画像の説明を入力

代替方法

実際、これについて考えると、おそらく上記を達成するためのより簡単な方法は、レポート クエリ テキストで次のようにすることです。

SELECT *
FROM Table1
WHERE Table1.Name = LIKE '%' + @Name + '%'

つまり、ワイルドカードをパラメータ文字列に直接連結するだけです。これは、最初のオプションと同じように機能します。

于 2013-10-28T17:21:34.857 に答える