我曾经看到有人在讨论过商业智能BI的部署对公司是否有实际意义,现在市场的数据已证明商业智能BI在商业世界中,在企业的实践中证明了自己的价值,得到了广泛的认可。
有一点可能很多人没想到,实际上商业智能BI的相关概念已经有了数十年的发展历史。在这段发展过程中,商业智能BI形成了一套成熟的理论和产品体系,并且在现代的信息化、数字化加成下,成为了各行各业企业的成熟产品。
商业智能BI的定义其实很简单,简单概括一下就是,商业智能是一套完整的由数据仓库、查询报表、数据分析等组成的数据类技术解决方案,可以在一定程度上完成业务流程和业务数据的规范化、流程化、标准化,打通ERP、OA、CRM等不同业务信息系统,整合归纳企业数据。
商业智能BI是非常全面的数据类技术解决方案,比如商业智能BI能制作满足多种部门、不同层级员工的数据可视化报表,能够在一定程度上帮助一线业务人员实现业务的追踪、预测、复盘等操作;也能够在一定程度上帮助企业高层管理人员,通过商业智能BI的管理驾驶舱、核心KPI指标、集团看板等,全面获取企业信息,辅助进行决策。
商业智能BI在企业中确实十分重要,这是因为商业智能BI在企业中发挥着承上启下的作用,往下看商业智能BI能打通ERP、OA、CRM等不同业务信息系统,并将清洗后的数据统一存储到数据仓库;往上看商业智能BI可以提供不同主题、形式的数据可视化报表,通过数据可视化分析全面展现企业发展状况,辅助管理人员进行决策。
第一层,可视化分析展现层- 商业智能BI的需求层,一方面代表了用户的需求,用户想看什么、要看什么、另一方面也代表了用户要分析什么,这些就在这一层进行展现。
第二层,数据模型层- 商业智能BI数据仓库,主要负责企业数据的分析模型,完成从业务计算规则向数据计算规则的转变。
第三层,数据源层- 商业智能BI的数据层,不同部门、业务线的业务信息系统,其底层数据库的数据通过ETL抽取到商业智能BI的数据仓库中,建模分析等等,最终支撑到前端的可视化分析展现。
上边刚提到,商业智能BI在企业中的位置主要是承上启下,是信息化建设中的重要一环。商业智能BI围绕数据形成了一整套完整的数据价值体系,充分发挥了数据在企业中产生的价值。
谈到商业智能BI在企业IT信息化中的位置,首先要了解企业的信息化建设是什么。一般来说,企业的信息化建设具有通用性,可以统一把大部分的企业的 IT 信息化分为两个阶段:一个是业务信息化,一个是数据信息化。
这两个部门相互独立又互相产生影响,但总的来说还是把数据当做其中的基础,业务信息化产生数据并通过数据优化业务本身,数据信息化利用数据但也可以让数据发挥作用,优化业务信息化。
业务信息化- 企业使用的ERP、CRM、OA以及自建的业务信息系统等都统称为业务信息化。业务信息化的主要作用是优化调整企业的业务流程,通过规范化、标准化、线上化,来提高业务运转效率、降低企业人力、时间、精力等成本,沉淀大量业务数据等,是业务管理思路的体现,也是现代的企业管理方式。
数据信息化- 像我们经常所听到的大数据、商业智能BI、数据分析、数据挖掘等我们都统称为数据信息化。数据信息化可以帮企业全面的了解企业的经营管理,将企业经营管理模式从经验驱动调整为到数据驱动,降低情绪、心理等主观影响,形成以数据为基础的业务决策支撑,提高决策的准确性,这是企业更高层次的企业管理方式。
企业的信息化建设是一个完整的过程,没有业务系统的建设,就不会有数据的沉淀,而没有数据的沉淀,企业也就没有部署商业智能BI的基础。这就是业务信息化和数据信息化的双向作用,能够让业务系统推动商业智能BI的部署,也能让商业智能BI提高业务系统的效果。
业务信息化的主要使用对象- 业务信息化的主要使用对象是一线业务人员,所以业务信息化的使用人群更多是从业务视角出发,针对业务进行录入数据、记录流程、查看业务信息等。
数据信息化的主要使用对象- 数据信息化的主要使用对象是管理决策人员,在企业的经营管理等日常流程中,决策人员更多是从管理视角利用商业智能BI等数据类技术解决方案去定位问题、分析问题,最终形成业务决策。
企业未来的发展到一定程度,因为数据量的增加,也因为信息化建设的必要性,企业会为不同部门建设相应的业务信息化系统。这些业务信息化系统(ERP、OA、CRM)可以规范业务流程,形成标准化的业务模式,并通过系统数据库自动沉淀业务数据,为企业积累数据资产。毫无疑问,数据价值凸显的当下,能够沉淀业务数据,这当然是一件好事。
但这些不同部门、不同业务信息系统数据库中的数据往往无法互通,只能在各自数据库中储存,无法统一进行利用,没有针对企业整体的全局视角。这样一来,每个部门、每个业务系统的数据都相互分隔,就像海外一座座孤岛,彼此无法连接,无法交流,这就是平时经常听到的数据孤岛。
商业智能BI作为数据类技术解决方案,在面对数据孤岛问题时,可以通过数据信息化,利用数据仓库和数据可视化解决企业面临的“数据孤岛”“信息孤岛”问题,所以商业智能BI需要企业高层管理人员进行规划,并主要为企业各层级管理人员提供决策信息,辅助进行决策。
所以在介绍商业智能BI的时候,必须要搞清楚不同人员的需求。站在企业不同员工角度,有的人认为是有数据孤岛存在的,一定要解决。有的人是不认为有数据孤岛存在的,亦或是即使存在对他们也没有过大影响,所以不用解决,其最终的原因是没把握商业智能BI真正的服务对象。
商业智能BI是通过访问和连接业务系统数据源数据库的方式来进行取数的,不管是怎样类型的数据库,商业智能BI通过ETL连接数据库抽取业务系统原表数据到数据仓库中加工处理,最后支撑到前端的可视化分析报表展现。
其实一般来说是不需要的,基本上这么提问的都是经历过软件系统的接口对接,软件系统的接口对接是因为有的业务软件是 JAVA 开发的,有的是开发的,有的是 B/S 架构,有的是 C/S 架构。
软件系统之间的接口是需要开发参与的,主要是串联不同软件的业务流程,这种接口是需要动代码的。但商业智能BI在获取数据的接口不一样,是与业务系统软件自身无关的,是只需要访问和连接业务系统背后的数据库就可以的,直接从数据库取数,因此是不需要软件接口,或者没有软件接口访问这种概念的。
除非一种情况,这个业务系统是公有云,纯SAAS模式,这样的一种情况下就只可以通过软件对外开放的API接口取数了。
系统的商业智能BI在遇到大数据量、非结构化数据处理的场景,底层的数据仓库就升级为大数据的数据仓库架构,这就是大数据下的商业智能BI分析;在大数据的数据仓库架构基础之上,往左边更加拓展了数据的采集能力,在中间除了原有大数据架构的数据仓库建模之外,更加加入了数据资产的概念、数据资产盘点、数据资产管理,靠右扩展了数据服务的能力,将数据中台中按照一定规则处理好的数据打包对外提供服务。因此,大数据架构下的数据采集、数据仓库建模、数据资产管理和数据服务就构成了数据中台的几大核心。
数据中台的底子是大数据架构,数据仓库是传统商业智能BI数据仓库的大数据升级,而商业智能BI就变成了数据中台之上的应用层,利用中台的数据服务获取数据做分析展现。
这就是商业智能BI、大数据、数据中台这三者的关系和在不同数据场景、服务场景下的演变过程,看明白了这样的一个过程,应该就不会再轻易的混淆他们的概念。至于商业智能BI、大数据、数据中台应选择哪个,其实说到底如何明智的选择合适的技术路线、技术架构,最终还是取决于企业自身到底要解决什么,不能盲目选择。盲目选择的结果就是大投入,小产出没有达到预期的期望。我们还是应该聚焦到需求本身,需求为王。
很多企业把商业智能BI当做纯粹的报表工具使用,输出的形式变成了可视化图表,可图表展示的内容还是以前的部门业务信息,只展现了一线业务部门的基本情况,管理人员还是需要花费大量时间精力去了解企业整体的发展情况。
1.商业智能 BI 就是报表可视化,就是一堆可视化图表,商业智能BI 就是前端可视化。
4.有了商业智能BI就不需要数据仓库建模,业务人员就可以自己做商业智能BI分析,就可以拖拉拽做商业智能BI分析。
5.商业智能BI 就是业务驱动的,不需要 IT 人员支撑,敏捷商业智能BI不需要 IT 介入。
6.商业智能BI直连不香吗?直接连接数据源不就可以做分析,不需要数据仓库。
1、商业智能 BI 就是报表可视化,就是一堆可视化图表,BI 就是前端可视化。
商业智能BI是一套完整的有数据仓库、数据分析、数据报表等组成的数据技术类的解决方案,在一个 BI 项目中,20% 的时间做前端分析报表,80% 的时间都在底层数据仓库的设计、ETL 的开发、取数开发等工作。
所以可视化报表只是商业智能 BI 的最终呈现,但不是 商业智能BI 的全部。
拖拉拽的可视化分析工具准确来讲只能解决 商业智能BI 的一部分,即可视化分析。但其实 商业智能BI 所包括的技术范围还是比较广的,涉及到从底层数据取数到前端展现分析的各个方面。
单纯拖拉拽的商业智能BI可视化分析工具严格来讲只能定位于个人和部门级,和企业级的商业智能BI 有很大的不同,所以单纯的上一个商业智能BI分析工具发挥不了商业智能BI的真正作用,也替代不了商业智能BI的位置。
3、以前也总有人说商业智能BI就是业务驱动,商业智能BI就是 BI,跟数据仓库没有关系。
这个问题很有深度,在以前我也这么认为过,总觉得有了商业智能BI就不需要数据仓库建模,业务人员就可以自己做 商业智能BI分析,就可以拖拉拽做 商业智能BI分析,不需要IT人员支撑,敏捷商业智能BI不需要 IT 介入,不需要建数据仓库。
但凡有任何商业智能BI的销售或者售前告诉用户,你们企业的商业智能BI项目不需要构建数据仓库,直接通过商业智能BI分析工具拖拉拽就可以搞定企业里面所有的分析,不需要IT人员支撑,业务人员完全可以自己搞定... 类似于敢这样承诺的,要么是对商业智能BI不懂,要么就是真忽悠。
在企业级的商业智能BI项目建设中,真正能做到完全靠业务人员简单拖拉拽一些就能随便实现数据可视化分析,至少在我个人从业的十几年工作经验中,95%以上的企业都做不到。我服务过的重点企业包括:SHP( Security Health Plan )、微软(中国)、微软(美国)、VWFC( 大众金融 )等。
VWFC 做的算是非常不错的,少有的业务人员自己动手做很多报表,线上跑了几千张报表。为什么? 因为底层数据仓库就搭建了很多年,底层数据架构相对比较规范。Business Driven 业务驱动,它的前提是什么?
1) 底层数据质量很规范,数据仓库架构很完整,不让业务人员碰底层数据,ETL、取数、指标计算等等统统都是 IT 部门来维护。
2) 业务人员通过培训要熟练掌握商业智能BI前端报表工具的使用,要很懂放出来的数据分析模型接口。
第 2)和第 3)条很多企业没有问题,第 1)条直接弄个前端 商业智能BI 工具让业务人员解决,能解决掉吗? 很显然业务人员是不具备这种能力的。
这就是一到培训的时候,商业智能BI工具使用起来很简单,但是一旦到实际的企业 商业智能BI 项目开发就发现寸步难行。因为培训的时候,给出的数据表都是经过选择的,永远都是质量很高的、规范的只需要简单左表连右表例如销售订单表、订单明细表,自然很容易把可视化报表给实现出来。
但是在实际企业 商业智能BI 项目分析中,分析指标的计算规则绝非简单几张表关联就可以解决的,不信的话可以挑战一下一个实际的指标计算逻辑:挑战一个 ETL 数据清洗的小案例 在数据库中就一张数据表,数据理解起来也很简单,但很多 商业智能BI 开发人员做起来也需要废很大的精力,就更别谈业务人员自助 商业智能BI 分析了。
讲这么多不是为了一味否定自助式商业智能BI它的作用和能力,自助式商业智能BI有它的使用场景,也确实帮助我们简化了很多的BI工作,但从专业角度出发,特别反感是部分商业智能BI 厂商以一种不负责任的方式反复向市场强化类似于这样的概念:商业智能BI 就是可视化报表、商业智能BI 不需要数据仓库建模、传统数据仓库建模很落后、商业智能BI 就是自助分析、商业智能BI 自助分析很简单、业务用户简单几天培训就可以学会并且想怎么分析就怎么分析...
从市场宣传和销售的角度来说,简化产品的复杂度和上手难度的宣传是没有问题的,有问题的是以一种错误的讲解、不专业的讲解最终误导企业接受了这些不正确的概念,并以这些不正确的概念来评估与规划 商业智能BI 项目的建设,没有充分预计到 商业智能BI 项目建设过程中可能会遇到的挑战与风险,最后导致项目的不成功与失败、反复建设。
我们在北京就有一个客户之前花了一百多万上了一套所谓的 商业智能BI 项目,项目上线了一年左右,到最后完全推不动,失败了。后续找到派可数据,我们给他们上了派可数据商业智能BI分析平台,这个项目我们连续做了好几期,客户还写了感谢信。
之前为什么推不动、项目会失败:不重视数据仓库的规划。因为他们的业务是连续的、变动的,每年的需求都是需要动态调整的,数据持续增加,分析的深度和广度都是在不断变化,没有一个好的底层数据架构来支撑,光靠 SQL 取数、建数据集出报表的形式是不可能支撑一家企业未来 3-5 年甚至更长远的业务分析需求变化的。
早期前端技术很弱,AJAX 的实现也都需要手写,要实现一个表单内数据的点击编辑和修改需要自己用 JS DOM 操作。做报表基本上就是 JSP、ASP 脚本语言在前端嵌套 HTML 做循环输出,报表样式很原生很丑陋,稍微复杂一点的表格报表样式都需要用 JS 来调整。
那个时候用过的报表像 Crystal Report 水晶报表、润乾报表等等,在前端脚本语言中有标签直接可以引用,报表生成代替了大量的手写代码。早期的前后端技术是不分家的,还稍微好一些,前端逐步有一些集成控件可以直接使用,JAVA 是真没有。上面说到的这个阶段大概在什么时候呢,2005年前后,2007年我觉得已经使用的很广泛了,老的 CSDN 上应该还能找到很多原始的报表标签帖子。
像老一批报表还有像金峰报表 Jreport、思达报表 StyleReport 等等在国内也有一定的市场。早在 2010 年之前,有些报表厂商的收入规模就已经突破了一个亿,说明基础报表这个市场还是非常不错的。
那个时候的报表定位是什么,就是纯粹的 Report 报表,通过程序从后台数据库中查询返回的数据聚合 List 再到前端脚本页面上绑定一下就生成了各种报表,实际上就是用在各个业务软件系统之中的报表展示,还远远没有到 商业智能BI分析这个层面。
并且还有大量的软件开发厂商实际上已经具备了很强的报表能力,不过这些报表能力并没有单独拿出来作为报表产品在市面上运营而已。
逐步的,随着前端技术、前端框架的完善,从传统表格技术开始到了各类柱状图、条形图、饼状图的可视化展示,到了这个阶段,报表和商业智能BI的边界越来越模糊。为什么?商业智能BI的报表展现能力也就和传统报表效果大致相当,还没有出现那种自助分析、自助拖拉拽就可以实现快速多维分析的能力。
讲这么多主要想说的是我们所看到的很多商业智能BI项目都是拿报表思维去实现的,就是 SQL 到数据集到前端展现。而真正的商业智能BI思维应该是什么呢? 多维思维、模型思维,这一点决定了一个 商业智能BI 项目的最终走向,后面会具体讲到这些点。
商业智能 BI 到底是什么?技术?产品?还是其它?我们把对于 BI 的理解再提升一个层次:商业智能 BI 是一家企业业务和管理思维的落地。这个怎么来理解呢?简单来说,就是在可视化报表上呈现的内容就是一家企业真正关注的内容,这里面有管理高层重点关注的企业经营性的分析指标,也有某具体部门的。
十、商业智能BI 和数据仓库 Data Warehouse 有什么区别和联系?
经常会碰到有人问商业智能BI和数据仓库有什么区别,实际上这个问题的背后能反映出来一些朋友对商业智能BI的理解还是有些不准确和偏差,这个问题实际上从概念上把BI和数据仓库人为的割裂了。这种情况其实也比较正常,因为大家对商业智能BI的第一印象就是各种炫酷的可视化图表、报表,再加上市面上有很多轻量的前端可视化商业智能BI分析工具,就造成大家对BI的认知就停留在可视化这部分了。
准确的来说,商业智能BI不仅仅包含前端可视化分析、报表展现的能力,更包含了底层数据仓库的建设过程。Gartner 在上世纪九十年代就已经提到了商业智能 Business Intelligence,它更多的认为:BI是一种数据类的技术解决方案,将许多来自不同企业业务系统的数据提取有分析价值的数据进行清洗、转换和加载,就是抽取Extraction、转换 Transformation、加载Loading 的ETL过程,最终合并到一个数据仓库中,按照一定的建模方式例如Inmon 的3NF 建模、Kimball 的维度建模或者两者都有的混合式架构模型,最终在这个基础上再利用合适的分析展现工具来形成各种可视化的分析报表为企业的管理决策层提供数据决策支撑。
所以,可以从这里能够看到数据仓库Data Warehouse 的位置是介于可视化报表和底层业务系统数据源之间的这一层,在整个商业智能BI项目解决方案中起到的是一个承上启下的作用。如果把商业智能BI比作是一个人的话,上半身特别是脸这个部分就是颜值,下半身脚踏实地吸取大地的精华,中间这部分的腰腹核心、核心力量就是数据仓库。
那大家也会问到,市面上不是有很多直接链接数据源就可以拖拉拽分析的商业智能BI工具产品吗,不也一样可以做商业智能BI分析报表吗?这种独立的、单独的面向前端的商业智能BI分析工具,他们更多的定位是部门级和个人级的商业智能BI 分析工具,对于深层次的需要复杂数据处理、集成、建模等很多场景是无法解决的。最好的方式就是底层构建一套完整的数据仓库,把很多分析模型标准化,再利用这些前端商业智能BI分析工具结合起来,这样才能真正的把前端商业智能BI分析能力给释放出来。
很多企业认为只要买一个前端商业智能BI分析工具就可以解决企业级的商业智能BI所有问题,这个看法实际上也不可行的。可能在最开始分析场景相对简单,对接数据的复杂度不是很高的情况下这类商业智能BI分析工具没有问题。但是在企业的商业智能BI项目建设有一个特点,是一个螺旋式上升的建设过程。因为对接的业务系统可能会越来越多,分析的深度和广度会越来越多,数据的复杂度也会越来越有挑战性,这个时候没有一个很好的数据仓库架构支撑,光靠前端BI分析工具基本上是无法搞定的。
就像去中药店抓药一样,之所以抓药很快,是因为在抓药前,别人已经把各种原生的中药材(原始数据源的数据)分门别类清理干净放好了,这样想怎么搭配药材(维度指标组合的可视化)就很快了。
这样的企业在国内有很多,也是因为对商业智能BI理解的深度不够导致了在商业智能BI项目建设上一些方向性的错误,最后s导致商业智能BI项目很难继续推进。
所以在企业中,我们需要明确我们的商业智能BI建设是面向企业级的还是个人和部门的分析工作。如果是个人数据分析师,使用这类前端商业智能BI分析工具就足够了。如果是需要构建一个企业级的商业智能BI项目,就不能只关注前端可视化分析能力这个层面,更应该关注到底层数据架构的构建,也就是数据仓库这个层面。
十一、数据仓库的建模方法论 Kimball vs Inmon 以及混合架构
数据仓库建模时商业智能BI项目建设中的重中之重,Inmon 的三范式 3NF 建模和 Kimball 的维度建模都是 商业智能BI 数据仓库建模的方法论,这两种商业智能BI建模的方式有什么区别和联系。
商业智能BI是一个完全需求驱动的,既然是需求就需要做访谈和调研。在商业智能BI需求进行访谈和调研之前要提前熟悉行业的业务特点,基于企业自身要熟悉他们的业务流程,以及所访谈部门的他们大概会关注的重点,都需要提前梳理一遍。在脑海里把整个业务框架给建立起来,反复的演练。
什么样的企业适合上商业智能BI?看业务基础信息化程度和日常业务管理的细致程度和颗粒度。业务基础信息化程度就是企业自身的IT业务系统基础建设,没有业务系统的支撑,做商业智能BI就缺乏数据基础;第二就是业务管理的颗粒度,企业自身业务管理程度是不是比较细致了,急需通过商业智能BI来提升业务管理、决策支撑的效率。
做完商业智能BI项目,还要考虑最终如何跟老板汇报的问题,掌握商业智能BI数据分析思维框架和汇报的五个重点:用户业务层次与范围、工作成果、计划执行复盘、问题反馈、展望规划与愿景。
这里只是一个简单的汇报框架,还有很多点可以往里面加。比如围绕行业讲一下行业驱动因素跟 商业智能BI 如何结合的;从企业经营管理角度,企业愿景到 CSF 到 KPI 到绩效是如何分解和重新组织的;比如财务视角下的归因分析;金字塔的管理模型;动态指标库构成原理等等都可以有所选择的进行融入和说明。
商业智能BI分析跟企业的经营管理分析高度结合,ROE高的企业有可能是利润高像茅台、珠宝行业,有可能是周转快比如像零售行业,也有可能是融资能力比较强会利用杠杆,从ROE归因分析看行业特点。
做商业智能BI还必须熟悉行业和业务知识,不结合行业业务知识,商业智能BI的项目是很难落地的。商业智能BI的本质其实是企业的业务和管理思维的落地。企业的高层、业务部门的管理人员为什么要通过商业智能BI去看报表,他们看的是什么,重点关注的是什么?这些内容就是他们日常在企业中业务经营管理的重点。
在商业智能BI项目上看上去零零散散的报表,在实际用户眼里其实是有很强的逻辑关联性的。并且层次越高的管理人员看的商业智能BI报表内容越聚焦,看的是业务结果。一线业务部门的人员可能关注的更零散,看的是明细的业务过程数据。
所以,对于一名优秀的商业智能BI开发人员、开发顾问,不仅仅是需要在技术层面打磨,更需要在行业性知识和企业业务知识上有所沉淀。
商业智能BI 对数据的处理存在一定的滞后性,通常采用T+1模式,主要原因是ETL数据处理过程是需要有大量的时间损耗,通常是采用空间换时间的方式。
将以前按照商业智能BI 数据仓库分层的ETL调度设计成可按单独指标并自动寻找依赖的调度就大大的增加了对个别指标调度和准实时处理的灵活性。
离线数据与实时处理针对的业务场景不同,背后的技术方式实现不同,资源投入也不同,了解它们之间的定位差异有助于选择正真适合的方案以最小的资源投入达到企业既定完成商业智能BI 项目建设目标。
新闻推荐
【2024-11-27】
【2024-11-27】
【2024-11-26】
【2024-11-24】
【2024-11-24】
【2024-11-24】
【2024-11-23】
【2024-11-22】
【2024-11-22】
【2024-10-29】
【2024-10-29】
【2024-10-29】