[英]Biqguery table splits data into date tables in tableau
我將 bigquery 與 tableau 連接,並且只有一個數據集“ analytics_217037102 ”。但是在 tableau 中,我的數據集被拆分為不同的表,並且每個表中的數據按日期排列。例如 events20201101 作為一個表,20201001 作為第二個表。這里是數據集的圖像和桌子
我不能 select 將所有拆分的表放在一起並將過濾器放在不同的日期。 我可以一次 select 一張表,例如,如果我 select 事件表 20200101,那么我只能看到這張表的圖表和數據,我不能一起看到 Z99938282F0416EF04071859941E18F16EFCF42Z 表 41E8。 此外,表之間沒有任何聯系。 它們在每個表上包含不同的數據,但列和字段類型相同。 幫我把它做成一個數據集,這樣我就可以把 select 所有數據放在一起,並在不同的日期放置過濾器。
這是因為在源代碼中它們確實是不同的表。 您需要將來自它們的數據與自定義 SQL 通過UNION
或通配符表語法合並,或將數據與 assistant 合並,或通過在 UNION 上創建視圖並將其用作源表。
UPD :如果您在 Tableau 或數據庫視圖中使用UNION
選項,則每次將新表添加到源時都需要更新查詢,因此對於頻繁添加的表不利。 對於這種情況,您需要使用通配符表語法的自定義 SQL,它將為您處理新表。 您還可以限制使用_TABLE_SUFFIX
列上的where
子句訪問的表(例如where _TABLE_SUFFIX between '<low_value>' and '<high_value>'
或where _TABLE_SUFFIX like '2020%'
),以通過 Tableau 參數限制訪問的表。 但是這個特性使用的是最新表的結果結構,所以在設計上應該考慮。
例子:
select table_schema, table_name, creation_time
from TEST.INFORMATION_SCHEMA.TABLES
+-----+--------------+------------+-----------------------------+
| Row | table_schema | table_name | creation_time |
+-----+--------------+------------+-----------------------------+
| 1 | TEST | TEST_03 | 2020-11-30 14:05:18.440 UTC |
| 2 | TEST | TEST_02 | 2020-11-30 13:27:24.036 UTC |
+-----+--------------+------------+-----------------------------+
select *
from `TEST.TEST_*`
where _TABLE_SUFFIX = '02'
+-----+------+----+
| Row | Q | ID |
+-----+------+----+
| 1 | null | 4 |
| 2 | null | 3 |
+-----+------+----+
select *
from `TEST.TEST_02`
+-----+----+------+------------+-----+----------+
| Row | ID | NAME | DT | VAL | NewField |
+-----+----+------+------------+-----+----------+
| 1 | 4 | QWE4 | 2020-02-10 | 40 | null |
| 2 | 3 | QWE3 | 2020-02-20 | 30 | null |
+-----+----+------+------------+-----+----------+
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.