ここでのレポート作成とはmatomoの機能のレポートではなく、DBからデータを取得してExcelやBIツールで作成するレポートになります。
Matomoでもレポート作成機能はありますが、やはり他のデータ(広告、SNS、他計測ツールなど)と統合したレポート作成が欲しくなります。
そこでDB(MySQL)からデータを取得して、レポート作成作成が可能か調べてみました。
目次
Matomo(Piwiki)のテーブル
テーブルはログ系テーブル2個、マスタや設定系が27個ありました。
ログ系テーブルは、年月(YYYY_MM)で増えて行きます。
・matomo_archive_blob_YYYY_MM
・matomo_archive_numeric_YYYY_MM
設定系やマスタ系のテーブルなのでレコード数は多くありません。
・matomo_access
・matomo_brute_force_log
・matomo_goal
・matomo_locks
・matomo_log_action
・matomo_log_conversion
・matomo_log_conversion_item
・matomo_log_link_visit_action
・matomo_log_profiling
・matomo_log_visit
・matomo_logger_message
・matomo_option
・matomo_plugin_setting
・matomo_privacy_logdata_anonymizations
・matomo_report
・matomo_report_subscriptions
・matomo_segment
・matomo_sequence
・matomo_session
・matomo_site
・matomo_site_setting
・matomo_site_url
・matomo_tracking_failure
・matomo_twofactor_recovery_code
・matomo_user
・matomo_user_dashboard
・matomo_user_language
Matomo(Piwiki)のER図
MatomoのDBやテーブルについての資料を見つけることが出来ませんでしたので、そこで手探りでテーブルの関係やデータの紐付けなどを探ったのですが・・・これが「mysql workbench」で作成したER図になります。
小さくて見ずらいのですが、テーブル同士の関係(線)がありません。
ただよく見ると「idsite」「idarchive」など繋げられそうなキー項目はあります。
Matomo(Piwiki)のデータ内容
キー項目を繋げたらデータとして扱えるようになるかと、テーブルの中身を見ると・・・
matomo_archive_blob
matomo_archive_numeric
リレーショナルデータベースではなく、カラム型データベースに近いかたちで格納されていました。
しかもデータ型がBLOG型だったりと、簡単には扱えない部分もありました。
多分name列やidarchive列をキーにどうにか繋げて集計したりすれば、どうにかなるのでしょうが、最近はGoogleAnalytics+データポータルの使い勝手になれてしまって、億劫な作業と感じてしまいました。
まとめ
アクセス解析ツールと割り切って使用する場合は良いですが、DB(MySQL)があるからそこから外部でレポート作成をしようすると一気に敷居が高いなりそうです。