エクスチュア株式会社ブログホームエクスチュア株式会社コーポレートサイトお問い合わせエクスチュア総合研究所ブログへのリクエストエクスチュア株式会社ブログマーケティングテクノロジーの情報やノウハウ・TIPS、エクスチュア社の情報を発信。【ブログネタ募集】ご興味のある分野を教えてください!ご要望の内容を記事に起こします!メニューの「ブログへの」リクエストよりお送りください。BigQueryのSIGN関数を使った小ワザこんにちは、エクスチュアの権泳東/コン・ヨンドン(@exturekwon)です。BigQuery用の小ワザです。トラフィック変数にCVを紐付けるセグメントを作るこれらはいずれもSIGN関数の使い方を覚えると簡単にSQLを書けます。Cloud使い方を以下のケースで説明します。トラフィック変数にCVを紐付けるpropなどのトラフィック変数で計測してる値をeVarみたいに最後の値にCVを紐付けたいけど、今からAA実装直したんじゃ遅い!という事が人生で何度かおきました。私が過去にやった例だと、s.channelの値をeVarに入れ忘れ(以下略)トラフィック変数に対するCV紐付け方法として、パーティシペーション指標を使う方法があります。これを使えばセッションまたはレポート期間中において発生したすべてのprop値にCVが紐付きます。propに対して「最初の値」か「最後の値」にCVを紐付けたい場合はパーティシペーションは有効ではありません。同一セッション内でコンバージョンイベントが発生したよりも前のヒットを絞り込みます。SIGN関数を使って同一セッションのヒットに「1」というフラグを立てて行きます。ROWを使う事で、CVが発生したヒットよりも前のヒットに対してパーティションを作成してます。それらの行にSIGN関数でCVの合計数を渡すことで、CVが1件以上あれば「1」を、CVがなければ「0」を返します。t2においてセッション内のヒットをDESCで降順にソートして、行番号であるrownumberカラムを生成します。最後のクエリでrownumberが「1」の値(=CVより前にヒットした最後のs.channelの値)に対して、CV数が出てくるという仕組みです。「最後の値」と同じです。t2においてセッション内のヒットを昇順ソートしているのが違いです。※分かりやすくするためにASCを明示的に入れてますが、なくてもOKです。最後のクエリでrownumberが「1」の値(=CVより前にヒットした最初のs.channelの値)に対して、CV数が出てくるという仕組みです。セグメントを作る条件に一致したヒット・訪問・訪問者別にコンテナを作成し、該当するデータだけにフォーカスするのがAdobeAnalyticsにおける「セグメント」です。SIGN関数を使えば、条件に一致するヒット・訪問・訪問者に対してフラグを簡単に立てられます。「弊社ブログTOPページを表示した訪問」というセグメントを定義して、セグメントに一致するトラフィックを集計するならばこう書けます。これによって、条件に一致した訪問の「最初から最後まで」の行が対象になります。行だけを抽出すれば、セグメントに一致したデータを抽出出来ます。ROWという書き方でスコープを狭める事が出来ます。まとめSIGN関数を使って「該当するセッション内のヒットにフラグを立てる」手法はAdobeAnalyticsの「セグメント」を再現する時に私は頻繁に使ってます。PropertyのデータをBigQueryで分析する時にも使えるので、使い方を覚えておきましょう。Cloud認定データエンジニア資格とAdobe認定エキスパート資格を保持した技術者達によるデータ分析基盤構築業務を承っております。お問い合わせはこちらからどうぞ。Webサイト内で発生したJavascriptエラーの内容をAdob...こんにちは、エクスチュアCTOの権です。360のネストされたデータをフラット変換するS...こんにちは、エクスチュアCTOの権です。Analytics:計算指標でevents変数を後付けでパーティシペーションにするこんにちは。Engine解説こんにちは、エクスチュア渡部です。StandardのデータをBigQueryで分析するための力技こんにちは、エクスチュアの権です。