sql - ssrs教程 - ssrs是什么




企业报告解决方案 (10)

行业中有哪些企业报告选项? 我目前正在使用SSRS 2005,并且知道新版本的MSSQL还有另一个版本。

但是,似乎也许是调查市场以了解其他产品的好时机。

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

谢谢。


“纯Java”解决方案是i-net Clear Reports (又名i-net Crystal-Clear)。

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

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

不喜欢:你不会相信它载的CD有多少......它的巨大。


企业报告有很多非常棒的解决方案。 在四大(BO / Crystal,MS SRSS,Cognos,Oracle)中,基本的报告功能都包含在内。 您真的需要评估哪些核心功能对您最重要,以及您环境中的主导架构是什么。

BI市场的整合使环境问题变得更加相关。 如果您有Oracle企业,那么您也可以使用Oracle BI。 这同样适用于SAP / BO,IBM / Cognos和Microsoft。 特别是如果您正在做出新的BI决定。

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


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


在这里有经验(CR和SSRS)是我的想法:

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

SSRS在报表编辑方面更加灵活。 它的报告向导允许您基本上在WYSIWYG环境中创建报告,它允许您多个子报告,以便您可以在一个页面中轻松显示多个数据集。 它允许您连接.NET程序集以执行复杂的数据操作/计算。 但是,它很难以固定的方式正确显示您的报告,您经常不得不努力让所有内容按您的需要显示。

Crystal Reports是$$$。 SSRS,如果我没记错的话,现在在SQL Server企业版中捆绑“免费”。 当然你可能会以整个套餐的价格支付它,我想这是尝试在公司土地上推动它的MS方式。


如果您希望企业级报表服务器与您要使用的任何报表设计器一起使用,请查看VersaReports.com上的Universal Report Server 。 开箱即用它支持Crystal,DevExpress,Telerik和ActiveReports,并且如果您想支持其他报表设计器,则提供API。


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


我使用过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

PROS

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

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

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

  4. 源代码控制集成:在与我的商业智能团队一起开发报表时,这对我来说非常重要。 没有任何其他BI套件为我提供过这种我曾经使用过的解决方案。 我使用的每个其他平台都需要购买第三方加载项或要求您在单独的开发,测试和生产环境之间升级报表。

  5. Analysis Services:我喜欢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. 报表生成器:基于Web的报表生成器在SSRS 2000中不存在.SSRS 2005中基于Web的报表生成器难以使用且功能不足。 SSRS 2008中基于Web的报表生成器肯定更好,但对大多数业务用户来说仍然太难使用。

  3. 数据库偏差:它最适合Microsoft SQL Server。 Oracle,DB2和其他后端并不是很好。

Business Objects XI WebIntelligence

PROS

  1. 易用性:最易于用于普通的非BI最终用户开发即席报告。

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

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

缺点

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

  2. 无源控制:缺乏开箱即用的源代码控制集成会导致错误地意外修改和部署旧报表定义时出错。 这种“解决方法”是促进环境之间的报告 - 这是一个我不喜欢做的过程,因为它减慢了报告的开发速度并引入了环境差异变量。

  3. 没有HTML电子邮件支持:您无法通过计划发送HTML电子邮件。 我经常在SSRS中这样做。 您可以购买昂贵的第三方加载项来执行此操作,但您不必为此功能花费更多资金。

  4. 模型偏差:报告开发需要Universe - 基本上是数据模型。 这对于临时报表开发来说很好,但我更喜欢使用存储过程来完全控制性能。 我还想构建平面表,然后在报表运行时查询这些平表以避免代价高昂的复杂连接。 建立仅包含仅由一个报告使用的平面表的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(Business Objects Board)之外,互联网上没有太多关于对Business Objects问题进行故障排除的信息。

Cognos系列8

PROS

  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编写代码,则可以更好地支持创建提示页面。 但是,当用户单击后退按钮返回提示页面时,会出现Buggy行为。 SSRS打败了这个。

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

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

您可以从我的答案中猜测,我相信微软的BI套件是市场上最好的平台。 但是,我必须指出,我读过的关于BI套件比较的大多数文章通常都没有评价微软的产品以及SAP的Business Objects和Cognos的Series 8产品。 此外,我还看到微软在两家独立公司的BI套件内部评论中排名靠后,这些公司是由卫冕的CIO审核的。 然而,在这两种情况下,似乎所有人都希望被视为一个主要部门,以证明大量的运营预算。


我很惊讶没有人提到使用Jasper报告模板的OpenReports。 我知道它不是企业级别,但它非常强大,我认为与Crystal Reports相当。 我使用iReport创建类似CR的报告。 OpenReports还支持JXLS,它非常易于用于创建基于Excel的报告。

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


我想做两件事。 一个是非常消极的(CR是垃圾)而另一个是非常积极的(SSRS是支持商店独立并且免费提供)。

另外,如果你修改了一个答案,那么添加一个评论来解释为什么你认为答案是错误的或适得其反,除非其他人已经说过同样的话。 即便如此,简单的“如上所述”也会有所帮助。

Crystal Reports很垃圾

Crystal Reports是对开发社区的侮辱。 简单的对话框调整大小的错误,这些错误将是修复时刻的工作,在十年和六个主要版本中仍然没有得到纠正,所以我真的怀疑任何尝试都是为了解决棘手的问题。 正如本SQL所示,Crystal Reports非常不值得信任。

SELECT COUNT(*) FROM sometable WHERE 1=0

当它应该产生零时,该语句产生一个结果。 这是Crystal Reports SQL引擎核心中可重复的逐个错误。

对CR的支持同样令人沮丧,多年前已被移到海外。 如果你因为支持电话而咳嗽200美元,一个难以理解的外国人会误解你的问题并侮辱你的情报直到你放弃,此时他会 - 因为你选择放弃 - 宣布呼叫已经解决。

如果这真的很糟糕,为什么它如此受欢迎? 它不受欢迎。 这非常不受欢迎。 它通过伟大的营销得到了一个脚趾。 管理类型看到有光泽的广告很有希望,而且因为CR已经存在了很长时间,所以他们认为这一切都是正确的。 就像你的草坪上的bindis(澳大利亚刺痒杂草)一样,一旦安装它就几乎不可能摆脱它。 承认自己的能力不足是一个糟糕的职业生涯。 当管理者缺乏做出决策的技术专业知识,而不是让技术人员做出决定时,他们会重新回到先例并重复同行的错误。 他们也没有意识到,如果他们想要实际使用网络传送内容,他们就可以获得服务器许可证。 此外,长寿意味着很容易找到具有CR经验的人。

对于细节和一个好笑,我推荐这些链接。

或者只需在Google中输入“水晶报告糟透了”。 为了一个平衡的视角,也尝试“水晶报告岩石”。 别担心,这不会花费你太多时间。 他们自己的营销炒作之外没有积极的评论。

现在为更积极的事情。

SQL Reports实际上是免费的

作为带有高级服务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版本中,它们甚至支持丰富格式的基于流的模板(用于表单字母的邮件合并)。

它是我在20年的软件开发中见过的最好的报告解决方案,从大型机到迷你到微型平台。 它勾勒出我能想到的每一个盒子,只有一个我能记得的深刻的弱点 - 布局模型不支持相对于页面底部的定位,唯一的解决方法是相对于页面顶部在已知高度页面上的定位。

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

从你尖头发的老板那里得到一个明智的决定

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

一些老板是如此愚蠢,他们会认为这是一件好事,但对他们来说,无论如何你都注定要失败。





reporting