我们在google bigquery中有一个分区表,我们使用_PARTITIONTIME字段查询(否则查询会花费太多)。
如何让Tableau使用_PARTITIONTIME伪列?
答案 0 :(得分:3)
在Tableau中配置数据源时,从可用来源列表中选择“Google BigQuery”,浏览OAuth舞蹈,然后选择项目和数据集。
此时,您将看到数据集中的表列表,以及在底部使用“新建自定义SQL”的选项。选择此选项,然后完全按照您使用它的方式输入查询。假设查询包含类似于以下内容的段:
...WHERE _PARTITIONTIME BETWEEN TIMESTAMP(“2016-05-01”) AND TIMESTAMP(“2016-05-06”)
现在,突出显示where子句中的日期,然后单击查询编辑器中的“插入参数”下拉菜单。这将允许您参数化查询并从Tableau工作簿中动态选择要查询的日期!
希望这有帮助!
答案 1 :(得分:0)
更灵活的解决方案是像往常一样拖放桌子。 之后单击“数据源 - 转换为自定义SQL” 这样,tableau已经为您编写了大部分SQL。 最后部分.... 不要添加where子句并停止用户探索 改为添加:
_PARTITIONTIME
AS mypartitiondate
现在您可以像使用任何其他日期列一样使用此功能,但您使用的是分区时间。需要注意的是,如果您使用此列,则无法在分区级别下钻取(例如,尝试在每日分区数据集上查看每小时交易)。这将需要用户知识知道开始使用该部分的另一个日期列。