Hamlife with Mac, JJ1XOF

QSOログのダッシュボードを作ってみた。

愛用のログソフトMacLoggerDXは、ログ情報をSQLiteというデータベースの形式で単一のファイルに保存している。
SQLiteのファイルは、いろんなソフトで読み書きできたり、いろんな言語で書いたプログラムから検索できたりと、なにかと使い勝手が良い。

ちょっと思いついて、交信の統計情報を可視化してみた。

可視化のためのツールとしては、Apacheプロジェクトのひとつである、オープンソースBIのsupersetを使うことにした。

タダだから。というだけである。
もともと、airbnb(大文字小文字の公式表記ってどんなだっけ?)社内で開発されたものをApacheプロジェクトに寄贈オープンソース化したものらしい。


BIツールとは、CSVやら表計算ファイルやらSQLデータベースからデータを引っ張ってきてグラフや表をサクッと描いてくれる、Excelのグラフ機能がめちゃくちゃ便利になったヤツ、のようなもの。

Superset公式Dockerコンテナ落として立ち上げる。

SQLiteのデータもsupersetで直接読めはするのだけれど、都度都度Dockerコンテナのなかにファイルを書き込むのがちょっとめんどいというか、あんまかっこよくない気がしたので、SQLサーバからデータを読み込ませることにした。

と、いうことで、SQLiteのデータを、MySQL(というかMariaDB)にロードする。

SQLiteデータをCSVにして、CSVをMySQLにロードして。
と、いうわけには、なかなかいかず。
MacLoggerDXがSQLiteに保存しているログデータには、QSO時刻はUnixtimeで入っていたりと、なにかとクセがある。
また、他のログソフトや移動したときのADIFをインポートしたQSOには、バンドやモードの情報の表記に揺れがある。(バンドだと40mと40Mが混ざってたり、モードならSSB、USB、SSB(USB)とかのパターンがあったり)

なので、ついでにデータをきれいにしてロードすることにした。
スクリプトを書いても良いのだけれど、ノーコードでいってみる。

Knimeという、これまたオープンソースのデータ連携・加工・分析がノーコードで出来るツールを使う。

こんな感じで処理アイコンを並べて、ポチポチ設定して、走らせると、SQLiteデータの読み込み・変換、MySQLへの書き込みが出来るときたもんだ。

そして、superset上で、グラフ描画の設定をあれこれやると、こんな感じのグラフのできあがり。

(BGMと字幕をつけて、vlogに。そんな面倒なことはやってられん。ので、たんなる画面録画。)

あれこれ眺めると楽しいやつができました。

モバイルバージョンを終了