NEXTSCAPE blog

株式会社ネクストスケープの社員による会社公式ブログです。ネスケラボでは、社員が日頃どのようなことに興味をもっているのか、仕事を通してどのような面白いことに取り組んでいるのかなど、会社や技術に関する情報をマイペースに紹介しています。

MENU

Reporting ServicesとBing MapsでWEB上のHTMLデータを可視化するレポートを作成する [SSRS with Bing Maps #0]

初めまして。佐久間と申します。

今年3月の震災後、地震や放射性物質・電力消費量などの情報が以前よりも数多く、わかりやすく、また加工しやすくWeb上に広がるようになりました。

こういった情報を整理・加工して「こんな形にできたらもっといい情報提供になるのにな」とイメージは持っているけれど、どう作ったらいいのかわからない・・・

そんな方に向けてWeb上のデータを可視化する簡易地図レポートのざっくりとした作り方を紹介します。

 
[作成する簡易地図レポート]

作成する地図レポートは2種類。
1つはBing Mapsと連携してデータを表示するレポートで、もう1つはGISソフトでよく使われる図形と属性データを持ったシェープファイル(ShapeFile)を使用したレポートです。

f:id:nextscape_blog:20210908145109p:plain

f:id:nextscape_blog:20210908145137p:plain

 

[使用するデータ]

データは気象庁が公開している地震情報を使用します。
気象庁のサイトで公開されているページのHTMLからデータを抽出・変換してレポートのデータソースにします。

f:id:nextscape_blog:20210908145212p:plain


[使用する製品]
SQL Server 2008 R2 Standard Edition またはそれ以上のEdition
※一部を除けばExpress Editionでも可

使用する製品はSQL Server 2008 R2です。
HTMLからデータを抽出・変換する処理にはSQL Serverに付属のIntegration Services(以下SSIS)を使用します。
また、地図レポート部分には同じくSQL ServerについてくるReporting Servicesを使用します。

この連載ではSSISを使用するためにStandard以上のEditionを前提としていますが、SSISで行うデータ変換処理以外はすべて無償のExpress Editionでも実現できるので、データ変換処理をバッチでもPowerShellでもお好きな方法で置き換えていただければOS以外に特別なライセンスを購入することなくお試しいただけます。

 
[目次]

本連載ではデータベースにテーブルを作成するところから始めて、データの抽出と変換を行い、最終的に地図レポートとしてデータを可視化するところまで、一連の作業をすべて扱います。

構成は下記の予定です。

自習書シリーズのようにきれいに詳しくとはいかないかもしれませんが、データを取得してから目で見る形に変換していく処理の全体像を掴むための手助けになったら嬉しいですね。
不定期更新になると思いますが、少しずつ更新していきます。

ではまた後日に。

1. データベースを作成する:SQL Server

レポートに表示するデータを格納するテーブルとデータ変換のために使用するワークテーブル、
都道府県等のマスタを作成します。

2. データを取得・変換する:Integration Services

2-1. 抽出(Extract)
 2-1-1 HTMLからデータを抽出してTSVを作成する
 2-1-2 ワークテーブルを空にする
 2-1-3 TSVからSQL Serverへデータをインポートする
 
2-2. 変換(Transform)
 2-2-1 都道府県IDを付与する
 2-2-2 最大震度IDを付与する
 2-2-3 座標データをGeography型に変換する
 
2-3. ロード(Load)
 2-3-1 インデックスを無効化する
 2-3-2 ワークテーブルのデータでレポート用テーブルのデータを洗い替える
 2-3-3 インデックスを再構築する

HTMLから目的のデータを抽出し、型変換やIDの付与を行いレポートで使用するデータの形に
変換を行った上でレポート表示用のテーブルに流し込みます。

3. データを表示するレポートを作成する:Reporting Services

3-1. Bing Mapsとの連携
 3-1-1. データソースの設定とチューニング
 3-1-2. レポートの作成
 
3-2. シェープファイルへのマッピング

Bing Mapsとの連携とシェープファイルへのマッピングを行うことでデータの可視化を行います。

参考. Windows FormsやASP.Netから利用する

参考-1. Windows Formsから利用する
参考-2. ASP.Netから利用する

Windows FormsやASP.Netで作成した独自のアプリにReporting Servicesのレポートを取り込む方法を紹介します。