企业报告解决方案

38

IT行业中有哪些企业报表选项?我目前正在使用SSRS 2005,知道随着新版MSSQL的发布还会有另一个版本。

但是,现在似乎也是一个好时机,可以调查市场看看其他选项。

你遇到了什么?你喜欢它/不喜欢它吗?为什么?

谢谢。

14个回答

42
我曾使用过Cognos Series 7、Cognos Series 8、Crystal Reports、Business Objects XI R2 WebIntelligence、Reporting Services 2000、Reporting Services 2005和Reporting Services 2008。以下是我对所学内容的反馈: Reporting Services 2008/2005/2000 PROS
  1. 成本:如果您使用MS SQL Server作为后端,那么这是最便宜的企业商业智能解决方案。此外,如果您加入SSIS,则可以免费获得最佳的ETL解决方案。
  2. 最灵活:这是我使用过的最灵活的报告解决方案。它始终满足了我所有的业务需求,特别是在其最新版本中。
  3. 易于扩展:我们最初将其用作支持约20个用户的部门解决方案。最终,我们将其扩展到覆盖几千个用户。尽管拥有一个质量非常差的位于远程数据中心的虚拟服务器,我们仍能够扩展到大约50-100个并发用户请求。在一份咨询工作的良好硬件上,我能够将其扩展到更大的并发用户集,没有任何问题。我还见过多个SSRS服务器部署在不同国家并使用SSIS在后端同步数据的实现。这允许以几乎没有额外成本的分布式方式获得稳定性能。
  4. 源代码控制集成:这对于我与商业智能团队开发报告至关重要。我曾使用过的任何其他BI套件都没有提供一个开箱即用的解决方案。我使用过的每个平台都要求购买第三方插件或需要在不同的开发、测试和生产环境之间升级报告。
  5. 分析服务:我喜欢SSRS和SSIS之间与分析服务的紧密集成。我已经阅读到过一些实例,其中Oracle和DB2报价包括安装SQL Server 2005 Analysis Services服务器进行OLAP立方体分析。
  6. 可发现性:没有比SSRS更好的可发现性系统了。有关SSRS的书籍、论坛、文章和代码站点比我曾经使用过的任何其他BI套件都要多。如果我需要在SSRS中找出如何做某些事情,我几乎总是可以在几分钟或几小时内找到它。
CONS
  1. 对于SSRS 2005/2000需要IIS:旧版本的SSRS需要在数据库服务器上安装IIS。当我在一家大银行工作时,从内部控制的角度来看这是不被允许的。最终,我们在未经IT运营授权的情况下实施了SSRS,并基本上要求以后寻求原谅。这在SSRS 2008中不是问题,因为不再需要IIS。
  2. 报表生成器:

    SSRS 2000中不存在基于Web的报表生成器。SSRS 2005中的基于Web的报表生成器难以使用且功能不够。SSRS 2008中的基于Web的报表生成器确实更好,但对于大多数商业用户来说仍然过于复杂。

    数据库偏见:

    它在Microsoft SQL Server上表现最佳。它与Oracle、DB2和其他后端不太兼容。

    Business Objects XI WebIntelligence

    优点:

    1. 易于使用:对于普通非BI终端用户来说,开发自适应报告最容易使用。

    2. 数据库不可知:如果您希望使用Oracle、DB2或其他数据库后端,则绝对是一个好的解决方案。

    3. 高性能:非常快的性能,因为大部分页面导航基本上是文件系统操作而不是数据库调用。

    缺点:

    1. 成本:第一大问题。如果我想将Business Objects的实施规模从30个用户扩展到1000个用户,则SAP将确保向您收取数十万美元。这仅仅是购买Business Objects许可证的费用。加上您还需要数据库服务器许可证,那么您就会谈论到一个非常昂贵的系统。当然,这可能是个人购买Business Objects的理由:如果您能说服管理层购买一款非常昂贵的BI系统,那么您可能也能说服管理层为大型BI部门付费。

    2. 没有源代码控制:缺乏开箱即用的源代码控制集成会导致错误,例如意外修改和部署旧报告定义。解决此问题的“解决方法”是在环境之间推广报告——这是一个我不喜欢的过程,因为它会减慢报告开发速度并引入环境差异变量。

    3. 不支持HTML电子邮件:您无法通过计划发送HTML电子邮件。我经常在SSRS中这样做。您可以购买昂贵的第三方插件来完成此操作,但您不应该为此功能而额外花费金钱。

    4. 模型偏见:报告开发需要宇宙——基本上是一个数据模型。对于自适应报告开发,这很好,但我更喜欢使用存储过程来完全控制性能。我也喜欢构建扁平表格,然后查询这些表格以避免报告运行时的昂贵复杂连接。不必构建仅包含一个报告使用的扁平表格的宇宙是愚蠢的。存储过程支持也没有开箱即用,需要通过修改SQL Overrides来实现。

    5. 参数支持差:BOXI WebIntelligence报表中的参数支持很差。虽然我喜欢面向普通业务用户的元数据刷新选项,但在设置计划时它并不够强大。我几乎总是需要克隆报表并稍微修改过滤器,这导致不必要的报表定义重复。相比BOXI,SSRS在这方面胜出,特别是因为你可以使值和标签具有不同的值。

    6. 不足的报表链接支持:我想将一个报表定义存储在一个中央文件夹中,然后为其他用户创建链接的报表。然而,我很快发现用户需要拥有父对象的完全权限才能在自己的文件夹中使用该对象。这失去了使用链接报表对象的全部意义。给我SSRS!

    7. 独立CMC:您为什么必须启动另一个应用程序来管理对象安全性?更糟糕的是,为什么CMC和InfoSys之间的功能不相同?例如,如果您想设置定期报告以在失败的尝试中重试,则可以在CMC中指定重试次数和重试间隔。但是,在InfoSys中您无法做到这一点,也不能查看信息。InfoSys允许您设置事件驱动的计划,而CMC不支持此功能。

    8. Java版本依赖性:只要终端用户的机器运行与服务器相同版本的Java,BOXI在终端用户机器上的效果就很好。但是,一旦在您的机器上安装了更新的Java版本,事情就开始出现问题。我们在我们的BOXI R2服务器上运行Java 1.5(默认的Java客户端),公司中几乎所有人都使用Java 1.6。如果使用Java 1.6,则提示可能会冻结您的IE和FoxFire会话或意外崩溃报告生成器。

    9. 发现性差:除了BOB(Business Objects Board)之外,在互联网上几乎找不到关于解决Business Objects问题的内容。

    Cognos Series 8

    优点

    1. 易用性:尽管对于编写面向普通业务用户的简单报表来说,BOXI更容易使用,但Cognos在这方面紧随其后。

    2. 数据库不可知:像BOXI一样,如果您需要使用Oracle、DB2或其他数据库后端,则这绝对是一个不错的解决方案。

    3. FrameWork Manager:这绝对是最佳的元数据存储库。BOXI的宇宙构建器希望自己能达到一半的水平。这个工具非常适合在开发、测试和生产环境之间推广包。

    缺点

    1. 成本:与Business Objects存在相同的问题。类似的成本结构。同样需要数据库许可证。

    2. 没有源代码控制:与Business Objects存在相同的问题。我不知道是否有任何第三方工具可以解决此问题,但可能存在。

    3. 模型偏差:与Business Objects相同的问题。 在FrameWork Manager中,对于存储过程有更好的支持,但存在问题。

    4. 参数支持不足:与Business Objects相同的问题。 如果您可以使用Java编码,则可更好地支持创建提示页面。 但是,当用户单击返回到提示页时,存在错误行为。 SSRS在这方面明显优于它。

    5. 错误处理不充分:Cognos中的错误消息几乎无法解释。 它们通常会给出长负数和堆栈转储作为错误消息的一部分。 我不知道我们有多少次通过从头开始重建报告来“解决”这些错误消息。 出于某种原因,很容易破坏报告定义。

    6. 没有可发现性:很难找到任何关于如何解决问题或在Cognos中实现功能的答案。 对于这些产品,互联网上缺乏足够的社区支持。

    正如您从我的回答中可以猜到的那样,我认为微软的BI平台是市场上最好的平台。 然而,我必须声明,我阅读的大多数关于BI套件比较的文章通常并不像SAP的Business Objects和Cognos的系列8产品那样评价微软的产品。 此外,在两个不同的公司进行审查后,我还看到微软在BI套件的内部审查中排名最低,这是由现任CIO审查的。 但在这两种情况下,这似乎归结为希望被视为证明需要大量运营预算的主要部门。


最近参与了类似的练习,看起来问题归结为: 如果你不想花很多钱,那么选择微软解决方案;如果你想的话,选择SAP/BO。 - adolf garlic
有一个关于商业智能的专门问答网站提案。请关注、发布和支持,让它成为现实。链接 - bonCodigo

28

我想做出两个贡献。一个非常负面(CR是垃圾),另一个非常积极(SSRS是独立于备份存储并且免费提供的)。

顺带一提,如果您评价回答时将其评为负分,请添加一条评论以解释您认为该答案有何错误或是不利于解决问题,除非其他人已经说了同样的事情。即使如此,简单的“同上”也会很有帮助。

Crystal Reports是垃圾

Crystal Reports是对开发社区的侮辱。简单的对话框调整大小的缺陷即使只需要花费一些时间来修复,在十年和六个主要版本之后仍未被纠正,因此我真的怀疑是否曾经有任何尝试去解决这些难题。正如此处SQL所证明的那样,Crystal Reports是极不可靠的。

SELECT COUNT(*) FROM sometable WHERE 1=0

这个语句应该输出零,但实际上它输出了一。这是Crystal Reports SQL引擎重复出现的一个偏移错误。

对于CR的支持同样糟糕,多年前已经被外包到海外。如果你花了200美元打电话寻求支持,一个难以理解的外国人会误解你的问题并冒犯你的智商,直到你放弃为止,此时他会因为你选择放弃而宣布通话已解决。

如果情况真的如此糟糕,为什么它还这么流行?它并不流行。它通过优秀的营销手段获得了市场份额。管理层看到光鲜亮丽的广告承诺很多,而由于CR存在了这么长时间,他们认为这些都是真实的。就像草坪上的细碎物(澳大利亚刺草),一旦安装了它,就几乎不可能除掉它。承认自己无能是一个经理的不良职业动作。当经理们缺乏技术专业知识做出决策时,他们不会让技术人员来做决策,而是退回到惯例并重复他们同行的错误。他们还没有意识到,如果他们想要真正使用Web交付功能,他们就需要一个服务器许可证。此外,持久性还意味着很容易找到有CR经验的人。

关于详细信息和欣笑,我建议点击下面的链接。

或者在Google中输入“水晶报告很烂”以获取一个平衡的观点,也可以尝试“水晶报告很棒”。不用担心,这不会花费太多时间。除了他们自己的营销炒作之外,没有积极的评论。

现在是更为正面的内容。

SQL报告基本上是免费的

你可以免费安装它,作为SQL Express with Advanced Services的一部分。你还可以安装 .NET 2.x,它带有主要数据库提供程序的ADO.NET驱动程序以及通用的OLEDB和ODBC支持。

由于SSRS使用ADO.NET,这意味着您可以连接SSRS到任何您可以连接ADO.NET的地方,即几乎任何地方。

随SQL Express提供的许可证条款要求将其作为SQL Express的一部分部署和安装。它们没有涉及报告从哪里获取数据。

尽管SQL Express受到限制但配套的SSRS并没有此类限制。如果您的数据由另一个数据库引擎提供,则可以支持该引擎所许可的用户


对于那些关于Crystal Reports的无意义言论,能够说出有道理的话,我给你点赞! - Cocowalla
+1 对迪尔伯特的参考表示支持! :) - spinon
有一个关于商业智能的专门问答网站提案。请关注、发布和支持,让它成为现实。链接 - bonCodigo

9
我有使用CR和SSRS的经验,以下是我认为的要点:
CR能够快速开发报表,只要报表比较简单。如果稍微复杂一些,就很难让它按照你的意愿操作。例如,你只能有两个子报表的最大层次结构。当你需要在主报表中更改需要参数的子报表时,情况会变得很奇怪等等。虽然有很多解决方法,但有时候它们并不完美。 此外,报表布局基本上是固定的;你必须将数据和信息放入特定的部分(页面页眉/页脚、详细信息/报表页眉/页脚)。这非常有帮助,因为它可以帮助你正确地显示跨越多个页面的数据。 此外,它有一个相当完整的函数集,可用于操作财务数据等。
SSRS在报表编辑方面更加灵活。其报表向导允许您在WYSIWYG环境中创建报表,它允许您在一个页面上显示多个数据集,连接.NET程序集以进行复杂的数据操作/计算。然而,它可能很难以固定的方式正确显示您的报表,您经常必须努力让所有内容按照您想要的方式显示。
Crystal Reports价格昂贵。 如果我记得正确,SSRS现在已经“免费”捆绑在SQL Server企业版中。当然,您可能需要在整个套餐的价格中支付它的费用,我想这是微软试图推动它进入企业领域的方式。

1
如果选择每处理器许可证模型,将在单独的 Web 服务器上安装 SSRS 仍然需要支付许可费用。假设数据中心不允许对数据层进行 Web 访问。 - iokevins

7
我已经使用SSRS一段时间了...旁边的同事说SSRS比Crystal容易得多。我从来没有用过Crystal,所以无法告诉您哪个更好,但我强烈感觉微软试图把SSRS赶出门。
最大的缺点:
- 共享数据集。我在国防部工作。我的90%报告都使用服务参数。我厌烦了一遍又一遍地输入相同的查询。 - 皮肤。如果你使用报告向导,你可以为你的报告设置皮肤,但是如果你手动做就不行?嗯?我可以通过选择所有受影响的字段,然后设置背景颜色、前景颜色等来“涂鸦”。但是没有地方(至少我找不到)可以用1个单击皮肤某些东西。 - 没有自定义皮肤。报告向导/手动操作,我找不到实现自定义皮肤的地方。只需设置类似于HTML的CSS,然后链接到它将很好。工具应该通过减少您的工作量来帮助您,而不是增加工作量。 - 矩阵需要更好的文档。我可以做非常简单的事情,但是一旦我尝试进行有趣/困难的事情,书籍/互联网似乎让我失望了。表格没有这个问题。
优点:
- 对于老SQL开发人员来说,非常简单,可以获得至少比将结果集转储到Excel提供的内容更好的报告。 - 自定义排序(大多数报告都使用) - 处理SP和直接SQL。喜欢我不被锁定在1条路线或另一条路线上(根据情况我都使用过)。 - 价格...一旦您支付了Visual Studio / SQL Server的费用...它是免费的。
以上是我的看法,希望这对您有所帮助。

2
Crystal Reports非常糟糕。请参见以下链接: http://msmvps.com/blogs/williamryan/archive/2004/11/07/18148.aspx http://secretgeek.net/CrystalDodo.asp - Peter Wone

7

一种“纯Java”解决方案是i-net Clear Reports(也称为i-net Crystal-Clear)。

  • 支持Crystal Reports模板以及任何JDBC数据源。
  • 配备免费的可视化报表设计器。
  • 相比于一些价格较高的替代品,价格合理。
  • 最新版本包括基于Web的配置工具和一个自适应报表创建工具
  • 有一个.NET端口(具有广泛的API)

6
在企业报告领域,有许多非常好的解决方案。在四大主流软件(BO/Crystal、MS SRSS、Cognos、Oracle)中,基本报告功能都已覆盖。您需要评估哪些核心功能对您最重要,以及您环境中主导的架构。
商业智能市场的整合使环境问题变得更加相关。如果您拥有Oracle企业,最好使用Oracle BI。SAP/BO、IBM/Cognos和Microsoft也是如此,特别是当您做出新的商业智能决策时。
最后,如果您是开源软件店或者想要避免与主流商业智能厂商相关的许可费用,那么BIRT、Jasper和Pentaho等许多开源解决方案是有意义的。

1
不要忘记那些提供远低于主流解决方案价格的产品,但支持费用也远低于你为开源软件支付的支持费用的小厂商。 - Epaga

5
你可以尝试使用BIRT。BIRT是开源的,所以你可以免费开始使用。它有一个漂亮的图形化设计师。你可以在http://www.birt-exchange.com上观看一些视频,了解如何轻松设计BIRT报告。BIRT项目由Actuate Corp赞助,当你需要调度、安全集成、电子邮件通知等企业级功能时,可以提供商业服务器来部署BIRT。商业版本还将AJAX与BIRT查看器混合,以提供更多的终端用户交互,并通过浏览器提供自适应BIRT报告。

@Virgil-Dodson - birt-exchange.com的链接已经失效了,你是否有其他可以参考如何制作BIRT报告的来源?我在一些工作职位中看到过它,这让我对它很好奇。它仍然是开源/免费的吗?它在10年后仍然与你的工作相关吗? - SherlockSpreadsheets

3

我们目前正在实施Cognos,我认为它是一个相当强大的工具。ETL工具似乎相当直观易用,前端界面也相当容易管理和设置。我对框架模型和数据建模方面没有太多经验,但是我们的报告设计人员似乎非常喜欢它。


2
在SAP社区网站上的他的博客中,Henry Nordstrom对各种可用的报告工具进行了非常好的评估。尽管他是从SAP使用角度来做出这样的评价,但这些事实也适用于其他任何领域。 Henry在SAP开发者网络上的博客

2
我很惊讶没有人提到基于Jasper报表模板的OpenReports。虽然它不完全达到企业级水平,但它非常强大,我认为与Crystal Reports不相上下。我使用iReport创建类似Crystal Reports的报表。OpenReports也支持JXLS,这非常容易使用,可以创建基于Excel的报表。 http://oreports.com/ http://jasperforge.org/projects/ireport

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接