【问题标题】:How to query a partitioned table in BigQuery from Tableau如何从 Tableau 查询 BigQuery 中的分区表
【发布时间】:2018-04-13 08:41:54
【问题描述】:

我们在 google bigquery 中有一个分区表,我们使用 _PARTITIONTIME 字段进行查询(否则查询会花费太多)。

如何让 Tableau 使用 _PARTITIONTIME 伪列?

【问题讨论】:

  • 您是否尝试过使用自定义 SQL 而不是直接连接到表?

标签: google-bigquery tableau-api


【解决方案1】:

在 Tableau 中配置您的数据源时,从可用源列表中选择“Google BigQuery”,完成 OAuth 流程,然后选择您的项目和数据集。

此时,您将看到数据集中的表列表,以及底部使用“新自定义 SQL”的选项。选择此选项,并按照您一直使用的方式输入您的查询。假设查询包含类似于以下的段:

...WHERE _PARTITIONTIME BETWEEN TIMESTAMP(“2016-05-01”) AND TIMESTAMP(“2016-05-06”)

现在,突出显示该 where 子句中的日期,然后单击查询编辑器中的“插入参数”下拉菜单。这将允许您参数化查询并从 Tableau 工作簿中动态选择要查询的日期!

希望这会有所帮助!

【讨论】:

    【解决方案2】:

    更灵活的解决方案是像往常一样拖放表格。 之后单击“数据源 - 转换为自定义 SQL” 这样,tableau 就为您编写了大部分 SQL。 最后部分.... 不要添加 where 子句并停止用户探索 改为添加:

    _PARTITIONTIMEAS mypartitiondate

    现在您可以像使用任何其他日期列一样使用它,但您使用的是分区时间。需要注意的是,如果您使用此列,则无法深入到分区级别以下(例如,尝试查看每日分区数据集上的每小时交易)。这需要用户知道才能开始为该部分使用另一个日期列。

    【讨论】:

      猜你喜欢
      • 2017-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多