一般设计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:QlikviewTutorials sourceCreating a DocumentData SourcesSalesperson.accdb;DefaultDir=E:QlikviewTutorials sourceCreating a DocumentData Sources;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=admin;"]; SALESPERSON: SQL SELECT `Distributor ID`, ModifiedTime, Salesperson, `Salesperson ID` FROM `E:QlikviewTutorials sourceCreating a DocumentData SourcesSalesperson.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;