跨源交叉分析

更新时间:2021-01-20

跨越多个不同数据源的交叉查询分析,主要包含以下两种情况:同源异库跨源查询

同源异库

同源异库是指同一个数据源中的不同数据库,例如 MySQL 中的数据库A数据库B之间的跨库查询。除了 MySQL,Sugar BI 中目前还支持 Presto 数据源中的跨 catalog、schema 的同源异库查询。下面以 MySQL 为例进行说明:

如果您使用 MySQL 数据源创建的数据模型,那么在数据模型编辑时,就可以看到添加同源异库的按钮:

图片

点击上图中「添加同源异库」后,即可选择您要跨库查询的 MySQL 数据库:

图片

如上图添加同源异库sugar_demo后,数据表的列表中也会列出sugar_demo中的数据表,如下图:

图片

这时,您就可以拖拽不同数据库中的多个表进行同源异库之间的多表JOIN交叉建模了,如下图将主库中的car_sale表和sugar_demo库中的car_type表进行的交叉建模:

图片

Presto 的跨 catalog 和 schema

和上面的 MySQL 类似,Presto 支持使用同源异库的方式来跨 catalog、schema 的数据查询,在添加同源异库时,您可以填写相应的 catalog、schema,如下图:

图片

跨源查询

跨源查询是指,多个不同的数据源之间的交叉查询,如一个 MySQL 数据源和一个 Excel 数据源之间的数据交叉分析。目前Sugar BI 中支持跨源查询的数据源类型包括:

下面将按步骤说明如何使用跨源查询功能(私有部署下需要在安装部署时开启跨源查询功能):

1、数据源开启跨源查询

首先需要在数据源管理中,开启对应数据源的跨源查询功能,如下:

图片

如上图对某个数据源「开启跨源查询」后,「跨源状态」会变为 待生效,目前 Sugar BI 中的生效时间大约需要 24小时,所以您开启跨源查询后,建议隔天确认一下状态变为 已生效 之后再进行下面的操作步骤。另外,跨源查询肯定是两个或多个数据源之间的跨源查询,所以多个需要跨源查询的数据源,都需要「开启跨源查询」功能。

2、数据模型中添加多个数据源

在数据模型编辑时,可以添加其它的数据源,如下图:

图片

在弹出的数据源选择框中,即可选择添加的数据源:

图片

如上图添加了一个Excel数据,数据表的列表中也会列出Excel数据中的数据表,如下图:

图片

这时,您就可以拖拽不同数据源中的多个表进行跨源之间的多表JOIN交叉建模了,如下图将 MySQL 中的car_sale表和Excel数据中的car_type表进行的交叉建模:

图片

3、跨源查询时的计算字段

Sugar BI 中跨源查询使用的presto引擎,在跨源查询时如果要使用计算字段,也需要使用presto对应的 SQL 语法和函数,presto支持的函数详见:https://prestodb.io/docs/current/functions.html

本页内容