FAQ > 金融建模 > 建模问题 > 数据量大的程序该如何处理

Q:我取了一年的成交明细数据,为什么返回空值    

  • A:
    每个用户对应服务器上一定的空间,如果超过这个空间的最大值,就会返回空值。对于这种数据量较大的情况,建议以天软平台作为分析工具,对源数据进行一定的处理后,将结果集(数据量已经变小)导出;或者分段进行处理,计算下一段时间前先将上一段时间的计算结果导入到天软平台,再来计算。
    参考范例1:天软范例->与前段交互->本地资源-SQL操作,此模型每次将计算结果导出到本地SQL Server数据库,每次计算前先判断同样参数的结果是否存在于数据库中,如果存在则跳过不再计算,否则计算再入库;
    参考范例2:假设模型的参数有两个,Stockid(股票代码),EndT(日期)

    //假设以股票代码及日期作为外部文件的文件名
    Filename:=’C:\\data\\’+Stockid+datetostr(EndT)+’.xls’;
    Ret:=rdo2 importfile(ftxls(),’’,Filename,data);
     //如果对应Stockid,EndT的结果已经存在,那么跳过
    If ret and istable(data) then
     Echo ‘跳过’
    Else
    Begin
     //计算
     Coding …  //(通过一段代码得到需要的结果,假设结果赋值给a)
     Ret2:=rdo2 exportfile(ftxls(),’’,Filename,a);
     If ret2 then
     Echo ‘导出’,stockid,’->’,datetostr(EndT),’成功’
     Else
     Echo ‘导出失败’;
    end