none
SSRSのデータセットでフィルターをかけた後のレコード件数を取得したい RRS feed

  • 質問

  • 複数のパラメータを指定する必要がある帳票でフィルターをかけた後のレコード件数をしたいのですが、取得できず困っています。

    CountRows("データセット名")や

    RowNumber("データセット名")で行数を取得するとフィルターをかける前の総レコード数が返ってきます。

    フィルターをかけた後のレコード数を取得することは出来ないのでしょうか?

    取得できる方法があれば教えて下さい。

    宜しくお願いします。

    実行環境:SQL Server2008
    開発環境:SQL Server Business Intelligence Development Studio

     

    2010年3月24日 2:08

すべての返信

  • こんな情報がありましたが参考になりますでしょうか。

    http://social.msdn.microsoft.com/Forums/en/sqlreportingservices/thread/4f8789cf-010e-4ae3-8368-10a4c177574f

    2010年3月24日 12:18
  • nagasakit様、返信ありがとうございます。

    教えていただいたサイトは既に確認していましたが、うまく行かないのでこちらで質問した次第です。

    また質問した内容なんですが、サマリーを行っていないレポートだと正常にフィルター後の件数が出ているようです。

    申し訳ありませんでした。

    教えて頂いたサイトを見て試した方法を以下に記述しておきます。
    (但し複数ページにまたがる場合は、1ページの詳細行件数となってしまいます。。)

    1.Tablixの任意の列を追加して詳細行をカウントするために、式[=1]を記述する。

    2.追加した列を選択して、HiddenプロパティをTrueに設定する。列を右選択した表示プロパティから非表示を選択すると、うまく行きません。

    3.ヘッダー部にレコード数を表示するために式[="レコード件数:" & Sum(ReportItems!追加した列のテキストボックス名.value) & "件"]を記述する。

     ヘッダーまたはフッター部以外でSum関数を使うとエラーになります。

    結局のところ取得する方法はなさそうですね。。。

    2010年3月31日 6:26
  • データセットのクエリに「件数」というフィールドを加えて、

     

    SELECT [列A],[列B] ,1 AS [件数] FROM [テーブルA]

     

    [件数]に関する Tabilx の合計列&合計行にあたるテキストボックスをTextbox99としたときに、

    別のテキストボックスの式を ReportItems!Textbox99.value としたら、意図する実装にならないでしょうか。

    (列および行を非表示にしても構いません。)

     

    それと、フィルターの指定を Tabilx で行なわずに データセットで行なうとか、クエリ中のパラメータで行なうとかの方法では駄目なのでしょうか。

    2010年3月31日 8:39