レポートビルダー3.0(SQL Server 2008 R2を使用)を使用してレポートを作成しました。今、データベースからレポートにフェッチされているレコードの数を知りたいですか?
これは、SSRSのcount関数またはSQLクエリのRANK/ROW_NUMBER関数を使用して、フィールドとしてレポートに割り当てることで可能です(RANK/ROW_NUMBERは各行にランクを付け、レポートの最後のページに移動すると、合計行数)。
カウント機能を試しましたが、レポートの一部のフィールドでカウントされます。たとえば、このアプローチの問題= Count(Field!FieldName.value, "DataSetName")
問題:「FieldName」はレポート内で一意ではないため、カウントが繰り返されます
2番目のオプション:Rank/Row_Numberを追加しましたが、それらも同じ種類のfieldNameを使用しているため、ここでもカウントが重複します。
主な問題:クエリに一意のフィールドがありません(したがって、ROW_NUMBER()を試しました)
SSRS 2008で(各行の)合計行数またはランクを確認するにはどうすればよいですか?
上記の他の誰かが言ったように、私はこうしてそれをラップするまでCountRows("DatasetName")
をヘッダーで動作させることができませんでした:CSTR(CountRows("DatasetName"))
。
Tablixコントロールのプロパティには、NoRowsMessageというプロパティ名があります。行が返されない場合は、メッセージをここに入力します。
これの回避策を見つけました。最初に値が常に1に設定されたデータ列を作成します。これにより、データの各行に1の値が提供されます。
クエリ列
, 1 AS Unit
以下に示すように、レポートに「RunningValue」関数を使用します。
=RunningValue(Fields!Unit.Value,Sum,"DataSet")
あなたが探しているものであれば、これは「ランニングサム」としても機能します。