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

Google BigQuery创建透视表遇类型不匹配错误求助

解决BigQuery透视表PIVOT类型不匹配错误

错误原因

你写的PIVOT语句里,IN列表里的项用了[1]这种数组格式,但BigQuery要求IN中的值必须和FOR子句指定的cohort_index字段类型(INT64)完全一致,数组类型和INT64不兼容,所以触发了这个错误。

修正后的SQL代码

把IN列表里所有的[数字]改成纯数字即可,修正后的代码如下:

--- Pivot data to see the cohort table.
SELECT *
 FROM   (
    SELECT DISTINCT
        emailAddress,
        Cohort_Date,
        cohort_index
    FROM `nexgen-362616.orders.cohort_retention`  
)tbl
pivot(
    Count(emailAddress)
    for cohort_index in
            (
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10,
        11,
        12,
        14,
        15,
        16,
        17,
        18,
        19,
        20,
        21,
        22,
        23,
        24,
        25,
        26,
        27,
        28,
        29,
        30,
        31,
        32,
        33,
        34,
        35,
        36,
        37,
        38,
        39
    )
) as pivot_table

补充说明

从你的表结构可以看到cohort_index是INTEGER类型(对应BigQuery的INT64),所以直接在IN列表里写整数数值就符合类型要求,不需要额外做类型转换。执行修正后的代码就能生成你需要的同期群透视表了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 01:31:00