こんばんは。佐久間です。
「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