web-dev-qa-db-ja.com

SSRSレポートビルダーで行数を取得する

レポートビルダー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で(各行の)合計行数またはランクを確認するにはどうすればよいですか?

22
xorpower

CountRows関数 を使用します。例えば

=CountRows("MyDataset")

MyDataSetの行数を示します。

46
Jamie F

上記の他の誰かが言ったように、私はこうしてそれをラップするまでCountRows("DatasetName")をヘッダーで動作させることができませんでした:CSTR(CountRows("DatasetName"))

0
chainsofthought

Tablixコントロールのプロパティには、NoRowsMessageというプロパティ名があります。行が返されない場合は、メッセージをここに入力します。

0

これの回避策を見つけました。最初に値が常に1に設定されたデータ列を作成します。これにより、データの各行に1の値が提供されます。

クエリ列

, 1 AS Unit

以下に示すように、レポートに「RunningValue」関数を使用します。

=RunningValue(Fields!Unit.Value,Sum,"DataSet")

あなたが探しているものであれば、これは「ランニングサム」としても機能します。

0
Studio472