如何解决BigQuery SQL函数无法正常运行
我对maxif和sumif等功能有疑问。当我尝试在项目中使用它们中的任何一个时,控制台将返回“找不到函数:sumif / maxif;您是说总和/最大值吗?'
奇怪的是,因为countif函数工作得很好,并且BigQuery文档中同时描述了maxif和sumif,所以我有点担心如何处理它们才能正确运行代码。
下面是我的代码的一部分,任何建议都将受到欢迎:
SELECT
DISTINCT *,COUNTIF(status ='completed') OVER (PARTITION BY id ORDER BY created_at) cpp,--this works
sumif(value,status='completed') OVER (PARTITION BY id ORDER BY created_at) spp,-- this doesn't
maxif(created_at,status = 'completed') OVER (PARTITION BY id ORDER BY created_at DESC) lastpp,FROM
`production.payment_transactions`
解决方法
SUMIF()
和MAXIF()
不是很大的查询功能。使用CASE
表达式:
maxif(case when status = 'completed' then created_at end) over (partition by id order by created_at desc)
这令人困惑,因为这些功能在GCP环境的其他部分中使用,尤其是在称为Dataprep的组件中。
,以下是用于BigQuery标准SQL
#standardSQL
SELECT
DISTINCT *,COUNTIF(status = 'completed') OVER (PARTITION BY id ORDER BY created_at) cpp,--this works
SUM(IF(status = 'completed',value,NULL)) OVER (PARTITION BY id ORDER BY created_at) spp,-- this now works
MAX(IF(status = 'completed',NULL)) OVER (PARTITION BY id ORDER BY created_at DESC) lastpp,-- this now works
FROM `production.payment_transactions`
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。