我有一个数据处理系统,可以根据其处理的数据生成非常大的报告。我所说的“大”是指该系统的“小”执行在转储到 CSV 文件中时会产生大约 30 MB 的报告数据,而大数据集大约为 130-150 MB(我确信有人有更大的想法) “大”,但这不是重点......;)
Excel 以数据列表的形式为报表使用者提供了理想的界面:用户可以即时过滤和分段数据,以查看他们感兴趣的具体细节(因为他们对许多数据并不真正感兴趣)。数千行,他们知道如何应用多个过滤器来获取他们想要的数据) - 他们还可以向报告添加注释和标记,创建图表、图形等...他们知道如何完成所有这些,而且更容易只要我们给他们数据,他们就可以做到。
Excel 非常适合小型测试数据集,但它无法处理这些大型测试数据集。有谁知道有一个工具可以提供与 Excel 数据列表类似的界面 - 能够动态创建和更改多个字段的过滤器;但可以处理更大的文件吗?
我尝试的下一个工具是 MS Access,发现 Access 文件膨胀得很厉害(30 MB 输入文件导致大约 70 MB Access 文件,当我打开该文件、运行报告并关闭它时,文件大小为 120-150 MB !),导入过程很慢并且非常手动(目前,CSV 文件是由运行主进程的同一 plsql 脚本创建的,因此我几乎不需要干预)。我还尝试了一个 Access 数据库,该数据库将表链接到存储报告数据的数据库表,而且速度要慢很多倍(出于某种原因,sqlplus 可以在一分钟内查询并生成报告文件,而 Access 则需要 2-相同数据需要 5 分钟)
(如果有帮助的话,数据处理系统是用 PL/SQL 编写的,并在 Oracle 10g 上运行。)
在这种情况下,Access 将是一个很好的工具,因为与 excel 不同,它没有实际的行限制。困难的部分是当人们习惯了自定义过滤器的强大功能后,让他们摆脱对 Excel 的依赖。在 access 中很有可能得到与此近似的东西,但它永远不会完全相同,除非您将 Excel 控件嵌入到表单中。
至于手动部分,您可以使用VBA编写数据库脚本来导入文件。例如,假设您的主要任务是将夜间的文件转储到每晚都有新文件的文件夹中。您可以创建一个“看门狗”访问数据库,其中打开一个带有“OnTimer”事件的表单,该事件每隔几分钟查看该文件夹,当它找到新文件时,就会开始导入。当您的用户早上上班时,数据已经加载。
至于膨胀,是的,这可能是一个问题,但是您所需要做的就是快速压缩和修复文件,它就会缩小它。
EDIT:
您可以通过选项设置要在关闭时压缩的访问数据库。我记不清它在哪里了,在工作中我们只能访问 97(但奇怪的是 Office 2003)。另一种选择是通过代码进行压缩。这是一个解释如何操作的链接
http://forums.devarticles.com/microsoft-access-development-49/compact-database-via-vba-24958.html http://forums.devarticles.com/microsoft-access-development-49/compact-database-via-vba-24958.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)