页面树结构

版本比较

标识

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

Image Removed

  

4. 接着点击工具栏上的“创建临时表”按钮。注意:必须先“保存”之后,工具栏上才会出现“创建临时表”按钮。在出现的“创建临时表”对话框上填入联合数据源、Schema、临时表名称、临时表别名等信息。接着点击“生成SQL”按钮,然后再点击“保存”按钮,并关闭对话框。

Image RemovedImage Removed

  

...

Image Removed

  

6. 接下来,在“计划任务”节点,点击“新建任务”按钮。在“新建任务”页面上,“任务类型”选择“表数据填充”。然后在下方的“表数据填充设置”中分别选择对应的联合数据源、Schema、表。点击右下角的“保存”按钮,关闭该页面。

Image Removed

  

7. 再点击“新建计划”按钮,在出现的“新建计划”页面上填入如下信息。“待执行任务”,选择前一步所创建的任务。然后设置间隔类型、生效范围、运行设置等信息。点击右下角的“保存”按钮,关闭该页面。

Image Removed

  

8. 至此,所有工作全部完成了。等待所设置的任务“触发时间”过了之后,直接查询第5步中的临时表,确认其中是否已正确插入数据。Image Removed

...

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

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

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

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

 

1. 先决条件:创建一个联合数据源。如果已经有了联合数据源,直接跳转到步骤3。在“ 数据源”节点上点击鼠标右键,点击“联合数据源”菜单项。

    Image Removed

 

2. 如下图所示,填入联合数据源数据库的连接信息。

    Image Removed

 

信息

注意:这里所使用的数据库“用户名”,必须拥有在数据库中创建表、更新数据的权限。因为它需要自动创建临时表,并插入数据。

 

...

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

Image Added

  

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

Image Added

Image Added

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

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

Image Added

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

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

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

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

Image Added