页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

在日常工作中,很多客户都遇到过这样的困扰:就像家里有两个不同的大仓库,一个仓库(MySQL)里存放着客户的订单信息,另一个仓库(Oracle)里存放着客户的会员等级信息。现在想要知道每个会员等级对应的订单总金额,这就需要从两个仓库里分别拿出数据,再把它们拼到一起分析,这就是我们常说的跨库取数。接下来,我通过几个常见场景,带你轻松搞懂跨库取数的实现方法。

2 跨库取数

2.1 同数据库,不同catalog

数据是在同一个数据库,不同的catalog中

1、V11已经支持多catalog,比如MySQL,连接数据库时只指定了某个catalog,在数据库表管理,可以加入其他catalog的数据:

...

2、在数据模型中,可以直接加入多catalog中的表:

这种方式不需要抽取,可直连


2.2 数据在不同的数据库中,

比如:一个(MySQL)里存放着客户的订单信息,另一个仓库(Oracle)里存放着客户的会员等级信息

场景1:使用数据模型抽取,实现跨库关联

1、创建数据模型,加入不同数据库中的:

Image Added

2、通过抽取,多个库的表或者查询都能正常关联关系:

Image Added

3、保存数据模型并抽取,可基于该报表创建可视化报表查询。

注意:使用数据模型的其他查询,比如SQL查询可视化SQL查询等都可以实现上面的效果。

场景2:使用数据模型的”ETL高级查询“跨库关联成大宽表

1、在数据模型中创建”ETL高级查询“:

Image Added

2、在"ETL高级查询"中通过拖拽数据源节点,选择不同的数据库,实现关联查询,如下图:
Image Added

注意:如果需要俩个表之间固定关联关系,比如一定要inner join,可以通过ETL高级查询实现,并且在ETL高级查询,还可以实现各种数据处理,比如转换、过滤、元数据处理等,最终输出大宽表。