繁体   English   中英

如何编辑 BigQuery Connector for Excel .iqy 文件以在其中包含 SQL 语句,而不是依赖于 Excel 单元格的输入?

[英]How do I edit the BigQuery Connector for Excel .iqy file to have the SQL statement already in it instead of relying on input from an Excel cell?

我遇到了类似于bigquery excel 连接器的问题- 查询大于 256 个字符

但是,我正在引用单元格范围并得到结果:

"WARNING Request failed: Error. Unable to execute query. 400 { code : 400, errors : [ { domain : global, location : query, locationType : other, message : 1.593 - 1.593: No query found., reason : invalidQuery } ], message : 1.593 - 1.593: No query found. }"

也许我错误地“拆分”了查询? 我假设每个单元格只需要少于 256 个字符,它只会连接指定范围内的后续单元格到前面单元格中的字符串末尾。

我找到的每个帮助文档都显示了简单的 SQL 语句,我可以运行简单的 SQL 语句,但是我真正需要处理的查询在字段的 where 子句中有一个 select 语句。 我尝试加入 where 子句中引用的表,看看这是否使语句更简单,更容易识别为查询,但没有运气。

我试过在 NotePad 中打开 .iqy 文件(BigQuery 最初让我下载),看看我是否可以在那里输入查询,但是我找不到任何关于这些类型文件的语法的文档,所以当我将它加载到 Excel 中时它仍然显示输入查询的提示。

最终结果不需要从单元格引用中读取查询,事实上,如果它可以全部位于 .iqy 文件中,那将是最可取的:用户弄乱数据的机会更少。

  1. 确保对.iqy文件中的参数( queryprojectkey )进行 URL 编码。 使用在线工具,如https://meyerweb.com/eric/tools/dencoder
  2. 如果在进行上述更改之前已将.iqy加载到 Excel 中,则必须删除查询定义。 进入Properties并取消选中Save query definition ,然后再次连接到.iqy

不确定https://bigquery-connector.appspot.com 的q (查询)的最大大小是多少,但我建议改用 BigQuery VIEW。

  • 它隐藏了 SQL 管道,从而减少了传递给 API 的 SQL 的大小。 对查询进行 URL 编码就可以像用+替换spaces一样简单
  • 您可以在 BigQuery 中调整/更改视图定义,而无需向您的用户推出新的.iqy
  • 使用CURRENT_USER()实现某种行级安全性...

但那是另一个话题!

最后,回到.iqy ,您可以像这样在查询中组合和嵌入参数:

q=select+*+from+mydataset.myview+where+FiscalYear=["Year", "Enter a year:"]&p=myproject&k=myURLencodedKey

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM