SQL Server 2008 R2、BIDSを使用してレポートを設計します。
テーブルがあり、特定の行のみを表示しようとしています。これを行うにはもっと良い方法があるかもしれませんが、フィルター式でエラーが発生しました。最初のタスクをどのように達成したかに関係なく、フィルター処理について理解したいと思います。
私はフィルター式(「整数」タイプに設定)から始めました:
RowNumber(Nothing) = 1
これによりエラーが発生しました:
Cannot compare data of types System.String and System.Int32.
これに対する解決策は、1が文字列として評価されるため、1を「=1」に変更することです。
だから私はそれから持っていた:
RowNumber(Nothing) = =1
それは何も変わりませんでした、私は同じエラーを受け取りました。
次に、式の最初の部分に対してそれを実行しようとしました。
=RowNumber(Nothing) = =1
これにより、エラーが展開の問題に変更されました(まだビルドされているため、イライラします)。
Error pvInvalidDefinition : The definition of the report '/ReportName' is invalid.
次に、RowNumberでCIntを使用してみました:CInt(RowNumber(Nothing)= = 1
次に、それを展開できますが、エラーは最初のエラーに戻ります。
Cannot compare data of types System.String and System.Int32.
ここで何を試しても、レポートをデプロイできないか、文字列をintと比較しているというエラーが発生するようです。
RowNumberは整数を返すため、これは機能するはずです。「Nothing」の代わりにデータセットの名前を使用してみましたが、表示内容は変わりません。
最初の問題を解決する方法はたくさんあると思いますが、なぜフィルター式が無効なのか知りたいです。