2

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」の代わりにデータセットの名前を使用してみましたが、表示内容は変わりません。

最初の問題を解決する方法はたくさんあると思いますが、なぜフィルター式が無効なのか知りたいです。

4

2 に答える 2

1

可視性のある行を非表示にすることをお勧めします。テキストボックスをクリックして、[表示]タブに移動します。これで、showまたはhodeをクリックして、expressionに移動できます。

デフォルトはHideです。したがって、行を非表示にする式をそこに記述します。= IIf(NOT(RowNumber = 1)、TRUE、FALSE)

エラーが発生した場合はお知らせください

于 2013-03-26T20:07:42.857 に答える
1

RowNumberは、Tablixフィルターでは使用できません。

行の可視性プロパティとして使用RowNumber(Nothing) <> 1すると、問題が修正されました。

BIDSを使用すると、問題が何であるかを示すエラーは発生しませんが、レポートをレポートビルダーにインポートしてそこから展開すると、より説明的なエラーが発生し、最終的には問題の解決に役立ちました。

于 2013-03-26T20:26:50.683 に答える