日別アーカイブ: 2023年12月31日

Power BIでCSVからグラフを描画する

SQLiteから出力したCSVデータを使ってグラフを描画してみることにしました。以前はPythonのbokehライブラリを使ってグラフを描画しましたが、今回はMicrosoftのPower BIというツールを使用します。

Power BI Desktop

[Microsoft]

Power BIはその名の通りビジネスインテリジェンスツールで、企業の経営データを視覚化して表現するためのツールです。しかしこのツールは様々なデータ形式を読みとれるほか、元のデータを破壊せずに加工してグラフ化できるので、そのまま表計算ソフトでグラフ化するよりも融通が利きやすい感じがしています。

元々のデータは日付時刻の値を変な形式で記録してしまったので、別途Power BI上でyyyymm形式の年月とyyyymmdd形式の年月日列を追加しました。このように列を追加しても元のデータに何も影響のない点が優れているポイントです。

ただし、列の追加の際にはPowerQuery Mという言語による記述が必要になります。Excelの関数と似た関数がありますが記法が違うので、Excelに慣れている方であってもある程度再学習が必要になるのが少々難です。

関数の体系は似ているので、「Excelで言うところのあの関数だな」というマッピングが頭の中でできてくると割合スムーズに動かせるようになると思います。

Power Query M 言語仕様

[Microsoft]

一旦グラフができてしまえばあとは対話的にグラフの作成ができるので、下準備まで終われば表計算ソフトよりは楽ができると思います。例えば今回は読み込んだCSVデータを加工し、年月データと年月日データを階層構造とするクエリにしてみました。これにより年月データをドリルダウンして日別データを即表示することができるので、グラフ自体が対話的な機能を持つことになりとても面白いです。

上の画像は月別平均温度のグラフをドリルダウン(拡大)し、2022年12月の日別平均温度データにした様子です。グラフ上をダブルクリックするだけで拡大が可能です。

また、集計用の数式も統計でよく使うようなものについてはプリセットされているので、平均値を見た後にボタン1つで標準偏差のグラフに変更するといったことも自由に行えます。

さすがにグラフのタイトルまで勝手に変わることはないのでタイトルは打ち直しました。

PowerBI Desktopはレポート共有機能などの高度な機能が使えませんが、代わりに無料で利用できるので、自分の手元でデータを眺めて遊ぶ分には十分高機能なツールだと思います。