行业内的企业报告有哪些选择?我目前正在使用 SSRS 2005,并且知道随着新版本的 MSSQL 推出了另一个版本。

但是,现在似乎也是调查市场,看看还有什么的好时机。

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

谢谢。

有帮助吗?

解决方案

我使用过 Cognos Series 7、Cognos Series 8、Crystal Reports、Business Objects XI R2 WebIntelligence、Reporting Services 2000、Reporting Services 2005 和 Reporting Services 2008。以下是我对所学知识的反馈:

报告服务 2008/2005/2000

优点

  1. 成本:如果您使用 MS SQL Server 作为后端,这是最便宜的企业商业智能解决方案。如果您加入 SSIS,您还可以免费获得一流的 ETL 解决方案。

  2. 最灵活:我用过的最灵活的报告解决方案。它始终满足我所有的业务需求,特别是在其最新版本中。

  3. 易于扩展:我们最初将其用作支持大约 20 个用户的部门解决方案。我们最终将其扩展到覆盖数千名用户。尽管远程数据中心的虚拟服务器质量非常差,但我们仍能够扩展到大约 50-100 个并发用户请求。在咨询工作的良好硬件上,我能够将其扩展到更大的并发用户组,没有任何问题。我还看到过在不同国家部署多个 SSRS 服务器并使用 SSIS 同步后端数据的实现。这允许以分布式方式实现稳定的性能,而几乎不需要额外的成本。

  4. 源代码控制集成:当我与商业智能团队一起开发报告时,这对我来说至关重要。我使用过的任何其他 BI 套件都没有为此提供开箱即用的解决方案。我使用的每个其他平台要么需要购买第三方插件,要么需要您在单独的开发、测试和生产环境之间推广报告。

  5. 分析服务:我喜欢 SSRS 和 SSIS 之间与 Analysis Services 的紧密集成。我读过有关 Oracle 和 DB2 报价包括为 OLAP 多维数据集安装 SQL Server 2005 Analysis Services 服务器的实例。

  6. 可发现性:没有任何系统比 SSRS 具有更好的可发现性。SSRS 上的书籍、论坛、文章和代码站点比我使用过的任何其他 BI 套件都多。如果我需要弄清楚如何在 SSRS 中做某事,我几乎总能花几分钟或几个小时找到它。

缺点

  1. SSRS 2005/2000 所需的 IIS:旧版本的 SSRS 需要在数据库服务器上安装 IIS。当我在一家大银行工作时,从内部控制的角度来看,这是不允许的。我们最终在未经 IT 运营部门授权批准的情况下实施了 SSRS,并且后来基本上请求宽恕。 这在 SSRS 2008 中不是问题,因为不再需要 IIS。

  2. 报告生成器:SSRS 2000 中不存在基于 Web 的报告生成器。SSRS 2005 中基于 Web 的报表生成器很难使用,并且没有足够的功能。SSRS 2008 中基于 Web 的报表生成器肯定更好,但对于大多数商业用户来说仍然太难使用。

  3. 数据库偏差:它与 Microsoft SQL Server 配合使用效果最佳。它不适用于 Oracle、DB2 和其他后端。

业务对象 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 中这样做。您可以购买昂贵的第 3 方插件来执行此操作,但您不必为此功能花费更多钱。

  4. 模型偏差:报告开发需要宇宙——基本上是一个数据模型。这对于临时报告开发来说很好,但我更喜欢使用存储过程来完全控制性能。我还喜欢构建平面表,然后对其进行查询,以避免在报告运行时进行成本高昂的复杂连接。必须构建仅包含仅由一个报告使用的平面表的 Universe 是愚蠢的。您不必仅仅为了查询表而构建模型。如果不破坏 SQL 覆盖,也不支持开箱即用的存储过程支持。

  5. 参数支持差:BOXI WebIntelligence 报告中的参数支持非常糟糕。尽管我喜欢一般业务用户的元数据刷新选项,但在尝试设置计划时它不够强大。我几乎总是必须克隆报告并稍微更改过滤器,这会导致不必要的报告定义重复。SSRS 轻松击败了这一点,特别是因为您可以使值和标签具有不同的值 - 与 BOXI 不同。

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

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

  8. Java版本依赖:BOXI 在最终用户计算机上运行良好,只要它们运行与服务器相同版本的 java。然而,一旦您的计算机上安装了较新版本的 java,事情就会开始出现问题。我们在 BOXI R2 服务器(默认的 java 客户端)上运行 Java 1.5,公司中几乎每个人都在使用 Java 1.6。如果您使用 Java 1.6,则提示可能会冻结您的 IE 和 FoxFire 会话或导致报表生成器意外崩溃。

  9. 可发现性弱:除了 BOB(业务对象板)之外,Internet 上没有太多关于解决业务对象问题的信息。

Cognos 系列 8

优点

  1. 使用方便:尽管 BOXI 更容易用于为一般业务用户编写简单的报告,但 Cognos 在该领域紧随其后。

  2. 与数据库无关:与 BOXI 一样,如果您希望使用 Oracle、DB2 或其他数据库后端,这绝对是一个很好的解决方案。

  3. 框架经理:这绝对是一流的元数据存储库。BOXI 的宇宙构建者希望它能有一半好。该工具非常适合跨开发、测试和生产环境推广软件包。

缺点

  1. 成本:与业务对象相同的问题。类似的成本结构。类似的数据库许可要求也是如此。

  2. 无源代码控制:与业务对象相同的问题。我不知道有任何第三方工具可以解决此问题,但它们可能存在。

  3. 模型偏差:与业务对象相同的问题。不过,对 FrameWork Manager 中的存储过程有更好的支持。

  4. 参数支持差:与业务对象相同的问题。如果您可以使用 Java 编写代码,则可以更好地支持创建提示页面。但是,当用户单击后退按钮返回提示页面时,会出现错误行为。SSRS 轻而易举地解决了这个问题。

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

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

正如您从我的回答中猜到的那样,我相信 Microsoft 的 BI 套件是市场上最好的平台。然而,我必须声明,我读过的大多数有关 BI 套件比较的文章通常不会对 Microsoft 的产品以及 SAP 的 Business Objects 和 Cognos 的 Series 8 产品进行评价。此外,我还看到 Microsoft 在两家不同公司的 BI 套件内部审查中排名垫底,而这些评估是在现任 CIO 审查之后进行的。不过,在这两种情况下,似乎一切都归结为希望被视为一个重要部门,证明巨额运营预算是合理的。

其他提示

我想做出两项贡献。一种是非常消极的(CR 是垃圾),另一种是非常积极的(SSRS 是独立的支持存储并且免费提供)。

附带说明一下,如果您修改了答案,请添加一条评论,解释为什么您认为答案是错误的或适得其反的,除非其他人已经说过同样的话。即使如此,简单的“如上所述”也会有所帮助。

水晶报表就是垃圾

Crystal Reports 是对开发社区的侮辱。简单的对话框调整大小错误需要很长时间才能修复,但在十年和六个主要版本中一直没有得到纠正,所以我真的怀疑是否曾尝试过解决这些棘手的问题。正如此 SQL 所示,Crystal Reports 非常不可信。

SELECT COUNT(*) FROM sometable WHERE 1=0

该语句在本应产生零的情况下却产生了结果 1。这是 Crystal Reports SQL 引擎核心中的一个可重复的差一错误。

对 CR 的支持同样令人沮丧,多年前就已转移到海外。如果你支付 200 美元打个支持电话,一个听不懂的外国人会误解你的问题并侮辱你的智商,直到你放弃,此时他会——因为你选择放弃——宣布电话已解决。

如果真的这么糟糕为什么它如此受欢迎?它不受欢迎。这是很 联合国 受欢迎的。它通过出色的营销获得了立足点。管理层认为光鲜亮丽的广告有很大希望,而且由于 CR 已经存在了很长时间,他们认为这都是真的。就像草坪上的宾迪斯(澳大利亚刺草)一样,一旦安装,几乎不可能清除它。对于经理来说,承认自己无能是一个糟糕的职业举动。当管理者缺乏做出决策的技术专业知识时,他们不会让技术人员做出决策,而是依赖先例并重复同行的错误。他们也没有意识到,如果他们想真正使用网络交付的东西,他们就需要获得服务器许可证。此外,长寿意味着很容易找到有 CR 经验的人。

对于详细信息和开怀大笑,我推荐这些链接。

或者只是在谷歌中输入“水晶报告很糟糕”。为了获得平衡的视角,还可以尝试“水晶报告岩石”。别担心,这不会占用您太多时间。有 除了他们自己的营销炒作之外的积极评价。

现在来说说更积极的事情。

SQL 报告实际上是免费的

您可以免费安装它作为 具有高级服务的 SQL Express. 。您还可以安装 .NET 2.x,它附带了适用于主要数据库提供商的 ADO.NET 驱动程序以及通用 OLEDB 和 ODBC 支持。

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

适用于随 SQL Express 提供的 SSRS 的许可证条款要求将其作为 SQL Express 的一部分进行部署和安装。他们没有透露报告从哪里获取数据。

SQL Express 有限制,但附带的 SSRS 没有这样的限制。如果您的数据是由另一个数据库引擎提供的,您可以支持该引擎许可支持的用户数量。不要误会我的意思,在工作中我们有数十个 MS SQL Server 的许可副本。我只是说,您可以针对您选择的后备存储使用 SSRS,而无需为其寻找或证明预算合理。您将缺少的是日程安排和订阅支持。当我说编写一项填补空白的服务并不困难时,我是根据经验说的。

SSRS 兑现了 CR 做出的每一个承诺。易于使用,很好地支持用户DIY,有一个概念上类似于CR BO但工作正常的模式抽象工具,高性能,可调度,易于使用,稳定,灵活,易于扩展,可以交互或编程控制。在 2008 年版本中,它们甚至支持格式丰富的基于流程的模板(套用信函的邮件合并)。

这是我在二十年的软件开发经历中所见过的最好的报告解决方案,平台范围从大型机到迷你机再到微型机。它勾选了我能想到的每一个框,并且只有一个我能记得的深刻弱点 - 布局模型不支持相对于页面底部定位,唯一的解决方法是在已知高度页面上相对于页面顶部定位。

它没有解决异构数据提供等问题,但恕我直言,这些问题可以而且应该在报告本身之外解决。许多数据仓库解决方案(例如SSIS)都提供了解决此类问题的工具,并且在报表引擎中放置半途而废的重复功能是荒谬的。

让你的尖头发老板做出明智的决定

告诉他,您认为鉴于 Crystal Reports 的历史问题和不受开发人员欢迎,选择 Crystal Reports 是一个勇敢的举动,这标志着他是一个敢于冒险的人。

有些老板太愚蠢了,他们会认为这是一件好事,但和他们在一起你无论如何都注定失败。

我认为,拥有这两种(CR 和 SSRS)的经验是:

CR 让您可以非常快速地开发报告。只要简单就行。如果它变得稍微复杂一点,试图让它做你想要的事情就会变得可疑。根据示例,您的最大层次结构仅限于 2 个子报表。当您的子报表需要必须在主报表等中更改的参数时,这会变得很奇怪。有很多解决方法,但有时它们很糟糕。报告的布局也基本固定;您必须将数据和信息放入特定部分(页眉/页脚、详细信息/报告页脚/页眉)。这非常有用,因为它可以帮助您正确显示跨多个页面的数据。它还具有相当完整的功能集,可用于操纵财务数据等。

SSRS 在报告编辑方面更加灵活。它的报告向导允许您基本上在所见即所得环境中创建报告,它允许您创建多个子报告,以便您可以轻松地在一页中显示多个数据集。它允许您连接 .NET 程序集来执行复杂的数据操作/计算。然而,以固定的方式正确显示报告可能会很困难,您通常必须努力让所有内容都按您想要的方式显示。

水晶报表的价格是$$$。如果我没记错的话,SSRS 现在“免费”捆绑在 SQL Server Enterprise 版本中。当然,你可能会以整个套餐的价格来支付它,我想这是微软试图将其推向企业领域的方式。

我已经使用 SSRS 一段时间了......看着我肩膀的同事说看起来是这样 很多 SSRS 比 Crystal 更容易做。我从未使用过 Crystal,所以我无法告诉你哪个更好,但我明显感觉到 MS 试图将 SSRS 赶出大门。

最大的弱点:

  • 共享数据集。我在国防部环境中工作。我的报告中有 90% 使用服务参数。我厌倦了一遍又一遍地输入相同的查询。
  • 剥皮。如果您执行报告向导,则可以剥皮报告,但如果您手动进行报告?嗯?我可以通过选择所有受影响的字段然后设置背景颜色、前景色等来“换肤”。但没有任何地方(至少我找不到)可以一键剥皮。
  • 没有自定义皮肤。报告向导/手册,我找不到可以实现自定义皮肤的地方。只需设置一些东西(例如HTML的CSS),然后链接到它会很高兴。工具应该帮助您减少工作量,而不是增加工作量。
  • 矩阵需要更好的文档。我可以做非常简单的事情,但是一旦我尝试进入有趣/困难的事情,书籍/互联网似乎让我失望。表不存在这个问题。

优势:

  • 对于老 SQL 开发人员来说,获得良好的报告非常简单,至少看起来比将 Restlt 集转储到 Excel 提供的 drek 更好。
  • 自定义排序(用于大多数报告)
  • 处理 SP 和直接 SQL。喜欢我没有被锁定在一条路径或另一条路径上(我根据情况使用了两条路径)。
  • 价格...一旦您支付了 Visual Studio/SQL Server 费用...这是免费的。

我的2分钱,希望这对你有帮助。

“纯Java”解决方案是 i-net 清晰报告 (又名 i-net 水晶般清澈)。

  • 支持 Crystal Reports 模板以及任何 JDBC 数据源。
  • 配有免费的视觉报告设计器。
  • 它的功能价格合理,特别是与一些“昂贵”的替代品相比。
  • 最新版本包括基于 Web 的配置工具以及 特别报告创建工具.
  • 具有 .NET 端口(具有广泛的 API)

有许多非常出色的企业报告解决方案。四大巨头(BO/Crystal、MS SRSS、Cognos、Oracle)都涵盖了基本报告功能。您确实需要评估哪些核心功能对您来说最重要,以及您的环境中的主要架构是什么。

BI 市场的整合使得环境问题变得更加重要。如果你有Oracle企业,不妨使用Oracle BI。这同样适用于 SAP/BO、IBM/Cognos 和 Microsoft。特别是当您正在做出新的 BI 决策时。

最后,如果您是 OSS 商店或者您希望避免与主要 BI 参与者相关的一些许可费用,那么有许多开源解决方案(BIRT、Jasper、Pentaho)是有意义的。

你应该尝试一下 BIRT。BIRT 是开源的,因此您可以免费开始。它有一个很好的图形设计师。您可以在以下位置观看一些有关如何轻松设计 BIRT 报告的视频: http://www.birt-exchange.com. 。BIRT 项目由 Actuate Corp 赞助,该公司提供商业服务器,用于在您需要调度、安全集成、电子邮件通知等时将 BIRT 部署到企业。商业版本还将 AJAX 与 BIRT 查看器混合在一起,以实现更多的最终用户交互性,并通过浏览器提供临时 BIRT 报告。

我们现在正在实施 Cognos,我真的认为它是一个相当强大的工具。ETL 工具看起来相当简单且易于使用,前端也相当容易管理和设置。我在框架模型和数据建模方面没有太多经验,但我们的报表设计师似乎真的很喜欢它。

最全面的解决方案之一是 Cognos。

不喜欢:你不会相信它有多少张 CD...它超大。

我很惊讶没有人提到微策略。我们做了相当多的数据仓库 (11TB) 工作,微策略在生成 SQL 方面做得很好,因此业务用户可以在不打扰我们的情况下获取数据。然而,这是一个非常昂贵的解决方案。如果您不需要临时功能并决定使用 crystal,我建议您查看他们的 VS2005 或 Eclipse 插件,这些插件“可用于生产”。

Henry Nordstrom 在 SAP 社区网站的博客中对各种可用的报告工具给出了非常好的评价。尽管他从 SAP 使用的角度做了同样的事情,但事实也适用于其他任何事情。

SAP Developer Network 上 Henry 的博客

我很惊讶没有人提到 OpenReports 和 Jasper 报告模板。我知道它不完全是企业级的,但它非常强大,我认为与水晶报表相当。我使用 iReport 创建类似 CR 的报告。OpenReports 还支持 JXLS,可以非常轻松地使用它来创建基于 Excel 的报告。

http://oreports.com/ http://jasperforge.org/projects/ireport

水晶报告作者: 业务对象 似乎是一个受欢迎的选择。

我自己从未在其中写过任何报告,但我团队中的其他人有时很难让更复杂的报告发挥作用。

它也可能有点贵,具体取决于您的预算。

如果您想要一个可与您想要使用的任何报表设计器配合使用的企业级报表服务器,请查看 通用报表服务器 来自 VersaReports.com。它开箱即用,支持 Crystal、DevExpress、Telerik 和 ActiveReports,并提供 API(如果您想支持其他报表设计器)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top