クエリアドバイザー(α)
クエリアドバイザーとは?
クエリアドバイザーは、自然言語でクエリ作成をサポートする機能です。
SQLの知識がなくても、実行したい条件を日本語で入力するだけで、適切なクエリのアドバイスを取得できます。
こんな時に便利です
- SQLの構文がよく分からない
- どのテーブルやカラムを使えばいいのか迷う
- やりたいことは明確だが、クエリが思いつかない
- クエリの叩き台(たたき台)を手早く作りたい
活用の流れ
- クエリ入力欄の左上にある虫眼鏡アイコンをクリック
- 実行したい内容を日本語で入力(例:後述の「活用例」参照)
- 「アドバイスを取得」をクリック
- 提案されたクエリをそのまま実行、または編集して保存
具体的な活用例
以下のように自然な言葉で入力するだけで、目的に応じたクエリが自動で提案されます。
行動履歴
-
2024年3月1日から3月10日までのアクセスログ(日時、URL、ユーザーIDのみ)を抽出したい
→ 指定期間のログを絞り込むことで、特定キャンペーンや障害発生時の状況把握に活用できます。SELECTdt,url,uidFROM`connecty-cdp.<サイト識別子>_default.report_base`WHEREdt BETWEEN TIMESTAMP('2024-03-01') AND TIMESTAMP('2024-03-10') -
IPアドレス「172.16.0.10」で、パスが
/product/detail
で始まるアクセスを抽出
→ 特定のユーザーや社内端末からのアクセスを把握し、不正アクセスや内部利用状況の確認に役立ちます。SELECTdt,uid,ip,pathFROM`connecty-cdp.<サイト識別子>_default.report_base`WHEREip = '172.16.0.10'AND path LIKE '/product/detail%' -
会員ID「MEMBER12345」のアクセス履歴をすべて表示して
→ 個別ユーザーの行動履歴を可視化し、問い合わせ対応やカスタマーサポートに活用できます。SELECT*FROM`connecty-cdp.<サイト識別子>_default.report_base`WHEREmember_id = 'MEMBER12345' -
直近1ヶ月のユニークユーザー数を日別に集計したい
→ サイト訪問者の推移を日単位で確認することで、日次トレンドや訪問者数の変化を把握できます。SELECTDATE(dt) AS log_date,COUNT(DISTINCT uid) AS unique_usersFROM`connecty-cdp.<サイト識別子>_default.report_base`WHEREdt BETWEEN TIMESTAMP(DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH)) AND CURRENT_TIMESTAMP()GROUP BYlog_date -
ここ数週間で特にセッション時間が長かったユーザー上位5名のIDと、その平均セッション時間。
→ 滞在時間が長いユーザーの特徴を把握し、優良顧客の傾向やエンゲージメントの高い行動を分析できます。SELECTreport_base.uid,AVG(report_base.session_stay_seconds) AS average_session_stay_secondsFROM`connecty-cdp.<サイト識別子>_default.report_base` AS report_baseWHEREreport_base.dt BETWEEN TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7*3 DAY) AND CURRENT_TIMESTAMP()GROUP BY1ORDER BYaverage_session_stay_seconds DESCLIMIT 5
サーチコンソール
-
2023年の平均掲載順位が10位以内だった検索クエリだけ抽出して
→ 上位表示されていたキーワードを把握し、SEO強化の優先度決定に役立てます。SELECTqueryFROM`connecty-cdp.searchconsole_<サイト識別子>.searchdata_url_impression`WHEREdata_date BETWEEN '2023-01-01' AND '2023-12-31'GROUP BY1HAVINGAVG(sum_position) <= 10 -
検索クエリが「BigQuery SQL 関数」のデータを 2024年2月分表示して
→ 特定のキーワードに関する検索状況を時期別に確認し、検索トレンドやニーズの変化を分析できます。SELECTdata_date,site_url,url,query,impressions,clicks,sum_positionFROM`connecty-cdp.searchconsole_<サイト識別子>.searchdata_url_impression`WHERE query = 'BigQuery SQL 関数'AND data_date BETWEEN '2024-02-01' AND '2024-02-29' -
特定ページ(例:https://example.com/blog/sql-tips)への検索流入キーワードを出して
→ ページ別に流入元となっている検索ワードを確認し、ページ改善や拡張の方向性に活用可能です。SELECTsearchdata_url_impression.queryFROM`connecty-cdp.searchconsole_<サイト識別子>.searchdata_url_impression` AS searchdata_url_impressionWHEREsearchdata_url_impression.url = 'https://example.com/blog/sql-tips' -
デバイスが「MOBILE」のクリック数が多い順(上位10件)の検索クエリを今年分表示して
→ モバイルユーザーの検索傾向を掴むことで、デバイス別のSEO対策や表示コンテンツの最適化に役立ちます。SELECTquery,SUM(clicks) AS total_clicksFROM`connecty-cdp.searchconsole_<サイト識別子>.searchdata_url_impression`WHEREdevice = 'MOBILE'AND data_date BETWEEN DATE_TRUNC(CURRENT_DATE(), YEAR) AND CURRENT_DATE()GROUP BYqueryORDER BYtotal_clicks DESCLIMIT 10 -
検索クエリに「ユーザー分析」を含むデータを直近1ヶ月分見せて
→ 特定のテーマや施策に対する検索関心を把握し、コンテンツ強化やキャンペーン評価に活かせます。SELECTdata_date,site_url,url,query,impressions,clicks,sum_positionFROM`connecty-cdp.searchconsole_<サイト識別子>.searchdata_url_impression`WHERE query LIKE '%ユーザー分析%'AND data_date BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH) AND CURRENT_DATE()
GA
-
GAの全期間で
login
イベントが発生したデータを抽出
→ サインイン動向を確認することで、アクティブユーザーやエンゲージメントの変化を把握できます。SELECTevent_date,user_id,event_name,event_paramsFROM`connecty-cdp.analytics_<GAプロパティID>.events_*`WHERE event_name = 'login' -
user_properties.key
が'user_tier'
でvalue
が'premium'
のユーザーに関連するイベントを抽出
→ プレミアムユーザーの行動傾向を分析し、セグメント別の最適なコミュニケーション施策に活用できます。SELECT*FROM`connecty-cdp.analytics_<GAプロパティID>.events_*` AS T,UNNEST(user_properties) AS user_propertiesWHERE user_properties.key = 'user_tier'AND user_properties.value.string_value = 'premium' -
ちょうど半年前の同じ曜日に、特定のキャンペーンページ(utm_campaign=special)から流入したセッションの開始タイムスタンプ(マイクロ秒)
→ 同一曜日・同一キャンペーンの流入タイミングを比較分析することで、配信日の傾向把握や再施策時の参考情報として活用できます。SELECTevent_timestampFROM`connecty-cdp.analytics_<GAプロパティID>.events_*` AS T,UNNEST(T.event_params) AS paramsWHEREparams.key = 'page_location'AND params.value.string_value LIKE '%utm_campaign=special%'AND EXTRACT(DAYOFWEEK FROM TIMESTAMP_MICROS(event_timestamp)) = EXTRACT(DAYOFWEEK FROM DATE_SUB(CURRENT_DATE(), INTERVAL 182 DAY))AND TIMESTAMP_MICROS(event_timestamp) BETWEEN TIMESTAMP_TRUNC(TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 182 DAY), DAY) AND TIMESTAMP_TRUNC(TIMESTAMP_ADD(TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 182 DAY), INTERVAL 1 DAY), DAY) -
GAで
event_name
がlogin
のイベントを先月分で抽出したい
→ イベントの発生タイミングと量を月次で比較・モニタリングすることで、ログイン促進施策の効果検証が行えます。SELECT*FROM`connecty-cdp.analytics_<GAプロパティID>.events_*` AS TWHERE T.event_name = 'login'AND FORMAT_TIMESTAMP('%Y%m', TIMESTAMP_MICROS(event_timestamp)) = '202503' -
GA ID xxxxxxxx のデータについて、昨日の午後3時から午後5時までのpage_viewイベントを抽出して。
→ 特定の時間帯におけるページ閲覧の動向を確認することで、施策直後の反応分析や障害発生時の影響把握、時間帯別のコンテンツ最適化などに活用できます。SELECTevent_date,event_timestamp,user_pseudo_id,event_nameFROM`connecty-cdp.analytics_<GAプロパティID>.events_*` AS T,UNNEST(event_params) AS paramsWHEREevent_name = 'page_view'AND _TABLE_SUFFIX = FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY))AND CAST(event_timestamp as STRING) BETWEEN FORMAT_TIMESTAMP('%Y%m%d%H%M%S', TIMESTAMP_SUB(TIMESTAMP(CURRENT_DATE()), INTERVAL 15 HOUR)) AND FORMAT_TIMESTAMP('%Y%m%d%H%M%S', TIMESTAMP_SUB(TIMESTAMP(CURRENT_DATE()), INTERVAL 13 HOUR))
イベント
-
2024年2月中に「商品詳細閲覧」→「カート追加」→「購入完了」の順にイベントが発生したユーザーを抽出して → コンバージョンファネルの通過率を見て、ボトルネックの特定に利用可能です
WITH purchase_users AS (SELECTuser_pseudo_idFROM`connecty-cdp.analytics_<GAプロパティID>.events_*`WHEREevent_name = 'purchase'AND _TABLE_SUFFIX BETWEEN '20240201' AND '20240229'), add_to_cart_users AS (SELECTuser_pseudo_idFROM`connecty-cdp.analytics_<GAプロパティID>.events_*`WHEREevent_name = 'add_to_cart'AND _TABLE_SUFFIX BETWEEN '20240201' AND '20240229'), product_view_users AS (SELECTuser_pseudo_idFROM`connecty-cdp.analytics_<GAプロパティID>.events_*`WHEREevent_name = 'view_item'AND _TABLE_SUFFIX BETWEEN '20240201' AND '20240229')SELECT DISTINCTp.user_pseudo_idFROMpurchase_users AS pJOINadd_to_cart_users AS a ON p.user_pseudo_id = a.user_pseudo_idJOINproduct_view_users AS v ON p.user_pseudo_id = v.user_pseudo_id -
イベントデータ(
data
列)に格納されている『評価点』(rating
キーと仮定)を集計して、平均評価点を出して
→ イベントに紐づく詳細情報からスコアや評価を抽出し、サービス満足度や利用評価の分析が可能です。SELECTAVG(SAFE_CAST(JSON_EXTRACT_SCALAR(data, '$.rating') AS FLOAT64)) AS average_ratingFROM`connecty-cdp.<サイト識別子>_default.events`WHEREJSON_EXTRACT_SCALAR(data, '$.rating') IS NOT NULL -
特定のイベントに紐づくユーザーIDごとの件数を抽出して
→ イベントの頻度や繰り返し発生の有無を確認し、リテンションや利用状況の把握に役立ちます。SELECTuid,count(name) AS event_countFROM`connecty-cdp.<サイト識別子>_default.events`GROUP BY1 -
直近7日間で発生したイベントを日付ごとに一覧で確認したい
→ 直近の動向や急な変化を把握するために、日次のモニタリングが可能になります。SELECTDATE(dt) AS event_date,name AS event_name,COUNT(*) AS event_countFROM`connecty-cdp.<サイト識別子>_default.events`WHEREdt BETWEEN TIMESTAMP(DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)) AND CURRENT_TIMESTAMP()GROUP BY1, 2ORDER BYevent_date,event_count DESC -
特定イベント名(例:
form_submit
)の発生ユーザーとその発生回数を知りたい
→ 特定の行動をとったユーザーを特定し、リーチやアクション率の分析に活用できます。SELECTuid,COUNT(name) AS event_countFROM`connecty-cdp.<サイト識別子>_default.events`WHEREname = 'form_submit'GROUP BYuid
ポップアップ
-
ポップアップID「popup-id」の表示数、クリック数、クリック率を知りたい
→ 各ポップアップの効果を数値で可視化することで、表示条件や内容の改善に役立てることができます。SELECTJSON_EXTRACT_SCALAR(data, '$.id') AS popup_id,COUNTIF(name = 'popup-imp') AS popup_impressions,COUNTIF(name = 'popup-click') AS popup_clicks,SAFE_DIVIDE(COUNTIF(name = 'popup-click'),NULLIF(COUNTIF(name = 'popup-imp'), 0)) AS click_rateFROM`connecty-cdp.<サイト識別子>_default.events`WHEREname IN ('popup-imp', 'popup-click')AND JSON_EXTRACT_SCALAR(data, '$.id') = 'popup-id'GROUP BYpopup_id -
過去30日間で一度もクリックされていないポップアップを抽出したい
→ 効果の低い施策を早期に見直すための指標になります。SELECT DISTINCT JSON_EXTRACT_SCALAR(t1.data, '$.id') AS popup_idFROM`connecty-cdp.<サイト識別子>_default.events` AS t1LEFT OUTER JOIN `connecty-cdp.<サイト識別子>_default.events` AS t2ON JSON_EXTRACT_SCALAR(t1.data, '$.id') = JSON_EXTRACT_SCALAR(t2.data, '$.id')AND t2.name = 'popup-click'WHERE t1.name = 'popup-imp'AND t1.dt BETWEEN TIMESTAMP(DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY)) AND CURRENT_TIMESTAMP()AND t2.name IS NULL -
「ポップアップ名」のポップアップをクリックしたユーザーが、クリック後に最初にアクセスしたページのURLを知りたい
→ クリック後の動線を把握することで、ユーザーの関心や導線設計の評価が可能になります。WITH PopupClicks AS (SELECTuid,dt,JSON_EXTRACT_SCALAR(data, '$.popup_name') AS popup_name,ROW_NUMBER() OVER (PARTITION BY uid ORDER BY dt) AS click_rankFROM`connecty-cdp.<サイト識別子>_default.events`WHEREname = 'popup-click'AND JSON_EXTRACT_SCALAR(data, '$.popup_name') = '「ポップアップ名」'),FirstPageViewsAfterClick AS (SELECTt1.uid,t1.url,ROW_NUMBER() OVER (PARTITION BY t1.uid ORDER BY t1.dt) AS pageview_rankFROM`connecty-cdp.<サイト識別子>_default.report_base` AS t1INNER JOINPopupClicks AS t2 ON t1.uid = t2.uidWHEREt1.dt > t2.dt)SELECTt1.uid,t1.urlFROMFirstPageViewsAfterClick AS t1WHEREt1.pageview_rank = 1 -
直近7日間のポップアップID「popup-id」の概要データを取得したい
→ 特定期間における表示回数や反応率を確認し、直近施策の効果測定に活用できます。SELECTJSON_EXTRACT_SCALAR(data, '$.id') AS popup_id,COUNTIF(name = 'popup-imp') AS popup_impressions,COUNTIF(name = 'popup-close') AS popup_closes,COUNTIF(name = 'popup-click') AS popup_clicks,SAFE_DIVIDE(COUNTIF(name = 'popup-click'),NULLIF(COUNTIF(name = 'popup-imp'), 0)) AS click_rate,MIN(dt) AS first_popup_dt,MAX(dt) AS last_popup_dtFROM`connecty-cdp.<サイト識別子>_default.events`WHEREname IN ('popup-imp','popup-close','popup-click')AND dt BETWEEN TIMESTAMP(DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY))AND CURRENT_TIMESTAMP()AND JSON_EXTRACT_SCALAR(data, '$.id') = 'popup-id'GROUP BYpopup_id -
ポップアップが最も表示された時間帯を知りたい
→ 表示傾向から、配信タイミングの最適化に役立てられます。SELECTEXTRACT(HOUR FROM dt) AS hour,COUNT(*) AS popup_countFROM`connecty-cdp.<サイト識別子>_default.events`WHEREname = 'popup-imp'GROUP BYhourORDER BYpopup_count DESCLIMIT 1
コンテンツ出し分け
-
コンテンツID「content_id」の表示回数と期間を教えて
→ 限定コンテンツやセグメント別施策の効果を把握することで、出し分け設計の最適化に役立ちます。SELECTJSON_EXTRACT_SCALAR(data, '$.id') AS content_id,COUNT(*) AS display_count,MIN(dt) AS first_display,MAX(dt) AS last_displayFROM`connecty-cdp.<サイト識別子>_default.events`WHEREname = 'content-imp'AND JSON_EXTRACT_SCALAR(data, '$.id') = 'content_id'GROUP BYcontent_id -
2023年Q4(10月〜12月)のコンテンツID「campaign-banner-A」の表示概要を知りたい
→ 特定期間に実施したキャンペーン施策の閲覧状況を振り返ることで、過去施策の評価や比較に活用できます。SELECTJSON_EXTRACT_SCALAR(data, '$.id') AS content_id,COUNT(*) AS display_count,MIN(dt) AS first_display,MAX(dt) AS last_displayFROM`connecty-cdp.<サイト識別子>_default.events`WHEREname = 'content-imp'AND JSON_EXTRACT_SCALAR(data, '$.id') = 'campaign-banner-A'AND dt BETWEEN TIMESTAMP('2023-10-01') AND TIMESTAMP('2023-12-31')GROUP BYcontent_id -
コンテンツ出し分けの全体概要を教えて
→ 各コンテンツの表示状況を一覧で確認し、施策ごとのパフォーマンスを俯瞰できます。SELECTJSON_EXTRACT_SCALAR(data, '$.id') AS content_id,COUNT(*) AS display_count,MIN(dt) AS first_display,MAX(dt) AS last_displayFROM`connecty-cdp.<サイト識別子>_default.events`WHEREname = 'content-imp'GROUP BYcontent_id -
直近1ヶ月のコンテンツ出し分けの状況(表示回数や期間)を知りたい
→ 最近の動きやトレンドを把握することで、今後の出し分け戦略を見直す参考になります。SELECTJSON_EXTRACT_SCALAR(data, '$.id') AS content_id,COUNT(*) AS display_count,MIN(dt) AS first_display,MAX(dt) AS last_displayFROM`connecty-cdp.<サイト識別子>_default.events`WHEREname = 'content-imp'AND dt BETWEEN TIMESTAMP(DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH)) AND CURRENT_TIMESTAMP()GROUP BYcontent_id -
コンテンツID「content_id」の表示回数と、いつからいつまで表示されたかを教えて
→ 配信タイミングや期間の管理を通じて、表示ロジックや出し分け条件の見直しにつなげられます。SELECTJSON_EXTRACT_SCALAR(data, '$.id') AS content_id,COUNT(*) AS display_count,MIN(dt) AS first_display,MAX(dt) AS last_displayFROM`connecty-cdp.<サイト識別子>_default.events`WHEREname = 'content-imp'AND JSON_EXTRACT_SCALAR(data, '$.id') = 'content_id'GROUP BYcontent_id
アンケート
-
『サービス改善』というタイトルのアンケートに回答したユーザーのuidを教えて
→ 特定テーマに関心を持ったユーザーを抽出することで、対象を絞ったフォローや分析に役立ちます。SELECT DISTINCTuidFROM`connecty-cdp.<サイト識別子>_default.events`WHEREname = 'anket-answer'AND JSON_EXTRACT_SCALAR(data, '$.answers[0].title') LIKE '%サービス改善%' -
アンケートの2番目の質問に対して『たまに』と回答したユーザーを教えて
→ 質問単位での集計・比較が可能になり、ユーザーの傾向をより詳細に把握できます。SELECT DISTINCTuidFROM`connecty-cdp.<サイト識別子>_default.events`WHEREname = 'anket-answer'AND JSON_EXTRACT_SCALAR(data, '$.answers[1].value') = 'たまに' -
回答に『簡単』という言葉が含まれるアンケートに答えたユーザー一覧
→ 自由回答の傾向を分析し、ユーザーの本音や課題を探るヒントになります。SELECT DISTINCTuidFROM`connecty-cdp.<サイト識別子>_default.events`WHEREname = 'anket-answer'AND JSON_EXTRACT(data, '$') LIKE '%簡単%' -
直近3ヶ月で、回答に『価格』が含まれるアンケートに答えたユーザーリスト
→ 最近の関心ワードやトレンドを把握することで、マーケティング施策に活かせます。SELECT DISTINCTuidFROM`connecty-cdp.<サイト識別子>_default.events`WHEREname = 'anket-answer'AND JSON_EXTRACT(data, '$') LIKE '%価格%'AND dt BETWEEN TIMESTAMP(DATE_SUB(CURRENT_DATE(), INTERVAL 3 MONTH)) AND CURRENT_TIMESTAMP() -
アンケートID ‘anket_id’ に回答したが、『満足』とは答えなかったユーザーのリスト
→ 離反リスクのあるユーザーを特定し、個別対応や改善アクションにつなげることが可能です。SELECT DISTINCTuidFROM`connecty-cdp.<サイト識別子>_default.events`WHEREname = 'anket-answer'AND JSON_EXTRACT_SCALAR(data, '$.id') = 'anket_id'AND JSON_EXTRACT(data, '$') NOT LIKE '%満足%'
よくある質問
Q. クエリの内容はすべて正確ですか?
A. 自然言語の表現により差異が生じる場合があります。提案されたクエリは内容を確認の上、ご自身で編集することをおすすめします。
Q. 利用回数や制限はありますか?
A. アドバイスの取得回数には月ごとの上限があります。詳細はマニュアルページをご確認ください。