You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在BigQuery中Unnest多参数并分别展示page_location与page_title

BigQuery 拆分事件参数并分开展示page_location与page_title

你当前的SQL通过UNNEST(event_params)拆分参数后,仅筛选出page_title和page_location但未标注参数类型,导致无法区分每行对应的值是页面标题还是地址,看起来像是“随机显示”。要让这两个参数分开展示在单独行中且清晰区分,可按以下方式修改:

方案1:分开展示为单独行(带参数类型标识)

SELECT
  event_date,
  user_pseudo_id,
  key AS param_type,
  value.string_value AS param_value
FROM
  `mydata.events20220909*`,
  UNNEST(event_params)
WHERE
  key IN ("page_title", "page_location")
  • 新增param_type字段,明确每行对应的是页面标题还是地址,解决“无法区分值类型”的问题
  • 使用IN替代OR,条件写法更简洁
  • 执行后,每个事件中的page_title和page_location会各自生成一行,同时保留关联的event_date和user_pseudo_id

方案2:分开展示为单独列(同一事件同一行)

如果你的实际需求是将两个参数放在同一行的不同列中(而非单独行),可以用条件聚合实现:

SELECT
  event_date,
  user_pseudo_id,
  MAX(IF(key = "page_title", value.string_value, NULL)) AS page_title,
  MAX(IF(key = "page_location", value.string_value, NULL)) AS page_location
FROM
  `mydata.events20220909*`,
  UNNEST(event_params)
WHERE
  key IN ("page_title", "page_location")
GROUP BY
  event_date, user_pseudo_id
  • 利用MAX(IF(...))的聚合逻辑,将同一事件的两个参数分别提取到独立列中
  • 按event_date和user_pseudo_id分组,确保同一事件的信息聚合在一行

内容的提问来源于stack exchange,提问作者wh4tif

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 21:50:28