[英]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.