2012-04-30 7 views
2

SSRSレポートビルダーにワイルドカードを含むLIKEフィルターを追加したいとします。私はレポートビルダーのフィルタデータセクションにあるcontains句を使ってこれを試しました。私は '*'と '%'の両方を試しましたが、失敗しました。私は MyFieldNameは2451を含んで試してみましたSSRS - レポートビルダーに「LIKE」フィルター条件を追加する

- これは MyFieldNameは24 *が含まれていsucceds - これは MyFieldNameは、24%が含まれて失敗した - これはリンクの下から

を失敗した私は、これはまだまで無ソリューションと古い問題であると感じています。

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

君たちは何を示唆していますか?

おかげ
ラヴィGupta氏

答えて

5

あなたは、Report BuilderでLIKE演算子をサポートしていません

=IIF(InStr(Fields!MyFieldName.Value, "2451"),TRUE,FALSE) 
+0

私は必要なものは "= IIF(InStr(Fields!MyFieldName.Value、" 2451 * ")、TRUE、FALSE)です。私はこれを書くときに無効な文字を言っています。 – TechnicalSmile

+0

以下は私のために働いた IF(FIND(MyFieldName、 "24")= 1、TRUE、FALSE) 答えからこのアイデアを得ました。ありがとう。私は自分の質問に答えとして追加しますが、8時間後にはこれを行うことができます。 – TechnicalSmile

+0

これはワイルドカードを処理しないため、これは本当に質問に答えるものではないようです。 OPが彼のプロジェクトに進むことができたことは素晴らしいことですが、SSRSフィルタでワイルドカードを使用する方法を探している将来のユーザーには役立ちません。 –

0

InStr機能を使用することができます。 CONTAINSを使用する必要があります。

1

機能の下には、自分の質問に答えるには、私の仕事:(、TRUE、FALSE FIND(MyFieldName、 "24")= 1)

これは単なる部分的な答えである

のIFこれは(blabla *)のようなケースでは機能しますが、(bla * bla、blabla *)のようなケースでは機能しません。だから、より良いアイデアを持つ人は大歓迎です。

上記のDarrenのコメントからこれを行うことを考えました。

おかげ
ラヴィGupta氏

+0

それから彼をupvote。 :) –

+0

@Cygal - ありがとう –

3

SSRSでは、Likeを使用することはできません。代わりにContainsを使用することができます。

IIF((MyFieldName).ToString().Contains("RequiredString"),"True","False) 
0

ビジュアルスタジオのレポートビルダーにはLikeがあり、動作します。検索文字列にワイルドカードとして*を使用してください

関連する問題