Qlikview 处理增量数据的脚本

时间:2023-03-08 16:17:28

一般设计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;