EXCEL VBAで複数のブックからタブ区切りテキストに一括で別名保存する

 最近,Lancersを利用する機会があった.月次のファイルを10年分,計120個のブックをダウンロードし,テーブル形式に整形したブックが納品された.これらをSQL Serverにインポートしたいのだが,手動でタブ区切りテキストに別名保存するのは骨が折れる.

 結局VBAで処理することにした.その際の備忘録である.

“EXCEL VBAで複数のブックからタブ区切りテキストに一括で別名保存する” の続きを読む

国連の人口データおよび世界銀行のGDPデータをダウンロードする

国連のサイトに遷移する.Download Data Filesをクリックする

 世界各国の人口推移およびGDP推移を取得したい.そんな場合は国連世界銀行のデータを活用する.今回は国連から人口推移,世界銀行からGDP推移のデータをそれぞれ取得したので経緯を紹介する.

“国連の人口データおよび世界銀行のGDPデータをダウンロードする” の続きを読む

SQL Serverでサブクエリとウィンドウ関数とのパフォーマンスを比較する

SQL Server

 SQL Serverでサブクエリとウィンドウ関数のパフォーマンスを比較した.用いたデータベースはHeatStrokeDBで,熱中症の搬送人員と最高気温との相関関係を可視化し閾値をχ二乗検定するで作成したものである.

 比較するツールはSET STATISTCS PROFILE ONコマンドである.クエリストアは筆者の環境では機能しなかった.

“SQL Serverでサブクエリとウィンドウ関数とのパフォーマンスを比較する” の続きを読む

SQL Serverでは空間データの統計情報を作成できない

SQL Server

 SQL Serverのクエリオプティマイザはテーブルの統計情報を見て実行計画を作成する.通常のデータ型であれば主キーなどの統計情報はあらかじめ作成されているが,今回空間データの統計情報を作成しようとして失敗したので共有する.

“SQL Serverでは空間データの統計情報を作成できない” の続きを読む

SQL Serverで空間インデックスを設定し空間演算を高速化する

SQL Server

 データベースのテーブルに適切なインデックスを設定するのはクエリを高速化するうえで重要な施策である.今回,空間演算にコストがかかっていたクエリが空間インデックスの設定により高速化したので報告する.

“SQL Serverで空間インデックスを設定し空間演算を高速化する” の続きを読む

SQL Serverの実行計画を取得しクエリストアを表示する

SQL Server

 SQL Serverのクエリのコストを評価するには実行計画を取得する必要がある.最近のバージョンではクエリストアでクエリのコストを視覚化することが可能となった.今回はSQL Serverの実行計画を取得する従来の方法と,クエリストアを表示する方法を紹介する.元にした記事は日平均気温の過去30日間の移動平均をSQL Serverのウィンドウ関数を用いて計算するである.

“SQL Serverの実行計画を取得しクエリストアを表示する” の続きを読む

オーストラリアのジオコーディング

Cairns Cityの住所をマッピング

 オーストラリアでの住所からのジオコーディングはGeoscape社が担当しており,そのプロジェクト名をG-NAFという.オーストラリア政府から補助金を受けており,2029年まで無料公開されることが決まっている.

 データ数は1500万件以上,空間参照系はGDA94(EPSG: 4283)またはGDA2020(EPSG: 7844)である.

 今回はSQL Serverでデータベースからテーブル作成,データのインポート,テーブルへの主キーと外部キーの作成までを行う.

“オーストラリアのジオコーディング” の続きを読む

e-Statからの社会疫学的指標を加えて熱中症搬送人員数を分析する

 総務省の公開しているe-Statには社会疫学的指標が多く含まれる.今回熱中症搬送人員数に様々な指標を加えて解析してみた.

 説明変数として日最高気温,日平均水蒸気圧,都道府県人口に加えて過去30日間の平均気温,エアコン保有台数,年間収入のジニ係数,光熱・水道費,実収入,第1次産業就業者比率,第2次産業就業者比率,都市公園数,都市緑化割合,自然公園割合,自然公園数,生活保護被保護人員を加えた.

 すべての変数が有意であったが,VIFを見ると多重共線性を疑わせる変数もあり,良いモデルとは言えない結果となった.

“e-Statからの社会疫学的指標を加えて熱中症搬送人員数を分析する” の続きを読む

日平均気温の過去30日間の移動平均をSQL Serverのウィンドウ関数を用いて計算する

 熱中症の搬送人員数が月平均気温と負の相関があるとの情報を得た.普段涼しい地域ほど日最高気温の上昇に弱いという意味である.普段涼しいということを表現するには過去30日間の日平均気温の平均を取ればよいだろうと判断した.こうなるとSQL Serverのウィンドウ関数の出番である.