,为同类合并(相加)创造了条件。数据库系统对已索引或排序的数据库提供了方便的同类合并功能,以下程序片段,轻而易举地完成了省套二级区供需分析长系列数据的整理工作。
use单元供需分析.dbf
copy all to temp.dbf
use temp.dbf
repl all组合码with yearl+substr(code0,1,3)+substr(code0,8,2)1
index on组合码to ch_code
total on组合码to省套二级区系列.dbf
其中:temp.dbf为临时数据库,是“单元供需分析.dbf”数据库的复制文件.对其进行操作可避免改变原有数据库:yearl和code0分别为年份和单元编码字段。
在数据库系统的工作区1打开先前建立的“省套二级区编码.dbf”,并保持打开状态。在工作区2反复打开或关闭用于查找不同降水频率对应年份的“降水排序.dbf”、用于提取不同保证率供需平衡数据的“省套二级区系列.dbf”及存储统计分析结果的“省套二级区供需分析.dbf”,并进行数据的统计、复制、添加、分区名称及保证率的填写等操作。以工作区1第1个记录(第一个省套二级区)为起始,提取省套二级区信息,利用do while not eofO循环语句。在两个工作区之间来回变换,进行重复的统计分析操作,直到完成最后一个省套二级区的统计分析。程序片段(仅以50%保证率和平均值统计为例)如下:
sele1 &&选择工作区1
use省套二级区编码.dbf
do while not eof0 &&循环开始
prv_nal=prv_na &&提取要统计的省级区名
wt_na1=wt_na &&提取要统计的二级区名 中国论文联盟www.LWLM.com编辑。
prv_codel=pry_code &&提取要统计的省级区编码
wt_codel=wt_code &&提取要统计的二级区编码
sele2 &&选择工作区2
use降水排频.Dbf &&在排频文件中找到年份
locate for省级码=prv_codel and二级区码=wt_codel and降水排序=23
year50=年份
use省套二级区系列.Dbf &&在数据库中提取对应省套二级区和频率的记录
Locate for substr(code0,1,3)=wt_code1and substr(code0,8,2)=prv_codel and year0=year50
Copy next 1 to tmp50.dbf
average all城镇需水to城镇需水1 for substr(code0,1,3)=wt_codel and substr(code0,8,2)=pry_codel
…
use省套二级区供需分析表.dbf
append from tmp50.dbf
repl name0 with pry_nal
repl code0 with wt_nal
repl ch_code with“50%”
append bla
repl ch_code with“多年平均”
repl城镇需水with城镇需水1
…
sele 1
skip &&工作区1记录指针加1
enddo &&循环结束语句
close all
其中:“降水排序=23”定位条件,用于查找降水量由大到小排序的第23个记录,按经验频率 计算 ,在45年系列中的频率正好为50%的年份。
以上程序已完成省套二级区供需分析,并形成了相应的数据库。最后通过以下两个语句将省套二级区供需分析数据库文件转换成Excel文件格式的表格:
use省套二级区供需分析表.db 上一页 [1] [2] [3] 下一页
|