我已经搜索了下面提到的场景的解决方案,但是没有运气。抬头 - 我是一名编码新手,但我目前正在学习Python作为我的主要编程语言。
简而言之,我在BigQuery中有一个表,其中第一列包含字符串,而每隔一列包含整数。整数列使用“month_year”格式。我希望我的用户能够在文本框中输入单词并选择“从”日期和“到”日期,然后运行查询以便将该单词的数据作为这些日期之间的趋势图返回。
我在Excel中工作得很好,我可以使用链接到单元格的ActiveX控件来操作查询,然后通过数据连接执行它。以下是在Excel中运行的查询示例:
SELECT que,jan_15,feb_15,mar_15,apr_15,FROM [xxx.xxxx] WHERE(que CONTAINS'VITAMINS')ORDER BY 1 DESC,LIMIT 1000
所以,“VITAMINS” - 将是文本框值,“jan_15,feb_15,mar_15,apr_15”将是“from”日期和“to”日期值。
我想用Python复制它。除了每月数据,我还将创建每日数据和年度数据的表格,因此允许用户设置他们的自/至日期以按日,月或年搜索将是很好的。
谢谢!
答案 0 :(得分:1)
您应该重新考虑您的设计并将数据检索和表示层分开 因此,当您从Excel迁移到BigQuery时 - 我强烈建议您更改架构 根据您的示例,它可以只有几列:
在这种情况下,您需要构建的查询就像(仅作为示例)
一样简单SELECT que, TIMESTAMP([year] + '-' + [month] + '-01') AS ts, metric
FROM YourTable
WHERE que = 'VITAMINS'
AND TIMESTAMP([year] + '-' + [month] + '-01')
BETWEEN TIMESTAMP('2015-01' + '-01') AND TIMESTAMP('2015-04' + '-01')
其中'VITAMINS','2015-01'和'2015-04'来自用户输入
当构建上述查询并运行客户端应用程序时 - 您现在可以使用输出来构建图表
您可以为每日和早期数据设置类似的模式 但是,此外,如果您的指标是附加的 - 您不需要有三个单独的表 只需拥有每日表格,然后您就可以汇总到每月或每年查询所需的级别