Firebase Analyticsのカスタムイベントのデータを今月,先月で絞ってredashで見る
Firebaseでイベントをログに記録したものをRedashで表示したくなり、一応できたのでメモ。
Firebase の BigQuery Exportの機能を使い、アナリティクスのデータとアプリのデータの統合を行うことができます。
詳しいFirebaseのデータをBigQueryに入れる方法はこちらのBigQuery を Firebase にリンクするから確認してください。
RedashでBigQueryをデータソースに追加するにはこちらのBigQuery Setup
をご確認ください。
Firebaseのデータソースが選択できるようになると、下記のような日付ごとに作成されたイベントデータが確認できると思います。
詳しくは下記を参考にしてください。
BigQuery Export のスキーマ
それに対してクエリを書いていきますが、如何せんBigQueryも書いたことがなかったため、日付ごとのテーブルとは、unionしまくるのか?
と思ったけど、BigQueryにはワイルドカード テーブルという機能がありそれを用いれば今月、先月のデータが出せるということがわかりました。
(ワイルドカード テーブルを使用した複数テーブルに対するクエリ)
例えば、今月のhoge
イベントのカスタムパラメータを取得したい場合は、
-- 今月のPVデータ
SELECT JSON_EXTRACT(TO_JSON_STRING(event_params, TRUE), '$[3].value.string_value') AS hoge,
count(*) AS PV
FROM `analytics_xxxxxxxx.events_*`
WHERE
_TABLE_SUFFIX > CONCAT(FORMAT_DATE("%Y%m",(DATE_TRUNC(CURRENT_DATE('Asia/Tokyo'), MONTH))), "01")
AND event_name='my_custom_event'
GROUP BY JSON_EXTRACT(TO_JSON_STRING(event_params, TRUE), '$[3].value.string_value')
このようにすれば今月の1日以降のテーブルを対象に、イベントを取得することができます。
カスタムイベントのパラメータはevent_params
カラムにJSONで入っているのでJSON_EXTRACT
にて取得することができます。
先月も同じ要領です。
-- 先月のPVデータ
SELECT JSON_EXTRACT(TO_JSON_STRING(event_params, TRUE), '$[3].value.string_value') AS hoge,
count(*) AS PV
FROM `analytics_xxxxxxxx.events_*`
WHERE _TABLE_SUFFIX > CONCAT(FORMAT_DATE("%Y%m",DATE_SUB(DATE_TRUNC(CURRENT_DATE('Asia/Tokyo'), MONTH), INTERVAL 1 DAY)), "01")
AND _TABLE_SUFFIX < CONCAT(FORMAT_DATE("%Y%m",(DATE_TRUNC(CURRENT_DATE('Asia/Tokyo'), MONTH))), "01")
AND event_name='my_custom_event'
GROUP BY JSON_EXTRACT(TO_JSON_STRING(event_params, TRUE), '$[3].value.string_value')
ワイルドカード テーブルには一定ルール的なのがあるのですが、こちらのドキュメントを読むと理解できます。
あとはRedashのクエリリザルトを使って、アプリのデータと結びつけることでFirebaseのイベントデータと、アプリのデータを紐づけることができ、
具体的なデータの分析を行うことができます。
めでたしめでたし。
Author And Source
この問題について(Firebase Analyticsのカスタムイベントのデータを今月,先月で絞ってredashで見る), 我々は、より多くの情報をここで見つけました https://qiita.com/hand-dot/items/480c37232646f8024f9f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .