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

使用SQL(BigQuery)对转化率列创建分桶仅返回单行问题排查

问题根因
  • 你编写的CASE判断逻辑仅覆盖了30 < 转化率 ≤50的区间,所有转化率≤30、转化率>50的数据都会被ELSE分支统一归类到>50桶中。如果你的Dataset_2中所有转化率都落在≤30或者>50的区间,GROUP BY后自然只会返回>50这一行结果。
  • 额外问题:现有查询仅返回分桶名称,没有配套聚合统计逻辑,即使存在多个分桶也无法直观看到每个桶的样本数量。
修正方案
  1. 补全CASE判断的区间分支,覆盖所有可能的转化率取值范围
  2. 增加COUNT(*)聚合函数统计每个分桶的样本数,验证分桶结果合理性

修正后的SQL代码如下:

SELECT
  buckets,
  COUNT(*) AS sample_count -- 统计每个桶的样本数量
FROM (
  SELECT
    Conversion__,
    CASE
      WHEN Conversion__ <= 30 THEN '0-30' -- 补充低于30的区间
      WHEN Conversion__ > 30 AND Conversion__ <=40 THEN '31-40'
      WHEN Conversion__ > 40 AND Conversion__ <=50 THEN '41-50'
      ELSE '>50'
    END AS buckets
  FROM
    data_2
) t2
GROUP BY
  buckets
ORDER BY buckets -- 按分桶顺序排序方便查看

如果运行修正后的代码还是只有>50或其他单个桶返回,可直接查询原表的转化率取值范围验证数据分布:

SELECT MIN(Conversion__) AS min_cvr, MAX(Conversion__) AS max_cvr FROM data_2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 21:57:03