レポート パラメーターで SSRS ワイルドカード検索を作成する方法
SELECT * FROM Table1 WHERE Table1.Name = LIKE '%'@名前'%'
また
WHERE Table1.Name = in (:名前)?
SSRSでこれを行うにはどうすればよいですか?
レポート パラメーターで SSRS ワイルドカード検索を作成する方法
SELECT * FROM Table1 WHERE Table1.Name = LIKE '%'@名前'%'
また
WHERE Table1.Name = in (:名前)?
SSRSでこれを行うにはどうすればよいですか?
レポートに非常に単純な自己完結型のクエリがあるとします。
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 + '%'
つまり、ワイルドカードをパラメータ文字列に直接連結するだけです。これは、最初のオプションと同じように機能します。