企业报告解决方案[关闭]

2024-02-15

行业内的企业报告有哪些选择?我目前正在使用 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

PROS

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

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

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

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

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

  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 的报表生成器肯定更好,但对于大多数商业用户来说仍然太难使用。

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

业务对象 XI WebIntelligence

PROS

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

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

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

CONS

  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(Business Objects Board)之外,Internet 上没有太多关于解决 Business Objects 问题的信息。

Cognos 系列 8

PROS

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

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

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

CONS

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

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

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

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

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

企业报告解决方案[关闭] 的相关文章

  • 唯一约束与唯一索引?

    之间有区别吗 CREATE TABLE p product no integer name text UNIQUE price numeric and CREATE TABLE p product no integer name text
  • 如何使用第二行中的值填充第一行中的空值?

    我正在尝试编写一个查询 仅显示每个名称的第一行 但这些行的标题为空 因此我想从紧邻的下一行中提取它们的标题 table1 Name Title Row Dan NULL 1 Dan Engineer 2 Dan Developer 3 Ja
  • SQL 约束最小值/最大值?

    有没有办法为数字字段设置 SQL 约束 最小值应为 1234 最大值应为 4523 SQL Server 语法为the check约束 http technet microsoft com en us library ms179491 as
  • SQL Server 2012:有条件地增加计数器用户 ROW_NUMBER()

    我正在尝试申请ROW NUMBER 根据特定条件增加计数器 我的数据如下所示 目标计数器是Prep column id DSR PrepIndicator Prep 1662835 1 1 1 1662835 14 2 2 1662835
  • 如何进行数据透视并计算列平均值

    我承认这是迄今为止我必须面对的最复杂的 SQL 语句之一 我在这件事上碰壁了 我希望有人能帮我一把 我在数据库中有这张表 Item ActiveTime sec DateTime 1 10 2013 06 03 17 34 22 gt Mo
  • 如何在 Spring Data 中选择不同的结果

    我在使用简单的 Spring Data 查询或 Query 或 QueryDSL 在 Spring Data 中构建查询时遇到问题 如何选择三列 研究 国家 登录 不同的行 并且查询结果将是用户对象类型的列表 Table User Id S
  • Extbase - 从查询中获取创建的sql

    我想从我的typo3 扩展中获取一些数据库表 该扩展基于 extbase 查询总是不返回任何内容 但数据存在 我试过这个 query this gt createQuery query gt statement SELECT FROM my
  • TSQL - 生成文字浮点值

    我理解比较浮点数时遇到的许多问题 并对它们在这种情况下的使用感到遗憾 但我不是表格作者 只有一个小障碍需要克服 有人决定使用浮点数 就像您期望使用 GUID 一样 我需要检索具有特定浮点值的所有记录 sp help MyTable Colu
  • 在 Mysql 上使用 EntityManager JPA 运行脚本

    我正在尝试运行脚本 sql 文件 但由于我尝试了多种方法 因此出现多个错误 这是我的主要 sql 脚本 INSERT INTO Unity VALUES 11 paq 0 2013 04 15 11 41 37 Admin Paquete
  • 在 PostgreSql 中计算百分比

    例如我有一个这样的表 string adm A 2 A 1 B 2 A 1 C 1 A 2 通过 SQL 查询 我想要这样的结果 string perc adm A 50 B 100 C 0 我想要每个字符串中数字 2 出现的百分比 我可以
  • 标量子查询包含多行

    我正在使用 H2 数据库并想要移动一些数据 为此 我创建了以下查询 UPDATE CUSTOMER SET EMAIL SELECT service EMAIL FROM CUSTOMER SERVICE AS service INNER
  • 没有为 1 个或多个必需参数给出值。更新SQL

    我正在编写一个程序 当用户在列表视图上选择记录时 该程序会更新密码或积分 我收到错误 没有为 1 个或多个必需参数给出值 我不知道如何纠正 我是否遗漏了一些明显的东西 Dim sql As String UPDATE Users SET P
  • 分组和切换列和行

    我不知道这是否会被正式称为枢轴 但我想要的结果是这样的 Alex Charley Liza 213 345 1 23 111 5 42 52 2 323 5 23 1 324 5 我的输入数据采用这种形式 Apt Name
  • 选择多列 按一列分组 按计数排序

    我在Oracle中有以下数据集 c1 c2 c3 1A2 cat black 1G2 dog red B11 frog green 1G2 girl red 试图得到以下结果 基本上我首先尝试获取具有重复 c1 的行 c1 c2 c3 1G
  • SSRS - RDLC Tablix 行不会跨页面拆分

    我有一个包含两列数据的 Tablix 部分名称和部分文本 对于某些部分 部分文本变得如此之大 以至于代表该部分的行占据了页面的 2 3 或更多 报告打印得很好 直到这些大行中的其中一个必须在页面末尾拆分并继续在下一页上 在这种情况下 并且仅
  • Snowflake 中的动态 SQL

    当我在雪花中运行动态 SQL 时 遇到以下错误 未完成对 SQL MAIN 的分配 因为值超出了变量的大小限制 它的大小是263 限制为 256 内部存储大小以字节为单位 这是代码 SET v G 1 SET v G1 v G VARCHA
  • 将两个表合并为一个输出

    假设我有两张表 已知营业时间 ChargeNum CategoryID Month Hours 111111 1 2 1 09 10 111111 1 3 1 09 30 111111 1 4 1 09 50 222222 1 3 1 09
  • 使用来自另一个数据库的选择查询更新 mysql 表

    我有两个数据库 我想用另一个数据库表中的值更新一个表 我正在使用以下查询 但它不起作用 UPDATE database1 table1 SET field2 database2 table1 field2 WHERE database1 t
  • 获取mysql中逗号分隔行中不同值的计数

    一个表 Jobs 有 2 列 JobId 城市 当我们保存工作时 工作位置可能是多个城市 如下所示 JobId City 1 New York 2 New York Ohio Virginia 3 New York Virginia 我如何
  • 在Oracle中使用IW和MM

    我使用 IW 表示每周结果 使用 MM 表示每月结果 但我总是收到错误 ORA 00979 not a GROUP BY expression 00979 00000 not a GROUP BY expression 我的疑问是这些 We

随机推荐

  • 使用 simple-build-tool (sbt) 和 IntelliJ 调试 Scala 代码

    使用 IntelliJ 的内置调试器调试 sbt 管理的 Scala 代码的最简单方法是什么 文档来自来自 sbt 的 google 代码站点的 RunningSbt http code google com p simple build
  • Fluent NHibernate - 如何将外键列映射为属性

    我确信这是一个简单的问题 但请考虑以下问题 我对公司和部门之间的参考如下 public class Company public Guid ID get set public Sector Sector get set public Gui
  • 原声音频比较库

    我需要一个处理音频比较的软件或库 但不使用 mp3 内部的标签 它应该比较 2 个音频文件之间的相似性或置信度 或者如果我从音频文件中剪切一段 该软件应该指出它在哪里来自主音频文件的文件令牌 我希望我足够清楚 那么我怎么听说这项技术被称为音
  • 将 Jquery 手风琴扩展到表的行

    我有一张带有可折叠行的桌子 请检查here http jsfiddle net soumyazyx 8Xyjy 10 我只想使用 Jquery UI 手风琴 如图所示here http jqueryui com accordion 我正在尝
  • 在 ui-sref 中动态更改状态和参数

    使用 ui router 我想在 ng repeat 内动态设置 ui sref 指令 如下所示 a a Where steps是一个 状态对象 数组 每个对象都有自己的状态和参数对象 var steps state foo param i
  • 使用jquery设置输入html字符串的值

    我在字符串中有 HTML 片段 如下所示 var htmlString
  • NSSpeechSynthesizer 更改语言

    我正在编写一个基于 Cocoa Book 示例的简单程序 该程序使用 NSSpeechSynthesizer 来说出短语 我想知道如何更改用于合成阶段的语言 import PHAppDelegate h implementation PHA
  • 缺少 pdb 文件

    我正在 wince7 设备上调试我的应用程序 几分钟后 我收到一个错误 没有为任何调用堆栈帧加载任何符号 无法显示源代码 我注意到模块列表中有 1 个 dll 缺少 pdb 文件 它的名称是 System Drawing dll 我注意到在
  • 中止读取文件时 PHP 页面超时

    我有一个简单的 php 视图 如下所示 header Content Type image png readfile this gt image exit 在这个例子中 this gt image例如 data pictures thumb
  • 获取 Quicktime 视频信息

    有没有办法获取 QuickTime 视频信息 在谷歌搜索中 我发现 QT 的一个 cl 选项已损坏 我正在寻找 pasp 长度 音频通道 音频分配 拍手以及经常使用程序 Dumpster 找到的各种其他属性 使用 ffmpeg 无法获得大部
  • 如何使用 Webpack 创建与容器应用程序共享库的微前端捆绑包?

    我有一个任务 拥有具有单 Spa 框架的微前端 门户 主应用程序 通过 url 加载所有其他 js 代码 微前端 1 基于 React 微前端 2 基于 React 所以我的问题只有一个 我不想重复供应商库 如react react dom
  • 存储下拉值,什么是好方法

    想象一下 您有一个网站 其中有多个下拉菜单 这些下拉菜单是从后端数据库填充的 目标是将这些值存储在数据库中 并在渲染表单时检索它们 我见过使用两种方法 1 每种列表类型一张表 profession type id value hobby t
  • ASP.NET MVC 从 C# 代码创建绝对 url

    如何从 C 代码生成绝对 url 我想生成一个像这样的网址 localhost controller action id 有没有办法在 C 中做到这一点 就像在视图中完成它一样 它不会在控制器内部生成 而是在 ViewModel 内部生成
  • $.getJSON 获取 JSONP 数据

    我通过以下方式使用 getJSON 来接收警报 但没有运气 这是代码 并且ticker js文件只有以下行 ticket IBM price 14 57 它应该收到警报 14 57 但我没有收到警报 如果您想查看它的实际效果 可以尝试该链接
  • java.awt.Robot 的本机源代码

    我正在尝试找到 Java Robot 函数的本机实现 我找到了Windows的实现here http cr openjdk java net ohair openjdk7 jdk7 build copyright webrev jdk sr
  • “MongoDB Compass”无法打开,因为苹果无法检查它是否有恶意软件

    当我尝试在 macOS Catalina 上安装 MongoDB Compass 时 出现以下情况 MongoDB Compass can t be opened because Apple cannot check it for mali
  • 可以处理 HTTPS 的 WebBrowser 控件

    我正在寻找 NET 中可以处理 HTTPS 的 WebBrowser 控件的替代品 这个问题 https stackoverflow com questions 790542 replacing net webbrowser control
  • 使用 dash python 更改 bootstrap nav-pills 样式

    Dash 允许使用我们自己的 CSS 样式表 但是 如果您在科学领域并且不熟悉 CSS 则可以使用 Bootstrap 组件 这使得样式和页面布局非常容易组合在一起 这是在 dash 中创建侧边栏的标准示例 This app creates
  • Android 6.0 Marshmallow 停止显示垂直 SeekBar 拇指

    我一直在使用这个基本的包装器 https stackoverflow com a 28397530 250340在 SeekBar 周围 但发现它隐藏了拇指 或者做了一些时髦的事情 比如在棉花糖下的白色背景上将其变成白色 我使用 AS Bl
  • 企业报告解决方案[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi