MS_SSRS - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki
- 戻る(SQL Server)
Reporting Services (SSRS) は、SQL Server に付属のレポーティング機能。
-
SQL Server の標準機能として搭載
-
レポートの作成ツールとしては、
- Office ライクな GUI の「レポート ビルダー」と
- Visual Studio 2010 に統合された「レポート デザイナー」の
2 種類がある
-
レポートの作成ツールで作成したファイルは
レポート定義言語 (RDL) ファイルとして保存 -
Web エディション、Express(with Advanced Services) では
ローカルのデータベースのみホスト可能
- SSRS レポート定義の XML 表現。
- データ取得とレイアウトの情報を含む。
- SSRS 用の XML スキーマを定義し商用レポート製品の相互運用性を促進する。
- レポート定義言語 (SSRS)
https://learn.microsoft.com/ja-jp/sql/reporting-services/reports/report-definition-language-ssrs - SQL Server RDL Specification
https://learn.microsoft.com/en-us/openspecs/sql_server_protocols/ms-rdl/
補足(RDL はテキスト管理できる): RDL は XML であるため、
Git などのバージョン管理に載せられる。
帳票定義を GUI ツールだけで管理していると差分が追えなくなるため、
*.rdlをソース管理に含め、
デプロイを CI/CD 化するのが現在の定石である。
-
Microsoft Office ライクな GUI でレポートをデザインできるクライアント ツール
-
ダウンロード センターからインストーラをダウンロードし、
クライアントにインストールしておく必要あり。 -
参考
移行メモ(誤字): 元ページの「クライントツール」は
「クライアント ツール」の誤記。
レポート ビルダーを使用してのレポート作成の流れは
以下のイメージ(SQL Server 2012 を使用しての例)。
-
起動
起動 → 「作業の開始」ダイアログが表示 -
ウィザードを選択
- [テーブルまたはマトリックス ウィザード]
- [グラフ ウィザード]
- [マップ ウィザード]
- [空のレポート]
-
データセットの選択
- [このレポートの既存データセットまたは共有データセットを選択する]
- [データセットを作成する] → ここで SQL サーバに接続する設定を行う
-
クエリのデザイン
- レポートの元となるデータを選択する(ダイアログ)
- [テキストとして編集] ボタンで選択したデータに対して
自動生成された SQL 文を編集可能
-
フィールドの配置
「クエリのデザイン」で選択したデータをそれぞれ 列、行、集計の
いずれで使用するか設定(Excel の Pivot テーブルの様なイメージ) -
レイアウトの選択
スタイルがいくつかテンプレートとして用意されているので、
選択(「汎用」はスタイルなし) > これでたたきは完了 -
デザインの編集
あとは、レポートを完成させていく- 画面上でデザイン モードと実行モードを切り替えながら、
- フィールドの位置を変えたり、画像を入れたり、
- 集計の単位などのプロパティを変更したり。
-
完成したら、レポートとして保存(
.rdl)
移行メモ(体裁): 元ページの「スタイルがいくつか用意テンプレートとして
用意されている」は重複があるため、「いくつかテンプレートとして
用意されている」と整理して掲載した。
作成したレポートは、レポート サーバー
(Reporting Services をインストールしたサーバー上)へ保存することで、共有する。
-
[レポート ビルダー] メニューから [オプション] ボタンで、
-
[既定で使用するレポート サーバー または SharePoint サイト]
(Reporting Services がインストールされているマシン)の URL を設定して、 -
保存するとサーバに保存される。
補足(最新化:SharePoint 統合モードは廃止): SharePoint 統合モードは
SQL Server 2017 で削除された。
現在はネイティブ モードのみである。
- レポート サーバに保存されたレポートは、ブラウザから以下の URL で確認できる
http://[レポート サーバー名]/ReportServer/[レポート名]
※「レポート デザイナー」では [プレビュー] 機能で確認したり、
スタンドアロン プレビュー ブラウザーでローカルで参照することが可能
補足(2つの URL): SSRS には用途の異なる 2 つのエンドポイントがある。
URL 用途 /ReportServerレポート サーバー。API やレンダリング(本文の URL) /ReportsWeb ポータル。ブラウザから閲覧・管理する画面 利用者が使うのは通常
/Reportsのほうである。
-
レポート デザイナーは、Microsoft Visual Studio ベースの
グラフィカルなクエリ ツールおよびデザイン ツール。 -
「SQL Server Data Tools」の一部で、
インストール時にコンポーネントの選択画面で選択しておく必要あり。 -
参考
難易度の高いレポート開発をしなければならない場合に使う。
レポート ビルダーとレポート デザイナーの機能比較は、
Microsoft Learn の「Reporting Services ツール」を参照。
- レポート デザイナーおよびレポート ビルダーを使用したレポートのデザイン (SSRS)
- チュートリアル (SSRS)
https://learn.microsoft.com/ja-jp/sql/reporting-services/reporting-services-tutorials-ssrs
[配置] 機能でレポート サーバへ保存(デプロイ)可能。
前述の「Web ブラウザーからの参照」を参照。
-
ReportViewer コントロールは、アプリケーションでレポートを処理および
表示する目的で提供されているコントロール- ASP.NET AJAX プロジェクトのレポートをホストするための
ReportViewer Web サーバー コントロールと - Windows アプリケーション プロジェクトのレポートをホストするための
ReportViewer Windows フォーム コントロールがある。
- ASP.NET AJAX プロジェクトのレポートをホストするための
-
Visual Studio [Web サイト] プロジェクトもしくは [Windows フォーム] プロジェクトの
機能(メニュー)から画面や Windows フォームにレポートを追加して
デザインすることができる
補足(2つの処理モード): ReportViewer には
挙動が大きく異なる 2 つのモードがある。
モード レポートの実行場所 データの取得 リモート処理 レポート サーバー サーバーが取得 ローカル処理( *.rdlc)クライアント/アプリ側 アプリが用意して渡す ローカル処理モードはレポート サーバーが不要なため、
SSRS を立てずに帳票機能だけ欲しい場合に使われる。
拡張子が.rdlではなく.rdlcになる点が目印。ただし、ReportViewer は .NET Framework の Windows フォーム /
Web フォーム向けであり、
.NET Core 以降および ASP.NET Core には移植されていない。
現在の Web アプリで帳票を出すなら、
SSRS のレンダリング(URL アクセスや Web サービス)を呼ぶか、
サードパーティの帳票ライブラリを使うことになる。
-
自習書シリーズ
- Reporting Services によるレポート作成 (上)(中)(下)
-
SQL Server の各エディションがサポートする機能
https://learn.microsoft.com/ja-jp/sql/sql-server/editions-and-components-of-sql-server-2022\ (SQL Server のエディションも参照)
補足(最新化:SSRS の現在地): SSRS は現在も提供されているが、
周辺は以下のように再編されている。
製品 位置付け SSRS SQL Server 同梱。オンプレミスの定型帳票 Power BI Report Server SSRS の上位版。RDL に加え Power BI レポート( *.pbix)もホストできるPower BI Service クラウド。対話的な分析・可視化が主眼 Microsoft Fabric Power BI を含む統合分析基盤 用途の使い分けとしては、
- 帳票(ピクセル パーフェクト、印刷前提、定型) → SSRS / ページ分割されたレポート
- ダッシュボード・分析(対話的) → Power BI
となる。Power BI にも SSRS 由来の
**「ページ分割されたレポート」(Paginated Report)**が統合されており、
RDL 資産をクラウドへ持ち込む経路が用意されている。
Tags: 移行, データアクセス, SQL Server