首页 > 解决方案 > 包含“。”的自动创建的 bigquery 字段名称存在问题。

问题描述

我使用一个简单的 ETL 工具将 QuickBooks 数据导入 Google BigQuery。伟大的!这一步唯一的挑战值得注意的限制是我不能做任何翻译……更像是一个 EL 工具。

也就是说,现在我想查询导入的表。BigQuery 中正确命名的字段(如txndate)完全没有问题。但是,有些字段是格式abc.xyz(例如,deposittoaccountref.value),无法查询。这 ”。” 名称中的 BigQuery 显然令人困惑。

如果我转储整个表,我可以看到“。” 名称字段和相关的值。

但是,我无法针对这些字段创建自定义查询。它们不会出现在允许将字段名称拖放到查询中的自动生成模式中。

另外,我尝试手动输入字段名称并收到以下错误消息:Missing column alias. Any expression in a SELECT statement that is not a column from the original data source must be followed by an alias, for example: AS my_alias.

我尝试引用字段名称并将字段名称括起来,但它们仍然抛出相同的错误。

我追溯到 QB API 文档,这确实是 Intuit 标记字段的方式。

最后,只要我可以查询这些字段,我就可以重命名它们以消除"."问题。

请指教,谢谢!

标签: sqldatabasegoogle-bigqueryetlquickbooks-online

解决方案


好的,我自己解决了这个问题。

在 bigquery 查询编辑器中解决此问题的方法是手动输入字段名称(即,在自动生成的模式中不可用)并将字段名称括起来。

例如,deposittoaccountref.value 变为 (deposittoaccountref.value)

现在,这会将结果集中的列标记为“值”,因此您可能希望将数据字段重新标记为不带“.”的内容。比如我把原来的deposittoaccountref.value修改为(deposittoaccountref.value)作为deposittoaccountref_value

希望这将在未来对其他人有所帮助!


推荐阅读