繁体   English   中英

Biqguery table 将数据拆分为tableau中的日期表

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM