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

如何在BigQuery中筛选不含指定文本的page_location数据

BigQuery 精准筛选page_location参数不含指定文本的解决方案

你之前的问题出在没精准定位到page_location这个参数就做过滤,导致把其他参数(比如page_referrer)的内容也纳入了判断逻辑。下面给两种实用的解决方法:

方法1:用EXISTS子查询(推荐,避免行重复)

这种方法会检查每一行数据里是否存在符合条件的page_location参数,既不会展开数据导致重复,又能精准筛选:

SELECT *
FROM `你的项目ID.你的数据集ID.你的表名`
WHERE EXISTS (
  SELECT 1
  FROM UNNEST(event_params) AS params
  WHERE params.key = 'page_location'
    AND NOT params.value.string_value LIKE '%/text/%'
)

逻辑说明:

  • UNNEST(event_params)把数组类型的event_params展开成单行的参数记录
  • 先筛选出key为page_location的参数,再判断它的string_value不包含指定文本
  • EXISTS确保只要当前原始行里存在符合条件的参数,就保留该行

方法2:展开参数后筛选(适合需要单独处理参数的场景)

如果需要把page_location的值单独提取出来展示,可以用这种方式,注意最后要去重或者分组避免重复行:

SELECT DISTINCT t.*, params.value.string_value AS page_location
FROM `你的项目ID.你的数据集ID.你的表名` t,
UNNEST(t.event_params) AS params
WHERE params.key = 'page_location'
  AND NOT params.value.string_value LIKE '%/text/%'

逻辑说明:

  • 展开event_params后,先筛选出page_location参数,再过滤掉包含指定文本的记录
  • 用DISTINCT或者GROUP BY确保原始行不会因为展开参数而重复

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 13:31:05