CytoscapeでEXCELのオブジェクトモデルを表現する

Cytoscape起動画面

 オブジェクトブラウザーは VBA のオブジェクト構造を記述したものである.しかし,EXCEL 全体のオブジェクトモデルを一覧できるような機能はない.今回,全く別領域のソフトウェアを用いて EXCEL のオブジェクトモデルを表現してみたので備忘録として公開する.

“CytoscapeでEXCELのオブジェクトモデルを表現する” の続きを読む

QGISのフィールド計算機で国土数値情報の河川データの属性を修正する

 国土交通省の国土数値情報の河川データには不備がある.テーブル構造の不一致についてはテーブル構造の修正には「属性のリファクタリング」で修正方法を述べた.今回は属性テーブルの値を修正する.

 値を修正するだけのつもりでいたが,結局「属性のリファクタリング」まで手を出してしまった.おかでげ国土数値情報の河川データはほぼ修正できたと思う.

“QGISのフィールド計算機で国土数値情報の河川データの属性を修正する” の続きを読む

EXCEL VBA で既存のテーブルにネットワークドライブ上の Workbook からデータを追記する

FileSystemObject と VBA の関係

 前回の記事ではフォルダーから一括してデータを読み込む方法を紹介した.今回は月次の更新ファイルを読み込んで既存のテーブルにデータを追記する方法を紹介する.

 既に読み込んだファイルは拒否したい.監査としてのワークシートが必要だ.リレーショナルデータベースならデータの一意制約から可能だが,EXCEL では自前で作る必要がある.

 色々と挑戦しがいのある課題であった.

“EXCEL VBA で既存のテーブルにネットワークドライブ上の Workbook からデータを追記する” の続きを読む

国勢調査から5歳階級の人口推移を調べる

日本人口の年齢階級推移(国勢調査より筆者作成)

 人口統計は最も重要な基幹統計の一つである.総務省の e-Stat は確かに有用であるが,かゆいところに手が届かない.例えば「市区町村ごと,年齢5歳階級ごとの人口構成の国勢調査ごとの推移を知りたい」という要求には全く無力である.

 主として技術的な理由によるものと,統計調査の粒度の細かさによる.技術的な理由としては,データベースの画面表示セル数の上限を容易に超えてしまうデータ量になってしまうことである.しかし,根本的な理由は調査の粒度の細かさである.

 2005 年以前と 2010 年以降とでは調査の精度が違う.今後は高精度なデータファイルが e-Stat に掲載されていくものと思われるが,2005 年以前に関しては都道府県より細かい粒度は存在しない.そこを求めると手作業になってしまい,現実的ではない.国立社会保障・人口問題研究所ならデータを持っているかもしれない.

 2020 年は国勢調査の年にあたる.総務省にはできるだけ細かい粒度でのデータ掲載を望むものである.

“国勢調査から5歳階級の人口推移を調べる” の続きを読む

SQL Serverに接続してインポートしたテーブルを結合する

新しいクエリ名が表示されている

 データベースに接続して一つのテーブルをインポートするのは比較的簡単であるが,複数のテーブルを結合した状態でインポートする方法が長らく分からないままだった.

 Power Query を使ってクエリを結合する方法で解決したので備忘録がてら記事とする.

“SQL Serverに接続してインポートしたテーブルを結合する” の続きを読む

日本の市区町村の時系列の人口順位をEXCELの散布図に描く

 読者がどの街に住んでいるか,俺は知らない.だが,将来読者の住む街の運命はほぼ確信を持って予言できる.今後しばらく繁栄が続くか,それとも衰退していくのかは,人口から予測できる.今日の記事ではその予測をデータを基に示す.後半は技術的な話題となる.

“日本の市区町村の時系列の人口順位をEXCELの散布図に描く” の続きを読む

EXCEL VBA でピボットテーブルの挿入を記録する

 ピボットテーブルは EXCEL に初期から搭載されている分析ツールである.ピボットグラフで未だに散布図が描けないという致命的な欠陥があるが,それでも有用なツールであることに変わりはない.

 今回の記事はコードの整形ができていない.PivotTable オブジェクトのプロパティが膨大で手がつけられなかったためである.時間がある時に取り組みたい.

“EXCEL VBA でピボットテーブルの挿入を記録する” の続きを読む

EXCEL VBA でテーブルのソートを記録する

 EXCEL VBA に至る前の段階としてマクロの記録がある.いわゆる「表モード」をそのまま記録したものである.ソートはこれまで .Add メソッドが中心であったが,最近になって .Add2 メソッドが追加された.それに伴い,引数 Key の Range オブジェクトの記述が若干変わった.

“EXCEL VBA でテーブルのソートを記録する” の続きを読む