2011-07-27 4 views
0

SQL Server BIDS(Business Intelligence Development Studio、VS2008)を使用してレポートを作成しています。フィールド値から句読点を削除する必要があります。SQL Server BIDSでRegexを使用する

たとえば、フィールド値が "Hello、World!"の場合、レポートに値を "Hello World"として表示します。私は、この例では、Replace関数を使用するのは簡単だろう承知している、ネストされた:

=Replace(Replace(Fields!Description.Value,",",""),"!","") 

しかし、これはすぐに私はより多くを削除する必要がある場合は「」「醜い」になると 『!』文字。したがって、短く:

SQL ServerのBIDSレポートでフィールド値を書式設定するために正規表現を使用できますか?

答えが「いいえ」であれば、それは問題ありません。見つけようと時間を無駄にすることはありません。ありがとう。表現式での正規表現の

UPDATE

使い方(この1つは電話番号のですが):

=System.Text.RegularExpressions.Regex.Replace(Fields!Phone.Value, "(\d{3})[ -.]*(\d{3})[ -.]*(\d{4})", "($1) $2-$3") 

答えて

1

クライアント側での行の大規模なセットを処理するためには、ある程度の時間がかかる場合があります。だから私はサーバー側でRegexのロジックを移動することを提案します。

これにはCLR機能を使用できます。

ここに例を探します。http://www.simple-talk.com/sql/t-sql-programming/clr-assembly-regex-functions-for-sql-server-by-example/

更新

あなたは、クライアント側で処理したい場合は、レポートで(正規表現が含まれる)の式を使用して見てみましょう:このものの http://msdn.microsoft.com/en-us/library/ms157328(v=SQL.100).aspx

+0

良い提案のように聞こえる、この例では、提供されたデータを変更するためにサーバーに十分なアクセス権がありません。 私はFetchXMLステートメントを使用してデータを取得しています。すべての処理はレポート(クライアント側)で行わなければなりません。 – Alec

+0

それは私が後にしたものです!どうもありがとう。 – Alec

関連する問題