GoogleアナリティクスとGoogleBigQueryをリンクし、特定のGitHubPagesに対してのイベント情報を取得するフローを作成します。
フローの詳細
event情報取得フロー(メインフロー)
SubFlow_event情報(サブフロー)
このフローにより、イベント情報を取得します。
event情報取得フロー(メインフロー)
GoogleBigQueryGetコンポーネント
・SQLビルダーを開き、対象のeventsテーブルからイベント情報、デバイス情報、地域情報を取得
「基本」設定
・コネクション名:GBQConn 対象のコネクション名を選択
・SQL文:SQLビルダーにより、反映される
・ループを開始:はい
・その他のプロパティはデフォルトのままでOkです。
※SQL文について、device.operationg_system、geo.city等のように階層構造のデータを取得するには””ダブルクオーテーションで囲む必要がある
※events_20250206テーブルのevents情報をループで取得
このテーブルではGitHubPagesに対しての2025/02/06に発生するevent情報が含まれている

Mapperコンポーネント
・直前コンポーネントで取得したデータをフロー変数、SubFlowコンポーネントへマッピングする
・event_paramsはJSONオブジェクトの配列になっている
SubFlowコンポーネント
・「SubFlow_event情報」フローを呼び出す
・ストリーム型をTextに設定する
Mapperコンポーネント
・SubFlowからの「戻り値」(page_locationの値)をマッピングする
・各フロー変数を直後のコンポーネントのストリームフィールドへマッピングする
LoopEndコンポーネント
・ループ開始コンポーネントに「GoogleBigQueryGet」を設定する
・出力形態に「ストリームをまとめ」を設定
FilePutコンポーネント
・LoopEndからまとめて出力されたevent情報を出力する
***************************
SubFlow_event情報(サブフロー)
このSubFlowはevent_paramsに格納された、階層構造化の配列JSONオブジェクトの中から、”page_location”値を取得する目的です。
event_paramsの階層構造、格納される値を以下画像をご参考ください。


Startコンポーネント
・SubFlowコンポーネントから出力された「event_params」情報を取得
・ストリーム型を「Text」に設定する
JSONDecodeコンポーネント
・入力されたJSON文字列をXMLに変換する
・「基本」設定のJSON種別に「配列」を選択する
・配列を設定すると「JSONDecodeコンポーネント」がループの起点となる
※GoogleBigQueryから取得したevent_paramsはJSONオブジェクトの配列になっているため
・ストリームの「フィールド」設定は入力された「JSON形式」に対応する階層構造を設定する
Mapperコンポーネント
・フロー変数のevent_param_nameにマッピングする
BranchStartコンポーネント
・event_param_nameの値が”page_location”の場合だけ、値を取得
・条件式:$flow.event_param_name='page_location'
XPathNodesetコンポーネント
・XMLデータから必要な部分を取得する
・XPath式:/v/f[v="page_location"]/following-sibling::f[1]/v[not(@isNull)]
Breakコンポーネント
・pate_locationの値が取得した後、SubFlowを終了し、メインフローへ戻る
・出力指定に「ブルー時の出力」を設定する
***********************
実行結果
https://example.github.io/abc_ex/ページの2025年02月06日のevent情報が取得できる