質問: とある組み込み製品について、市場稼働時のログを解析し、 障害率等をまとめたグラフを作る仕事をここ最近毎日行っています。 今はエクセルで行っています。 これは最終的にグラフで可視化し、事業判断に用いるためのものなので、 ソフトに詳しくない人(技術部長や事業部長が)が 「手軽に」「いつでも」「最新のグラフを」見れることが重要です。 しかしエクセルでデータを集計しグラフ化するのは時間がかかるので、 完全自動化を検討しています。 イメージは以下です。 (1)以下の動きをするPythonプログラムを組む。 あるフォルダ以下にあるログファイルを全て解析し、 解析結果(日毎のエラー数、取引数等)を ファイルベースのデータベース(SQLite)に登録する。 Pythonを使うのは、単に私が使い慣れているからです。 この部分はソフトメンバーのみが行うため、 環境構築は自由が利く。つまりライブラリなどは好き勝手に使える。 (2)ファイルベースのデータベースは、社内ファイル共有サーバーの 決めた場所に入れておく。 なお、ファイルベースなのは、単にデータベースサーバーを立ち上げるのが 社内的に色々と面倒だから。 (3)↑のデータベースを自動で読み込んで、見たいデータのグラフを だれでも手軽に見れるようにしたい。 (1)(2)は実現方法がハッキリしているのですが、 (3)をどんなツールを使えばいいか、悩んでいます。 部内では共有ファイルサーバーは存在します。 ただしファイルを共有できるだけで、Apacheなどを立ち上げたりすることができません。 (3)の選択肢は安直には以下が思いつきます。 (A)Pythonでデーターベースにアクセスしてグラフを書くデスクトップアプリを作る。 →Pythonスクリプトをexe化して配布することになる。 exe化できるライブラリがかなり制限されるはずである。 バージョンアップの際にいちいち配布しなおすことになるが、 あちこちで新旧バージョンが混在しかねない。 (B)データーベースにアクセスしてグラフを書くWEBサイトを作る。 →本当ならこれが理想的。ただし社内でWEBサーバーを立ち上げる手順が面倒というか前例なく機材もない。 (C)ファイルサーバーにExcelフィルを置いておいて、 そのExcelの中でデーターベースにアクセスし、グラフを掻く。 →いちばん現実的かも。やったことないのでできるのか不明であるが。 そこそこの規模の会社におり、社内ネットワークが色々とややこしくWEBサーバーを勝手に立ち上げたりすることができません。 何か、もっと簡易で、社内の誰でも使える方法があればご教示をいただきたく。 よろしくお願い申し上げます。 以上
回答: 前時代的ですけど、Accessで作るとかですかね。**全くお勧めはできませんが。** もし、(B)でのやり方が確立できそうであれば、Electronで作るという手もあります。Webの技術そのままでデスクトップアプリにすることができますので、そのままファイルサーバーに置くだけで使うこともできると思います。ただ、アプリのサイズが結構でかい事だけが難点です。 あと、分析対象のグラフで幅が固定で、検索や任意指定が不要なら、データ収集後にExcelファイルも作ってしまうと言うのもあるかと思います。月ごとにフォルダを分けて日ごとにファイルを分ければ良い感じになるかと。PythonからExcelファイルを作るライブラリもありますのでPythonでそのまま作成というのもありだと思います。この場合、Excelファイルに限定する物ではありませんので、PDFにして、そのまま印刷もできますという選択もできます。 他には、LibreOfficeのODSファイルにしてPythonでマクロを書くという技もあるのですが、PythonマクロをODSファイルに組み込むのが結構めんどうらしいのであまりお勧めはできません。