页面树结构
转至元数据结尾
转至元数据起始


有这样两类需求,可能需要用到临时表。

1)主要的查询数据在Oracle数据库中,而在查询时需要关联的另外一个表却在SQL Server数据库中,Smartbi中查询数据时是没法直接跨库关联的,因此我们需要将SQL Server库中的表抽取到Oracle的一临时表中,便于关联查询。

2)在数据库中有一个超大的上亿条记录的数据表,查询时还需关联多张表,查询效率极低,可能需要几分钟,甚至更长时间。一个可能的解决方案就是,把复杂查询的数据,先定时抽取到一个临时表中,减少数据量,在此基础上再去查询,即可极大地改善查询效率。

上述两种情况,在Smartbi中都可以通过计划任务,将数据集数据先定时抽取到联合数据源的临时表中,然后再进行查询。完整的操作步骤描述如下:

1、点击 数据准备 > 数据集,进入“数据集”界面选择 新建数据集 > 原生SQL数据集。输入SQL语句后,在输出区的“输出字段”右键选择 检测输出字段

2、接着点击工具栏上的 数据抽取 按钮,进行相关抽取设置。

上图的各设置项详情请参见 数据抽取 章节。

3、在抽取设置中单击 设置定时抽取 项,进行计划任务的抽取任务设置:

上图定时任务设置项详情请参见 计划任务 章节。

4、抽取成功后,在“高速缓存库”节点下可以看到该原生SQL数据集的临时表,以及在“跨库联合数据源”下该原生SQL数据集的库表信息:

高速缓存库效果
跨库联合数据源效果

5、等所设置的任务“触发时间”过了之后,直接查询跨库联合数据源中的表,确认其中是否已正确插入数据。


  • 无标签