こんばんは。佐久間です。
半月ぶりの更新です。
「Reporting ServicesとBing MapsでWEB上のHTMLデータを可視化するレポートを作成する」
第4回目は変換処理済みのWorkテーブルのデータでレポート用のテーブルを満たします。
(目次はこちら)
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 インデックスを再構築する
[ロード(Load)]
2-3-1 インデックスを無効化する
Workテーブルからデータをロードする前にまずインデックスを無効化します。
もちろん無効化しなくてもデータのロードは可能ですが、
インデックスが有効な状態でのInsertには多少コストがかかるので一時的に無効化しておきます。
処理の実行は毎度おなじみSQL実行タスクです。
ストアドはこちら。
CREATE PROCEDURE dbo.DisableIndexes
AS
BEGIN
SET NOCOUNT ON;
-- TODO:インデックスの無効化
END
今はまだ無効化する非クラスタ化インデックスを作成していないのでTODOのみです。
対象となるインデックスはレポートのデータを取得するSQLを書く時に作成しますが、
SSISのタスクに予めストアドを仕込んでおけばストアドを更新するだけで処理を補完できるようになります。
Read More
こんばんは。佐久間です。
「Reporting ServicesとBing MapsでWEB上のHTMLデータを可視化するレポートを作成する」
第3回目はWorkテーブルのデータに対する付加情報の追加とデータ変換処理を行います。
(目次はこちら)
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 インデックスを再構築する
[変換(Transform)]
2-2-1 都道府県IDを付与する
まずは震源データと都道府県の紐付けを行います。
ここでの紐付け判定は震源が都道府県名で始まっているかどうかです。
都道府県名で始まっていない震源についてはすべて不明扱いになってしまいますが、
データの可視化手段を公開することが主目的なので割愛します。
※より精度の高いデータにするためには名寄せ処理が必要です。
紐付け処理は前回も使用したSQL実行タスクで行います。
ストアドは下記の通り。
都道府県マスタのデータを利用してIDを設定します。
CREATE PROCEDURE dbo.Set都道府県ID
AS
BEGIN
UPDATE dbo.Work
SET 都道府県ID =
CASE WHEN 都道府県マスタ.都道府県ID is null
THEN 99
ELSE 都道府県マスタ.都道府県ID
END
FROM dbo.Work
LEFT OUTER JOIN dbo.都道府県マスタ
ON Work.震源 LIKE 都道府県マスタ.都道府県名 + '%'
END
Read More
少し間が空いてしまいました。
佐久間です。
「Reporting ServicesとBing MapsでWEB上のHTMLデータを可視化するレポートを作成する」
第2回目は前回作成したWorkテーブルにHTMLから抽出したデータを取り込む処理を行います。
(目次はこちら)
2. データを取得・変換する:Integration Services
今日は、SQL Server 2008 R2に付属のIntegration Services(以下SSIS)を使用してデータの抽出・変換・ロード(ETL)を行います。
ETL処理の全体像は下記の通りです。
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 インデックスを再構築する
– 前準備 –
まずは前準備としてSSISの新しいプロジェクトを作成します。
開発環境はBusiness Intelligence Development Studioです。
これはSQL Serverのインストーラーに同梱されているVisual Studioのシェルを利用したツールです。
新しいプロジェクトの作成は左上のメニューから行います。
1. 「新しいプロジェクト」を選択
2. 「Integration Services プロジェクト」を選択
Read More
初めまして。佐久間と申します。
今年3月の震災後、地震や放射性物質・電力消費量などの情報が以前よりも数多く、わかりやすく、また加工しやすくWeb上に広がるようになりました。
こういった情報を整理・加工して「こんな形にできたらもっといい情報提供になるのにな」とイメージは持っているけれど、どう作ったらいいのかわからない・・・
そんな方に向けてWeb上のデータを可視化する簡易地図レポートのざっくりとした作り方を紹介します。
[作成する簡易地図レポート]
作成する地図レポートは2種類。
1つはBing Mapsと連携してデータを表示するレポートで、もう1つはGISソフトでよく使われる図形と属性データを持った
シェープファイル(ShapeFile)を使用したレポートです。


Read More