如果没有数据,则在表单查询中返回0

问题描述 投票:0回答:1

我需要谷歌查询语言的一些建议。

我想根据日期和条件计算行数。但如果不满足条件,则应返回0。

我想要实现的目标:

日期开始05.09.2018 0 06.09.2018 3 07.09.2018 0

我得到了什么:

日期开始于06.09.2018 3

查询看起来像=Query(Test!$A2:P; "select P, count(B) where (B contains 'starts') group by P label count(B) 'Starts'")

P包含升序日期值,B包含事件(如本例中的开头)。如何在没有包含“start”的条目的日期强制输出0?

重点是按升序在一个表中获取所有需要的数据。但这只有工作,如果每天都有一个条目。如果一天没有条目,则“开始”的结果与列A中的日期值不匹配。然后,列D中的3将位于表的第一行。

我需要这样:

A B C D日期登录会话开始05.09.2018 1 2 0 06.09.2018 3 4 3 07.09.2018 4 5 0

也许这很容易解决,但我没有看到它。提前致谢!

sql google-sheets
1个回答
0
投票

您可以在查询之前进行一些预处理。例如:检查列B是否包含regexmatch的'start'并使用双一元( - )将布尔值强制为1和0。使用查询求和。

=Query(Arrayformula({--regexmatch(Test!$B2:B; "start")\ Test!$A2:P}); "select Col17, sum(Col1) where Col17 is not null group by Col17 label sum(Col1) 'Starts'")

改变范围以适应。

© www.soinside.com 2019 - 2024. All rights reserved.