65.9K
CodeProject 正在变化。 阅读更多。
Home

这不会出现在 BI 中(购买 BI 工具时,您不会得到这个)

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1投票)

2016年4月18日

CPOL

9分钟阅读

viewsIcon

10786

许多现代商业智能解决方案都致力于将分析师的工作转移给开发人员,或提升业务分析师的技术水平,使他们更接近开发人员。我建议考虑一种从数据库中获取信息并将其提供给业务分析师的解决方案,而不是这样做。

引言

在我看来,业务分析师和数据库开发人员之间最主要的问题之一是彼此之间的交互。许多现代商业智能解决方案都致力于将分析师的工作转移给开发人员,或提升业务分析师的技术水平,使他们更接近开发人员。我建议考虑一种从数据库中获取信息并将其提供给业务分析师的解决方案,而不是这样做。这个解决方案将使每个人都能专注于自己的工作,而不是身兼程序员和业务分析师两职。

企业商业智能

什么是 BI?——每当我听到这个词时,我脑海中出现的第一个想法就是这个。这个术语试图识别一个特定的产品,但它本身是一个抽象的概念。一旦有人说他需要分析企业活动,他几乎肯定会被推荐 BI。

思考 BI 的概念

商业智能 (BI) —— 是一种将原始信息转化为有意义、易于使用的形式的工具和技术。

维基百科对 BI 的这个定义并没有回答“什么是 BI”这个问题,因为它不清楚什么是原始信息。

这是它的定义

原始信息是背景信息,换句话说——就是原始信息。

基于这些定义,不难看出,为什么你需要购买 BI 产品,如果几乎在任何企业中,对原始信息的反映过程都存在。其中使用了

  1. 自动化收集原始信息:在当今世界,这种自动化几乎无处不在,从支付终端到每天手动将信息输入电脑的员工。
  2.  数据仓库:信息尝试以某种方式进行分析,为此通常会创建一个存储当天信息(OLTP)的数据库,以及一个单独的数据库,存储所有前几天信息(数据仓库);数据通常在夜间从一个数据库移动到另一个数据库。
  3. 仓库中的数据分析:尝试对累积的信息进行分析,组织从中卸载数据,这些数据通过 Excel 功能导入 Excel 文件以理解这些信息。
  4. Microsoft Excel 作为分析工具:微软提供了 Power BI,它将 Excel 转化为一个非常严肃和现代的 BI 工具,以帮助分析师。通过使用它,业务分析师可以全面了解组织的当前财务流程。

这种做法在许多公司中广泛使用。该过程可以使用公共组件来组织

  • 微软办公软件;
  • 操作系统 MS Windows;
  • 数据库。

因此,对于“我需要购买单独的 BI 工具吗?”这个问题,答案是而不是!我们为什么需要账户报告系统、各种业务分析门户和类似产品?Excel 就能完美应对这一切。理论上,即使对于大型企业来说,这确实也足够了。但有些原因会让你寻找更合适的解决方案。在我看来,在业务分析中有两个瓶颈,它们带来了一些不便,最坏的情况下可能导致信息无法理解。

“瓶颈”1 号 —— 信息收集

信息收集是信息初步积累并将其带到存储的过程。为了成功完成此任务,通常需要

1) 扩展您的组织数据库;

2) 雇用将与数据库协同工作的人员;

3) 创建或获取将信息输入数据库的用户界面、自动转换器的方法; 

4) 培训员工使用这些系统;

5) 提供所有系统的健康支持。

在市场上你可以找到许多极大地简化信息收集任务的解决方案。这些是用于数据源之间数据传输的不同系统,例如 Microsoft Integration Services、Informatic 等。此外,数据库变得更快、更灵活,出现了大数据系统。因此,信息收集问题是完全可以解决的,与下一个问题不同。

 

“瓶颈”2 号 —— 从仓库到用户的数据传输

用户需要分析所有信息。但是它必须以某种方式结构化并以方便业务分析师的形式显示。在我看来,这是一个充满创造力的领域,它催生了市场上许多软件工具,但并未解决根本问题,即可靠、舒适地向用户传输数据的问题。有多种方法可以组织这个过程

  1. Excel 模板——创建的文档已经连接到数据库并从中配置了样本。
  2. 允许用户编写数据库查询并选择他们想要的内容。
  3. 购买账户报告系统,如 Microsoft Reporting Services、SAP BO、Oracle BI 等。
  4. 组织本地用户数据库,例如 MS Access。

这些方法中的每一种迟早都会面临它无法解决的挑战。这些方法的最佳使用也令人怀疑。我建议更详细地考虑这些方法。

 

Excel 文档模板

  • 对于创建这些模板的人来说,使用它们并不是很方便。他们必须打开每个模板,查看其中的选择;记住访问选择的密码,以便最终用户不会更改任何内容。
  • 这些模式的存储和访问也需要以某种方式提供。您可以将它们存储在共享文件夹中,也可以开发或获取一个网络应用程序来提供对所有这些的访问。迟早会出现报告数量大幅增加的情况,我们应该记住它们的作用。
  • 数据变得非常多,报告由于内存不足而无法打开。
  • 查询参数难以输入。您可以在 Excel 中编写 VB 脚本来提示输入,但对于每个 Excel,您都必须为该脚本编写改进或更正,并且必须将该脚本广播到所有其他模板。

用户向基础数据库写入请求

此方案的缺点在于员工的技能水平。对于业务分析师来说,编写 SQL 查询的能力并非主要活动,因此,将多项活动集中在一名专家手中需要高水平的熟练程度。

 

购买报告系统

与以前的解决方案相比,此解决方案的显著优点是报告存储紧凑,易于管理,并且具有用于设置输入参数的用户界面。

报告系统部分地解决了问题,但并非完全解决。

业务分析师在 Excel 中工作——这对他们来说非常方便。但是报告是构建在 Web 中的,需要从那里卸载。他们以同样的方式构建各种汇总表和图表,而 Excel 也能做到。结果是,报告充当了 Excel 和数据库之间多余的环节。

它们也有其他缺点

  • 信息在卸载到 Excel 时可能会中断,格式可能会损坏,列类型可能会更改等。
  • 在 Web 上运行的报告,在 Excel 中运行速度非常慢或会中断。
  • 执行需要大量时间(超过一小时)的报告,可能由于达到最大等待时间而无法完成。
  • 尝试卸载大量信息可能会导致服务器内存不足,这可能会导致服务器停止,或者在 Web 中生成的报告无法卸载到 Excel。有各种方法可以解决这些问题,例如卸载到 CSV、部分信息传输等,但它们从用户角度来看不方便,可能需要用户提高注意力、细心程度和额外知识。

在我看来,所描述的系统更适合于显示数据,而不是将其分发给用户。它们可以比作一个漂亮的数据展示柜,你可以在其中查看数据,但很难“触摸”它们。

 

本地用户数据库

在我看来,这样的决策是笨重且非最优的,尽管未来它可能会变得相关。“每个业务分析师都有自己的数据库!”这句口号浮现在我脑海中。

 

 用户想要什么 

How it is organized

用户面临的主要问题是缺乏一个方便可靠的系统,用于将数据从存储传输给用户。业务分析师经常使用 Excel 进行计算,因此需要以 Excel 格式传输数据。不幸的是,我没有看到用户友好的解决方案,不得不做一些组合——部分在报告中传输数据,部分在 Excel 模板中传输,实现 OLAP 多维数据集和类似的服务器解决方案。CSV 文件和 Microsoft Access 的用户数据库也得到了使用。报告缓存和延迟执行被积极使用。市场上同时出现的解决方案不得不考虑其实现。最终,出现了一个由不同方法和解决方案组成的“动物园”。为了摆脱这个动物园,有必要从用户的角度看问题:“确保将信息从数据存储传输到用户的 Excel 格式!”并具体解决这个任务,而不是试图扩展和改进业务分析师使用的工具。因此,在研究了 Excel 的复杂性和下载了 OpenXML SDK 后,我编写了一个直接在 Excel 文件中生成报告的应用程序。它的工作原理可以在以下链接中查看:(https://www.youtube.com/watch?v=y-PX9W4qsd4)。创建它很简单,将其提升到商业决策的水平也很简单。它可以卸载任意大量的信息,也可以无限期地等待数据库中的查询执行。为此使用了 SAX 文档模型和流数据。

结论

在与 BI 共事多年后,我从未见过一个能将数据仓库信息无问题地传递给用户的解决方案。首先,BI 工具帮助分析信息,展示全貌,它们并非以确保稳定数据传输为目的而设计。这对于稳定的分析系统来说往往是不够的。信息分析在客户端的 Excel 和 Power BI 中进行很方便,而数据存储是数据库程序员的工作。它们之间的桥梁至今尚未建成。

 

© . All rights reserved.