哪种报告技术?
哪种报告技术最适合产品的最佳情况/类型?我现在正在考虑3种技术:
- 嵌入式报告(水晶报告; MS报告服务)
- 服务器报告(MS Reporting Services)
- OLAP数据库(MS Analysis Services)
我们将使用哪种报表技术来生产现成的产品?是否可能有现成产品中基于OLAP类型的报表方面?
哪种技术最适合历史数据?我想这里的OLAP数据库会更快,但这将取决于数据库的大小,因为我认为我们也可以将Embedded Reports用于历史数据。
哪种技术最适合定制软件解决方案?
我喜欢在服务器上进行报告的想法,用户可以在该服务器上登录并像MS Reporting Services一样运行报告。而且实际上只有诸如发票,账单,客户信息表等之类的报告作为嵌入式报告。并且在OLAP数据库上还具有用于历史数据的Reporting Services。
Unfortunelaty的管理人员看不到这种布局,而是希望使用现成的产品,而olap报告将与所有其他报告一起在应用程序内部显示。
解决方案
我们正在使用DevExpress的XtraReports。价格/生产率之比非常高,我们可以获取源代码。
我们可以将其用于桌面或者Web应用程序(或者导出为pdf,doc,html等),并且最终用户设计器由DevExpress本地提供。我相信,这是最好的报告套件之一(使用Telerik Reports)。
我喜欢举报服务。正如我们所说的,当客户登录到报表服务网站时,就可以使用它。但是,我们还可以在应用程序中添加一个组件,该组件在后端使用报告服务。两全其美。
另外,我们可以访问Analysis Services或者任何其他数据库中的数据。
我真的很喜欢Reporting Services。我们可以将报告嵌入网页中,可以让用户通过Web访问报告,甚至可以通过按固定的时间表将报告通过电子邮件发送给用户来自动化报告的交付。我们还可以根据OLAP数据库创建报告。另外,Reporting Services随SQL Server一起提供,因此可以节省一些钱。
OLAP不是报告平台,而是在数据库层中。
如果我们要准备一组预先计划的罐头报告,那么Crystal或者RS是最好的主意。我个人比较喜欢Crystal,但是开发报表可能会很麻烦,但是一旦获得批准,Crystal就是一个坚如磐石的平台。 (我们将Crystal与.NET应用程序集成。)
RS集成得很好,但是我们必须维护服务器。它们的主要优势是动态/反应菜单,但是在开发和维护方面还不够完善时,它们同样很棘手。
OLAP是一项非常强大的技术,但是如果我们没有本地知识,那么准确地部署它将是一项极具挑战的产品。但是,它又不是报告产品,但它上面还有一些有趣的层(例如ProClarity,Excel插件)。
我们也可以查看(我们自己的)i-net清除报告(以前是i-net Crystal-Clear)。完全基于Java,可以读取Crystal Reports模板,并提供简单易用的API以及适用于任何主要Web服务器的servlet。使用JFreeChart具有漂亮的图表。可以导出到PDF,HTML,SVG以及可以嵌入到自己的应用程序中的Swing Java Viewer。我们还提供了一个免费且功能齐全的独立报表设计器。
成本也比CR低很多。
Crystal报表非常容易且快速使用,但也相当有限。如果我们需要做的就是将一些汇总信息从数据库中提取到报表中,那么水晶报表将非常适合我们。不确定其他人。