处理按日期对行进行分组的 Google Sheets 查询所产生的间隙
Handling gaps that result from a Google Sheets query that group rows by date
在 Google 表格中,我有一个范围,其中包含事件列表以及它们每天发生的次数。我通过查询每个事件并给它一个列,在另一个 sheet 的列中显示此数据。我 运行 遇到的问题是某些日期没有发生事件,并且这不会将计数为“0”的相应行添加到我的源数据中,从而破坏了我呈现数据的方式别处。
这是源格式的示例(请注意,10 月 2 日没有任何事件 2 数据):
2019-10-01,Event 1,12
2019-10-01,Event 2,8
2019-10-02,Event 1,16
2019-10-03,Event 1,7
2019-10-03,Event 2,21
...然后我 运行 像这样查询以填充列:
=QUERY(event_data, "SELECT C WHERE B = 'Event 1' GROUP BY A)
现在,如果我为事件 2 执行此操作,它将在 10 月 1 日之后立即跟进 10 月 3 日的数字,当我并排显示这两个事件时,差距会使这些结果看起来像是来自 10 月 2 日的结果:
Date Event 1 Event 2
2019-10-01 12 8
2019-10-02 16 7
2019-10-03 21
在 Google Sheets 中有什么合理的方法可以解决这个问题吗?我知道您不能真正在查询中执行 left/inner 连接。
我认为更好的方法是重写我用来填充源范围的 SQL 查询,以便它 returns 首先是这样的一行:
2019-10-02,Event 2,0
只是想知道是否有解决办法。
您可以在 QUERY
中旋转内容:
=QUERY(A1:C, "select A,sum(C) where A is not null group by A pivot B", 0)
在 Google 表格中,我有一个范围,其中包含事件列表以及它们每天发生的次数。我通过查询每个事件并给它一个列,在另一个 sheet 的列中显示此数据。我 运行 遇到的问题是某些日期没有发生事件,并且这不会将计数为“0”的相应行添加到我的源数据中,从而破坏了我呈现数据的方式别处。
这是源格式的示例(请注意,10 月 2 日没有任何事件 2 数据):
2019-10-01,Event 1,12
2019-10-01,Event 2,8
2019-10-02,Event 1,16
2019-10-03,Event 1,7
2019-10-03,Event 2,21
...然后我 运行 像这样查询以填充列:
=QUERY(event_data, "SELECT C WHERE B = 'Event 1' GROUP BY A)
现在,如果我为事件 2 执行此操作,它将在 10 月 1 日之后立即跟进 10 月 3 日的数字,当我并排显示这两个事件时,差距会使这些结果看起来像是来自 10 月 2 日的结果:
Date Event 1 Event 2
2019-10-01 12 8
2019-10-02 16 7
2019-10-03 21
在 Google Sheets 中有什么合理的方法可以解决这个问题吗?我知道您不能真正在查询中执行 left/inner 连接。
我认为更好的方法是重写我用来填充源范围的 SQL 查询,以便它 returns 首先是这样的一行:
2019-10-02,Event 2,0
只是想知道是否有解决办法。
您可以在 QUERY
中旋转内容:
=QUERY(A1:C, "select A,sum(C) where A is not null group by A pivot B", 0)