场景描述:很多项目在使用集市初期,都会进行全量导入,后续会进行一个增量导入。不管是全量导入还是增量导入,我们都提倡使用打标签的形式入集市,这样可以很大的提高数据的查询性能。
前提条件:必须在customer文件下导入一个tools.jar 如:\Yonghong\lib\customer\tools.jar,tools.jar这是收费的。
首先,我们要建立一个全量的数据库查询(查询所有时间范围内的历史数据),如下所示: sql语句:select a.*,b.CHANGETIME from [dbo].[opd_account_log] b left join [dbo].[opd_apply] a on a.APPLYNO = b.APPLYNO where 1=1 <startDate> and CHANGETIME >= ?{startDate}</startDate> <endDate>and CHANGETIME < ?{endDate}</endDate> 编辑参数 定时任务:
脚本: param['dt'] = parseDate(formatDate(dateAdd(new Date(), 'day', -1), 'yyyy-MM-dd'), 'yyyy-MM-dd'); setMeta('date',formatDate(param['dt'], 'yyyyMMdd')); //注释:这个地方的meta标签名必须是date,否则无法和上述的全量数据合并。 file = '保单_'+ formatDate(param['dt'], 'yyyyMMdd'); 执行完打标签的自定义全量和增量任务之后,接下来,创建数据集市: 参数设置: 创建报表:
脚本(备注:采用文本参数做日期控件): var strDate = 文本参数1.getSelectedObjects()[0]; var streDate = 文本参数2.getSelectedObjects()[0]; var sDate = formatDate(strDate,"yyyyMMdd"); var eDate = formatDate(streDate,"yyyyMMdd"); param["sDate"] = sDate; param["eDate"] = eDate;
|