2016-09-19 41 views
1

我們在google bigquery中有一個分區表,我們使用_PARTITIONTIME字段進行查詢(否則查詢將花費太多)。如何從Tableau查詢BigQuery中的分區表

我該如何讓Tableau使用_PARTITIONTIME僞列?

+0

您是否嘗試過使用自定義SQL而不是直接連接到表? – YABADABADOU

回答

3

在Tableau中配置數據源時,從可用來源列表中選擇「Google BigQuery」,瀏覽OAuth舞曲,然後選擇您的項目和數據集。

此時,您將看到數據集中的表格列表以及底部使用「新建自定義SQL」的選項。選擇此選項,然後按照您一直使用的方式輸入您的查詢。假設查詢包含類似下面的片段:

...WHERE _PARTITIONTIME BETWEEN TIMESTAMP(「2016-05-01」) AND TIMESTAMP(「2016-05-06」) 

現在,強調where子句中的日期,點擊查詢編輯器「插入參數」下拉菜單。這將允許您參數化查詢,並從Tableau工作簿中動態選擇要查詢的日期!

希望這有助於!

0

更靈活的解決方案是隻需像往常一樣拖放表格。 之後,點擊「數據源 - 轉換爲自定義SQL」 這種方式爲您編寫了大部分SQL。 最後一部分.... DONT添加where子句,並停止用戶探索 添加此相反:

_PARTITIONTIME AS mypartitiondate

現在你可以使用這個,就像任何其他日期列,但使用的是分區而不是時間。注意的是,如果您使用此列,則無法在分區級別下進行鑽取(例如,試圖查看每日分區數據集中的小時交易)。這需要知道用戶的知識才能開始使用該部分的另一個日期列。