我有一个Google电子表格,用于存储我的工作场所的员工可用性信息。每个工作表都具有以下示例中显示的格式,日期字段根据我要收集其可用性的星期而变化。员工每周通过在后端提交与这些表格链接的Google表单来提交可用性。我的工作场所领导已指示我限制每个工作表最多包含一周的数据。
09 Jul - 13 Jul Responses
Timestamp | Email Address | What is your name? | [Mon Jul 2018] | [Tue Jul 10 2018] | ... | [Fri Jul 13 2018] | Comments
7/9/2018 16:30:48 | johndoe@aol.com | John Doe | Available | Not Available | ... | Available | Must leave by 3:30 p.m.
7/9/2018 16:32:51 | janedoe@aol.com | Jane Doe | Not Available | Available | ... | Available | None
我遇到的问题是我的老板希望我生成一个涵盖任意日期范围的员工可用性的清晰视图。换句话说,他希望可以选择一个日期跨度,并查看该日期跨度中每天都有空的所有员工。例如,这对于生成每月可用性视图是有问题的,因为它涉及解析多个工作表,每个工作表覆盖一个星期。
根据我的直觉,我需要创建一个Google Web App,允许用户使用两个字段来查询我的电子表格:StartDate
和EndDate
。我需要一些代码,然后遍历每个电子表格中的每个记录,以确定在该日期范围内每天都有哪些人可用,以对象格式将这些记录推送到列表中,然后使用这些对象在Web上生成HTML输出应用页面。这将允许多个用户生成他们想要的任何可用性显示。
允许用户输入日期范围并使用Google脚本输出在该日期范围内可用的所有员工的最佳方法是什么?
答案 0 :(得分:2)
从查询的角度来看,您当前的记录跨多个工作表的设置效率低下,随着数据规模的扩大,将难以维护。
我将所有这些数据移到一个真实的数据库(google cloud has a number of storage options)中,然后利用Apps Script使用日期范围查询该数据库,并用结果填充工作表。
Google表格是针对较小的非关系数据集的可行存储解决方案。但是随着您扩大规模并想执行更复杂的查询,其局限性变得更加明显。它们仍然可以用作显示查询结果的平台,但是对于需要扩展的存储,我建议将其卸载到适当的数据库解决方案中。