Qlikview 处理增量数据的脚本

一般设计Qlikview报表的时候需要些2个脚本文件,一个针对Qlikview的Server job 导出数据到qvd数据文具。

另一个用户访问的Qlikview的脚本是直接展示qvd文件的数据。

 

事实上我们一共需要2个qvw文件,设置2个JobSchedule,

一个是LoadingData,保存到qvd , 然后drop Table . 这个schedule 只是loading data.

另外一个直接从qvd文件loadingdata 保存在qvw文件里,用户访问的就是这个qvw文件。

这样分开处理的好处可以使得qvd文件的数据可以被多个qvw报表共用,而不用为了类似的报表重复去Production服务器拿数据。

 

处理增量数据脚本

Let LastExecTime = ReloadTime();
TRACE LastExecTime : $(LastExecTime)
Directory;

OLEDB CONNECT32 TO [Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="DSN=MS Access Database;DBQ=E:\Qlikview\Tutorials source\Creating a Document\Data Sources\Salesperson.accdb;DefaultDir=E:\Qlikview\Tutorials source\Creating a Document\Data Sources;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=admin;"];
SALESPERSON:
SQL SELECT `Distributor ID`,
    ModifiedTime,
    Salesperson,
    `Salesperson ID`
FROM `E:\Qlikview\Tutorials source\Creating a Document\Data Sources\Salesperson.accdb`.SALESPERSON
WHERE ModifiedTime >= #$(LastExecTime)#;

Concatenate 

LOAD [Distributor ID], 
     ModifiedTime, 
     Salesperson, 
     [Salesperson ID]
FROM
SALESPERSON.qvd
(qvd)
WHERE NOT EXISTS([Salesperson ID]);

Inner Join SQL SELECT  [Salesperson ID] from SALESPERSON;

STORE SALESPERSON into SALESPERSON.qvd;

Drop Table SALESPERSON;

 

posted @ 2016-07-25 14:38  szlailai  阅读(441)  评论(0编辑  收藏  举报