4

SSRSレポートビルダーにワイルドカードを使用したLIKEフィルターを追加したいと思います。レポートビルダーのフィルターデータセクションにあるcontains句を使用してこれを試しました。'*'と'%'の両方を試しましたが、失敗しました。

MyFieldNameに2451が含まれていることを試しました-これは成功しましたMyFieldNameには24*が含まれます-これは失敗しますMyFieldNameには24%が含まれます-これは失敗します

以下のリンクから、これはまだ解決策のない古い問題だと思います。

http://connect.microsoft.com/SQLServer/feedback/details/202792/ssrs-adding-like-filter-criteria-to-report-builder

あなたたちは何を提案しますか?

ありがとう
RaviGupta

4

7 に答える 7

7

あなたはInStr機能 を使うことができます

=IIF(InStr(Fields!MyFieldName.Value, "2451"),TRUE,FALSE)
于 2012-04-30T11:43:31.147 に答える
4

SSRSでは使用できませんLike。代わりにを使用できますContains

IIF((MyFieldName).ToString().Contains("RequiredString"),"True","False)
于 2013-06-26T08:36:25.683 に答える
2

Visual StudioのレポートビルダーにはLikeがあり、機能します。検索文字列でワ​​イルドカードとして*を使用します

于 2014-07-11T03:09:10.640 に答える
1

私自身の質問に答えて、以下の関数は私のために働きました:

IF(FIND(MyFieldName、 "24")= 1、TRUE、FALSE)

これは(blabla *)のような場合には機能するため、これは部分的な答えにすぎませんが、(bla * bla、blabla *)のような場合には機能しません。したがって、より良いアイデアを持っている人は誰でも大歓迎です。

上記のDarrenのコメントからこれを行うアイデアを得ました。

ありがとう
RaviGupta

于 2012-05-01T08:06:54.300 に答える
0

LIKEレポートビルダーはオペレーターをサポートしていません。使用する必要がありますCONTAINS;

于 2012-04-30T13:04:00.753 に答える
0

これはパーティーにかなり遅れていますが、データセットのパラメーターフィルターの解決策を考え出しました。Expressionを使用してデータセットにフィルターを追加します。

=IIF(InStr(Fields!AccountName.Value, Parameters!paramAccountName.Value) OR Parameters!paramAccountName.Value = "*", TRUE, FALSE)

タイプ

Boolean  

オペレーター

=

価値

true

パラメータはデフォルトで「*」に設定されているため、レポートはデフォルトですべてを取得しているように見えます。

于 2020-01-29T16:24:25.610 に答える
0

私はちょうどこの古いスレッドに出くわしました、そして私はいつもそれを使っていたので、なぜあなたがlikeキーワードを使うことができないのか興味があります。このようなことを試しましたか?Where(AccountName like'%' + @paramAccountName +'%' or @paramAccountName ='')

于 2020-12-24T20:24:03.600 に答える