MS_SSRS - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki

SSRS

概要

Reporting Services (SSRS) は、SQL Server に付属のレポーティング機能。

  • SQL Server の標準機能として搭載

  • レポートの作成ツールとしては、

    • Office ライクな GUI の「レポート ビルダー」と
    • Visual Studio 2010 に統合された「レポート デザイナー」の

    2 種類がある

  • レポートの作成ツールで作成したファイルは
    レポート定義言語 (RDL) ファイルとして保存

  • Web エディション、Express(with Advanced Services) では
    ローカルのデータベースのみホスト可能

詳細

レポート定義言語 (RDL)

概要

  • SSRS レポート定義の XML 表現。
  • データ取得とレイアウトの情報を含む。
  • SSRS 用の XML スキーマを定義し商用レポート製品の相互運用性を促進する。

参考

補足(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 で削除
された。
現在はネイティブ モードのみである。

Web ブラウザーからの参照

  • レポート サーバに保存されたレポートは、ブラウザから以下の URL で確認できる
http://[レポート サーバー名]/ReportServer/[レポート名]

※「レポート デザイナー」では [プレビュー] 機能で確認したり、
スタンドアロン プレビュー ブラウザーでローカルで参照することが可能

補足(2つの URL): SSRS には用途の異なる 2 つのエンドポイントがある。

URL 用途
/ReportServer レポート サーバー。API やレンダリング(本文の URL)
/Reports Web ポータル。ブラウザから閲覧・管理する画面

利用者が使うのは通常 /Reports のほうである。

レポート デザイナー

  • レポート デザイナーは、Microsoft Visual Studio ベースの
    グラフィカルなクエリ ツールおよびデザイン ツール。

  • 「SQL Server Data Tools」の一部で、
    インストール時にコンポーネントの選択画面で選択しておく必要あり。

  • 参考

利用シーン

難易度の高いレポート開発をしなければならない場合に使う。

  • SSISSSASと連携したり、
  • 「カスタム拡張機能」を使う。

機能比較

レポート ビルダーとレポート デザイナーの機能比較は、
Microsoft Learn の「Reporting Services ツール」を参照。

レポート作成のながれ

レポートサーバへの保存

[配置] 機能でレポート サーバへ保存(デプロイ)可能。

Web ブラウザーからの参照

前述の「Web ブラウザーからの参照」を参照。

ReportViewer コントロール (Visual Studio)

概要

  • ReportViewer コントロールは、アプリケーションでレポートを処理および
    表示する目的で提供されているコントロール

    • ASP.NET AJAX プロジェクトのレポートをホストするための
      ReportViewer Web サーバー コントロールと
    • Windows アプリケーション プロジェクトのレポートをホストするための
      ReportViewer Windows フォーム コントロールがある。
  • 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 サービス)を呼ぶか、
サードパーティの帳票ライブラリを使うことになる。

参考

補足(最新化: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

⚠️ **GitHub.com Fallback** ⚠️