sql - Google 表格查询 - 为未记录数据的日期填零

标签 sql google-sheets

如何更改此 google 工作表中的查询,以便它生成一个表,该表每周都有一列,即使该周没有数据也是如此? (在值字段中显示 0)

我遇到的问题是,如果某个星期或日期没有数据,则不会列出。我想为没有数据的日期生成一个 0 的行/列。

查询是这样写的:

=QUERY(A3:D9,"Select A, sum(C) group by A pivot D")

这是工作表(带有超链接,您可以看到它):

The google sheet

最佳答案

您需要解决的基本问题是了解缺少哪些数据片段。您是否需要给定日期范围内每一天的条目?只有工作日吗?只有工作日,公共(public)假期除外?等

一旦知道这一点,您就可以在查询本身中插入缺失的数据,方法是将源表与下面的文字数据连接起来(我手动添加 Red 与 Nov 5 的组合),或者与另一个查询/另一个为您提供缺失数据的公式的结果集:

=QUERY({A3:D9; {"Red", date(2018,11,5), 0, weeknum(date(2018,11,5))}},
       "Select Col1, sum(Col3) group by Col1 pivot Col4")

enter image description here

关于sql - Google 表格查询 - 为未记录数据的日期填零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53037072/

相关文章:

date - 从 Apps 脚本 V8 和旧版中的 google 工作表检索到不同的日期值

google-sheets - 在 Google 表格的单个公式中使用 UNIQUE 和 TRANSPOSE

google-sheets - 从 10 进制转换为 3 进制

javascript - 如何使用 Google Sheets Macros 从一张工作表复制值并将它们粘贴到另一张工作表中?

mysql - 如何使用 sql 查询对列表列表进行排序?

c++ - 将数据部分保存在持久性存储 (SQL) 中,部分保存在 RAM(内存)中的设计模式是什么?

MySQL - 将按日期值分组的计数值设置为 0

javascript - 使用 ID 从 Google 表格中查找正确的值 - 避免多个 "else if" block - 构建数组

sql - MySQL:如何按列按升序排序,并在末尾显示 NULL 而不是开头?

mysql - 为什么 ORDER BY 在这种情况下不起作用?