Big Query中使用dplyr替换SQL查询出现运算符匹配错误如何解决
问题根因
- 类型不匹配:BigQuery要求DATE类型只能和整数做减法,你的代码里
today()-30的30在R中默认是浮点型,dplyr转译SQL时会识别为FLOAT64,不符合BigQuery的语法要求,触发报错。 - 字段不全:你原来的SQL查询了date、dimension2等共8个字段,你写的dplyr代码只选了2个字段,和原逻辑不一致。
修复方案
把today()-30替换为today() - days(30)(需加载lubridate包)或者today() - as.integer(30),同时补全需要查询的字段即可:
bq_cid_sessions <- select( bq_tbl_ga_cid_sessions , date, dimension2, landingPagePath, source, medium, campaign, keyword, adContent ) %>% filter(date >= today() - days(30)) %>% collect()
内容的提问来源于stack exchange,提问作者Андрей Буланкин
相关产品推荐
相关产品推荐

