FibaseとTableauを連携させる&大きなテーブルでVIZを作る際のViewを使った小技
FirebaseをTableauで可視化するには
- Fiebaseを有料プランでやる必要がある
- 出力はBigQueryになるので、Firebase→BigQueryでローデータを吐き出す
- BigQueryに対してTableauで可視化する!
となります。
FirebaseをBigQueryに出力する方法は、他の記事 におまかせします。
TableauとFirebase(BigQuery)の連携
Tableauを立ち上げ、スタートページから サーバーへ→Google BigQueryを選択して接続します。
BigQueryのブラウザ認証が走るので、対象となるアカウントで認証して、アクセス許可をしてください
こちらのメッセージが出ればOK。ブラウザを閉じて、Tableauへ
対象となるFirebaseのテーブルをドラッグ&ドロップします
※ここではまだエラーにはならない
Unexpected Error
Google BigQuery サービスがクエリをコンパイルできませんでした。
エラー コード: 015CFBE6
Cannot access field key on a value with type ARRAY<STRUCT<key STRING, value STRUCT<string_value STRING, int_value INT64, float_value FLOAT64, ...>>> at [38:27]
このようなエラーが出て、閲覧ができません。
これは、Firebaseのカラムの中に、構造体が入っているので、そちらをUNNESTしてフラット化して上げる必要があります。
SELECT
event_date,
event_timestamp,
event_name,
event_param.key AS event_param_key,
event_param.value.string_value AS event_param_string_value,
event_param.value.int_value AS event_param_int_value,
user_id,
user_pseudo_id
FROM
`(Dataset).firebase.events`,
UNNEST(event_params) AS event_param
LIMIT
1000
もしくは
SELECT
event_date,
event_name,
(SELECT value.string_value FROM UNNEST(event_params) WHERE key = "page_location") AS page_location
FROM
`(Dataset).firebase.events`
このどちらかでFlat化するのが良さそう
下のSQLで Where区をいれないと、複数の値があると怒られます
`sql
SELECT value.string_value FROM UNNEST(event_params) AS property
これでVIZをつくります。
VIEWの中にLIMIT句をいれていますが、データソースが非常に大きいときは、VIEWの中にLIMIT句を入れ、VIZを作り
本番運用の際には、VIEWの中からLIMIT句をはずすとVIZを作るのにストレスがなくていいです!
(自動更新を止めたりする必要がない)
Author And Source
この問題について(FibaseとTableauを連携させる&大きなテーブルでVIZを作る際のViewを使った小技), 我々は、より多くの情報をここで見つけました https://qiita.com/tashiro_gaku/items/1760cdf09e4b98625581著者帰属:元の著者の情報は、元の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 .