Tableau BigQuery 连接器 - SQL 方言

Posted

技术标签:

【中文标题】Tableau BigQuery 连接器 - SQL 方言【英文标题】:Tableau BigQuery connector - SQL dialect 【发布时间】:2017-01-11 03:04:54 【问题描述】:

在 Tableau 10.1 中,我尝试使用在 BigQuery 中使用标准 SQL 创建的视图,但似乎 Tableau 使用的方言是旧版 SQL,因为我不断收到相同的错误:

The Google BigQuery service was unable to compile the query.
Cannot reference a SQL view in a Legacy SQL query.

根据文档,Tableau 10.1 应默认使用标准 SQL: https://onlinehelp.tableau.com/current/pro/desktop/en-us/examples_googlebigquery.html

我什至尝试通过使用自定义 .tdc 文件来强制使用方言,但它仍然不起作用:

<connection-customization class='bigquery' enabled='true' version='10.1' >
  <vendor name='bigquery' />
  <driver name='bigquery' />
  <customizations>
    <customization name='connection-dialect' value='simba-sql' />
  </customizations>
</connection-customization>

.tdc 已加载,我可以在日志中看到 (C:\Users...\Documents\My Tableau Repository\Logs\log.txt):

"ts":"2017-01-10T21:41:20.122","pid":23988,"tid":"581c","sev":"info","req":"-","sess":"-","site":"F3FB300D-09B3-4C60-94E0-EAF83FA07153","user":"-","k":"msg","v":"Found TDC 'C:\\Users\\...\\Documents\\My Tableau Repository\\Datasources\\bigquery.tdc'."

怎么了?

【问题讨论】:

我找不到任何关于支持的 connection-dialect 值的文档。你确定simba-sql 是对的吗?您可能只想联系 Tableau 支持以了解他们的建议。 【参考方案1】:

您可以在 BigQuery 中启用标准 SQL,如 BigQuery SQL Reference document 中所述,或使用 Legacy SQL,以适应您的 Tableau 方言首选项。

【讨论】:

如果您指的是在查询开头添加 #StandardSQL 装饰器,它不起作用,因为它必须在最开始,但 Tableau 将查询包装在自己的更大的, 声明,所以 BQ 不接受。【参考方案2】:

你是对的,你不能只添加#StandardSQL 装饰器。

您需要更新您的 Tableau 版本。我尝试了 10.1,但无法使用 StandardSQL,然后我安装了 10.1.17,并且能够使用 StandardSQL。

您会很快知道您安装的 Tableau 版本是否支持 StandardSQL,因为有一个“使用旧版 SQL”复选框,您当然不想选中它。

【讨论】:

以上是关于Tableau BigQuery 连接器 - SQL 方言的主要内容,如果未能解决你的问题,请参考以下文章

访问 BigQuery RECORD - 在 Tableau 中重复

将数据从 Google 表格流式传输到 BigQuery 以在 Tableau 中进行可视化

如何从受 CMEK(客户管理的密钥)保护的 BigQuery 表在 Tableau 中创建数据源?

如何在 google bigquery 数据集中创建动态表并在 tableau 中访问?

我们如何识别在 bigquery information_schema 中使用 Tableau 运行的大查询查询

BigQuery 表的架构与配方不匹配