最近,Lancersを利用する機会があった.月次のファイルを10年分,計120個のブックをダウンロードし,テーブル形式に整形したブックが納品された.これらをSQL Serverにインポートしたいのだが,手動でタブ区切りテキストに別名保存するのは骨が折れる.
結局VBAで処理することにした.その際の備忘録である.
Co-evolution of human and technology
最近,Lancersを利用する機会があった.月次のファイルを10年分,計120個のブックをダウンロードし,テーブル形式に整形したブックが納品された.これらをSQL Serverにインポートしたいのだが,手動でタブ区切りテキストに別名保存するのは骨が折れる.
結局VBAで処理することにした.その際の備忘録である.
世界各国の人口推移およびGDP推移を取得したい.そんな場合は国連や世界銀行のデータを活用する.今回は国連から人口推移,世界銀行からGDP推移のデータをそれぞれ取得したので経緯を紹介する.
SQL Serverでサブクエリとウィンドウ関数のパフォーマンスを比較した.用いたデータベースはHeatStrokeDBで,熱中症の搬送人員と最高気温との相関関係を可視化し閾値をχ二乗検定するで作成したものである.
比較するツールはSET STATISTCS PROFILE ONコマンドである.クエリストアは筆者の環境では機能しなかった.
SQL Serverのクエリオプティマイザはテーブルの統計情報を見て実行計画を作成する.通常のデータ型であれば主キーなどの統計情報はあらかじめ作成されているが,今回空間データの統計情報を作成しようとして失敗したので共有する.
データベースのテーブルに適切なインデックスを設定するのはクエリを高速化するうえで重要な施策である.今回,空間演算にコストがかかっていたクエリが空間インデックスの設定により高速化したので報告する.
SQL Serverのクエリのコストを評価するには実行計画を取得する必要がある.最近のバージョンではクエリストアでクエリのコストを視覚化することが可能となった.今回はSQL Serverの実行計画を取得する従来の方法と,クエリストアを表示する方法を紹介する.元にした記事は日平均気温の過去30日間の移動平均をSQL Serverのウィンドウ関数を用いて計算するである.
標準SQLが再帰共通テーブル式に対応したのはSQL:1999からである.今回はSQL Serverの再帰共通テーブル式で連番を作成する.日付の連番も作成してみる.
オーストラリアでの住所からのジオコーディングはGeoscape社が担当しており,そのプロジェクト名をG-NAFという.オーストラリア政府から補助金を受けており,2029年まで無料公開されることが決まっている.
データ数は1500万件以上,空間参照系はGDA94(EPSG: 4283)またはGDA2020(EPSG: 7844)である.
今回はSQL Serverでデータベースからテーブル作成,データのインポート,テーブルへの主キーと外部キーの作成までを行う.
総務省の公開しているe-Statには社会疫学的指標が多く含まれる.今回熱中症搬送人員数に様々な指標を加えて解析してみた.
説明変数として日最高気温,日平均水蒸気圧,都道府県人口に加えて過去30日間の平均気温,エアコン保有台数,年間収入のジニ係数,光熱・水道費,実収入,第1次産業就業者比率,第2次産業就業者比率,都市公園数,都市緑化割合,自然公園割合,自然公園数,生活保護被保護人員を加えた.
すべての変数が有意であったが,VIFを見ると多重共線性を疑わせる変数もあり,良いモデルとは言えない結果となった.
熱中症の搬送人員数が月平均気温と負の相関があるとの情報を得た.普段涼しい地域ほど日最高気温の上昇に弱いという意味である.普段涼しいということを表現するには過去30日間の日平均気温の平均を取ればよいだろうと判断した.こうなるとSQL Serverのウィンドウ関数の出番である.