联合数据在多个选项卡中

时间:2015-06-07 16:07:22

标签: google-apps-script google-sheets

我正在使用Google Analytics添加表格。我想运行的特定查询返回70k行数据。由于Google Analytics一次最多只返回10k,我将查询分解为7,其中起始索引为10,001,20,001等。

所以现在我有7个数据标签,每个标签有10k行。

我想在一张大桌子上加入他们。我调查了$("input:radio").attr("checked", false); function disappear(a) { $("#q" + a).fadeOut(1500); } $(".choice1").click(function(){ disappear(1); }); 函数,并且没有成功。我也看了=query()但也没有成功。

即使我成功使用这些选项,我也不确定它们是“最好的”。

感谢我对Google Apps脚本的使用经验有限(但总体来说非常基本)。我不确定我是否应该尝试弄清楚如何使用脚本或者如果有一个方便的内置函数。

我也意识到我的床单数量突破了200k。

例如,我已经在7个选项卡中共享了数据。似乎没有效率将它们完全放入一个大表中,因为这是重复的。

我的最终目标是使用例如=join()函数和/或=sum(filter())函数将数据作为一个组进行查询。我需要以多种方式对这些数据进行切片,但它目前分布在7个表中。

  1. 我如何加入一个大桌子
  2. 有一个好主意,如果没有更好的方法吗?

2 个答案:

答案 0 :(得分:1)

根据您的说明,我觉得您没有正确使用join()。它与DB连接不同,而是将行的单元格连接成一个字符串。

这不仅仅是200K单元格限制,但每个脚本的执行时间可能是问题之一,具体取决于每张表上有多少数据。如果你在一张10K的每行中有20列,你很容易达到200K的限制。在这种情况下,我会在这一点上提请你注意一些Best Practices。具体而言,使用Cache Service可缩短后续通话的周转时间。如文档中所述,第一个呼叫仍将花费相同的时间,但所有后续呼叫将更快。

通过7张表和大量数据,Cache服务将非常有用,因为它可用于查询缓存数据以获得更快的周转时间。到期时间的默认值为10分钟,但使用putAll(value, expirationInSeconds),您可以将缓存数据提供21600秒(6小时)。

编写一个函数来缓存所有数据,并使用该服务获取所需的所有信息。我觉得在你的情况下,这是你最好的选择。此外,对于与AppScript相关的一些常见问题解答,这可能是有用的link

答案 1 :(得分:1)

您正在使用错误的工具进行作业 - 将所有工作表导入Google Fusion tables,然后使用单个公共密钥字段(如果尚不存在则在上传之前创建一个)以将它们加入新的合并表。

它的执行速度会快得多,您将能够过滤结果&选择带有View的列,然后将输出下载到新的电子表格中,您也可以将其作为Google表格上传:)