免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2379 | 回复: 5
打印 上一主题 下一主题

有没有灵活地进行分类统计的方法? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-27 10:06 |只看该作者 |倒序浏览
需要对数据按照不同的类型组合进行分类统计,有没有比较灵活地进行分类统计的方法?
键值如下:
    wKey       KList                                
              KFld                    Nam
              KFld                    Dpt
              KFld                    Age
              KFld                    Sex

如果需要分别按照Dpt+Age和Dpt+Sex的组合进行统计,有比较简单高效的方法吗?
(尝试用结构体数组来实现,不过好像定义不了结构体数组?)

望各位大侠指教,谢谢!

论坛徽章:
0
2 [报告]
发表于 2008-05-27 14:41 |只看该作者
在D表中定义“结构体数组”,答案是肯定。

利用rpg的指示器,可以定义不同的程序入口,Klist,答案也是肯定。

通常对数据量不是很大的操作,并且逻辑文件低于10个时,都是定义符合要求的逻辑文件,然后处理。

逻辑文件高于10个,且造成系统性能影响较大的处理,通常采用创建一个queryfile,或用程序描述记录,在执行程序前筛选以下符合要求的记录,然后进行处理。

对数数量很大,且更新或筛选记录,需要较长时间。通常是预先创建一个逻辑文件,把逻辑文件的更新放在非繁忙时间段进行处理。

还有一种方法,在DDS逻辑文件对物理文件有不同的记录格式,然后进行调用。(我没有经验)

我认为,AS400在做数据统计、筛选和分析是非常强大的,因为AS400是建立在DB2是上的操作系统,而RPG又是编写OS/400的主要实现语言。

[ 本帖最后由 passthru 于 2008-5-27 15:21 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2008-05-28 10:32 |只看该作者

回复 #2 passthru 的帖子

谢谢回复!

不过,现在不允许创建新的逻辑文件,只能在这一个逻辑文件中想办法统计怎么办?
一种理想的方法是将Dpt+Age和Dpt+Sex的组合分别定义成Ds结构,然后将这个结构定义为数组,这样就可以用LookUp进行分类统计,不过怎么好像定义不了结构体数组?有没有变通的方法?

论坛徽章:
0
4 [报告]
发表于 2008-05-28 11:25 |只看该作者
原帖由 pmf 于 2008-5-28 10:32 发表
谢谢回复!

不过,现在不允许创建新的逻辑文件,只能在这一个逻辑文件中想办法统计怎么办?
一种理想的方法是将Dpt+Age和Dpt+Sex的组合分别定义成Ds结构,然后将这个结构定义为数组,这样就可以用LookUp进行 ...

按照你的思路,问题是你如何定义数组的组数?如果记录数不定的情况下。

我上面已经说过,如果限制创建逻辑文件,可以用queryfile,或程序描述文件替代。这两个方法都可以实现筛选满足条件的临时文件,解决数组组数的问题。

论坛徽章:
0
5 [报告]
发表于 2008-05-30 09:54 |只看该作者
我觉得不能用逻辑文件的话可以queryfile。在数据量比较小的时候还是很方便的。而且维护起来也简单。

如果数据量很大,那么还是在系统空闲的时候做比较好。

论坛徽章:
0
6 [报告]
发表于 2008-05-31 09:07 |只看该作者
如果程序要處理的數據不事很大的話
可以試試sqlrpg
  不過就是慢,一般不怎麼用
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP