【ActiveReports Tips】ActiveReports のレポートを PDF ファイルとして出力する

こういうライブラリって割と簡単に PDF に出力できるもんだと思っていたのですが、レポートの種類や ActiveReports のバージョンによってやり方が異なっていたりしたので結構実現するのに苦労しました。

【ActiveReports Tips】ActiveReports for .NET プロジェクトの作成

前回の Tips は ActiveReports をインストールするところまででしたので、今回はレポートプロジェクトを作成する部分を Tips にまとめています。

レポートといっても ActiveReports には3種類もレポートがあるので知識0から始めるのは結構難易度が高いと思います。

[SSRS] Tablix の列ヘッダを改ページしても表示させたままにする方法

設定がわかりにくかったのでメモ。

下のような列ヘッダー1行と詳細データ1行の Tablix を配置しているものとします。

列ヘッダーA 列ヘッダーB 列ヘッダーC 列ヘッダーD
詳細データA 詳細データB 詳細データC 詳細データD

 

レポートを表示した際に詳細データに表示される行数が多くなると自動的に改ページされるようになりますが、改ページを行った場合、2ページ目以降も列ヘッダーを表示してほしい場合が多いと思いますが、残念ながらデフォルトでは最初のページにしか表示されません。(改ページさせない設定は Tablix のプロパティにあります)

2ページ目以降も列ヘッダーを表示するために画面の項目を調べていくと一般的に Tablix のプロパティに「すべてのページにヘッダー行を表示する」というチェックボックスを見つけられると思いますので、そのチェックで解決すると思われがちなのですが、このチェックをつけても期待した動作にはなってくれません。(このプロパティがどんな動作をするかはわかりません)

改ページでも列ヘッダーを表示させるには以下の手順を踏む必要があります。

  1. Tablix をクリックして選択
  2. デザイナの下にあるグループペイン(行グループ、列グループのエリア)の「右上」にある「▼」をクリック。(行グループ、列グループの下ではなく右側にあります)
  3. 「詳細設定モード」を選択
  4. 行グループの下に「(静的)」の項目が追加されるのでそれを選択。(列グループにも同様に表示されますが、列ヘッダーを表示させたい場合は行グループの方を選択します。選択するとデザイナ上の Tablix で左上のセルが選択されると思います)
  5. プロパティペインを開き(ない場合は表示メニューから「プロパティ ウインドウ」)、「KeepWithGroup」のプロパティを「After」に、「RepeatOnNewPage」のプロパティを「True」に設定します。
  6. プレビューで動作確認
]]>

SSRS でグラフのサイズを動的に変更する

SSRS やレポートビルダーでグラスのサイズを指定する場合 Size プロパティの Width や Height を変更することになると思います。デザイナ上でドラッグして変更した場合もこの値が変更されます。

しかし、Size プロパティには「式」を設定することができないため、このプロパティではパラメータやフィールドを使って動的にグラフのサイズを変更させることができません。

Size を動的に変更するには「DynamicWidth」と「DynamicHeight」プロパティを使用します。こちらはデータの型に「ReportExpression<ReportSize>」が適用されているので式を埋め込むことができます。

]]>

Reporting Service のレポートサーバーに追加したレポートのバックアップ方法

メモです。

■環境

  • SQL Server 2008 R2

■内容

レポートビルダーなどで作成したレポートをレポートサーバー(https://blog.sorceryforce.net/ReportServer/)にアップロードした場合、レポート単独をファイルとしてバックアップする方法がありません。

アップロードされたレポートは SQL Server データベースに追加された「ReportServer」データベースに保管されているので、このデータを丸ごとバックアップすれば別記憶媒体にバックアップを取ることができます。

バックアップ手順

ReportServer データベースはオンラインバックアップが可能なので、SQL Server Management Studio 等からそのままバックアップタスクでバックアップできます。もちろん SQL を実行してバックアップも可能です。

復元手順

復元するには Reporting Services のサービスを一度止める必要があります。

  1. SQL Server 構成マネージャ等を使用して Reporting Services のサービスを停止する
  2. SQL Server Management Studio などを使用してバックアップした ReportServer を復元する。(上書きで)
  3. Reporting Services のサービスを開始する
  4. レポートの状態がバックアップ時点に復元されているか確認する

 

※メモレベルなのでもしかしたら間違っているかもしれませんので、確実に復元可能か運用前に確認してください。

]]>