当今数字化时代,企业会用到各个业务系统,我们对数据管理,数据汇总已不再陌生,管理者越来越认识到数据资产的重要性,那为什么,有了这么多业务系统,还要商业智能BI呢?
存在的就是合理的,存在的就有它存在的价值,商业智能BI自然是有业务系统所不具备的功能。因为各个业务系统都是服务于一线业务人员的,不是给管理者看的,管理者不需要事无巨细的看到各个经营数据,他们需要的整体市场和企业的经营管理,显然业务系统不是给他们准备的,此时就是商业智能BI大展身手的机会了。
一、商业智能BI是什么?
简单来说,商业智能BI指的就是主要由数据仓库、数据分析、查询报表、数据可视化组成的数据类技术解决方案,可以将海量杂乱的数据转化为可用的信息,满足企业不同人群对数据查询、数据分析和数据挖掘的需求,从而为业务和管理人员提供信息支撑,促进业务发展,辅助进行决策。
对于企业来说,商业智能BI的功能非常丰富,可以有效解决企业在处理数据相关流程时遇到的问题。当然除了各种功能模块,商业智能BI主要负责实现业务流程和业务数据的规范化、流程化、标准化,打通ERP、OA、CRM等不同业务信息系统,整合归纳企业数据,利用数据可视化满足企业不同人群对数据查询、分析和探索的需求,从而为管理和业务提供数据依据和决策支持。
商业智能BI已经有了数十年的发展历程,期间不断更迭的概念理论以及产品形态为现今成熟的商业智能BI产品打下了良好的根基。2013年商业智能BI最新的定义“商业智能BI是一个概括性术语。它包含了应用、基础结构、工具,以及提供信息访问和分析加以改进、优化决策表现的最佳实践”,基本上就是当前商业智能BI的形态。
当前环境下,主流的商业智能BI产品有了一个明确的定义,也有了基本的形态,大概有三条,分别是:
第一,商业智能BI是一套完整的由数据仓库、查询报表、数据分析等组成的数据类技术解决方案。
第二,商业智能BI可以将企业不同业务信息系统(ERP、CRM、OA)中的数据打通并进行有效的整合。
第三,商业智能BI可以借助合适的查询和分析工具快速准确的提供可视化分析或报表,为企业提供决策支持。
二、商业智能BI在企业IT信息化中的位置
我们都知道,目前被各行各业企业广泛应用的业务信息系统就是企业IT信息化的初级阶段,也可以说是信息化建设中的底层位置,主要负责对业务流程进行信息化改造,再进行线上化、规范化、标准化的基础上提效降本,并在系统数据库中沉淀大量数据。
那么这些数据应该如何应用呢?这就到了商业智能BI的位置。商业智能BI在企业中主要承担承上启下的责任,一方面有效整合下层的各部门业务系统数据,另一方面将数据输出实现数据资产价值化。就这样围绕数据形成了一整套数据战略体系,同时也是企业信息化建设中重要的一部分,在数字化转型企业中应用也非常广泛。
企业的IT信息化建设可以分为两个阶段:一个是业务信息化,一个是数据信息化。这样对比讲,一般的用户更容易理解一些。
业务信息化 - 企业使用的ERP、CRM、OA、自建的业务系统等,业务系统的建设都统称为业务信息化。业务信息化的主要作用是管理企业的业务流程,通过规范化、标准化、线上化,来提高业务运转效率、降低企业人力、时间、精力等成本,是业务管理思路的体现,也是现代常见的企业管理内容。
数据信息化 - 像我们经常所听到的大数据、商业智能BI、数据分析、数据挖掘等我们都统称为数据信息化。数据信息化可以帮助企业全面的了解企业的经营管理,从经验驱动到数据驱动,降低情绪、心理等主观影响,形成以数据为基础的业务决策支撑,提高决策的准确性,这是企业更高层次的企业管理方式。
信息化建设具有连贯性,没有业务系统的建设,就不会有数据的沉淀,而没有数据的沉淀,就没有建设商业智能 BI 的基础。同时,商业智能 BI 的建设能够反向推动业务信息化的建设,优化业务流程的同时提高数据的质量。
三、谁是商业智能BI的主要用户?
业务信息化的主要使用对象:一线业务执行层,更多是从业务视角出发,录入数据、记录流程、查看业务信息。
数据信息化的主要使用对象:管理决策层,更多的是从管理视角通过商业智能BI可视化分析去定位问题、分析问题,最终形成业务决策。
两个细节要点:
第一,没有任何一个管理决策层、领导会没事打开财务系统看财务数据,打开 OA 系统看看合同信息,高层领导不会看这些明细数据细节,也不会进到各个系统里面去看。也就是说,业务信息化不是给这一层领导来使用的。
第二,管理决策层是不是一定是指的企业最高层的领导,不见得,可以是企业各个组织层次中带有管理决策属性的人员,这些管理决策人员都可以通过商业智能BI提供决策支持。
四、数据孤岛到底说明了什么?
数据孤岛一般指的是只有一部分人能够访问的数据集,比如企业不同部门、不同业务信息系统数据库中的数据往往无法互通,只能在各自数据库中储存,无法统一进行利用,没有针对企业整体的全局视角。这样一来,每个部门、每个业务系统的数据都相互分隔,就像海外一座座孤岛,彼此无法连接,无法交流,这就是平时经常听到的数据孤岛。
根据之前我们提到的商业智能BI定义就能明白,商业智能BI可以打破数据孤岛,将企业各部门的业务系统数据库中的数据统一存储在数据仓库,后续可以直接在数据仓库中全面访问企业数据,并借助数据可视化制作形成的管理驾驶舱、集团看板、核心KPI指标等,以全局视角俯瞰整个企业。
在介绍商业智能BI的时候,必须要搞清楚不同人员的需求。站在企业不同员工角度,有的人认为是有数据孤岛存在的,一定要解决。有的人是不认为有数据孤岛存在的,即使存在对他们也没有影响,所以不用解决,其根本原因是没有把握商业智能BI真正的服务对象。
五、商业智能BI从业务系统取数据取数的方式
商业智能BI是通过访问和连接业务系统数据源数据库的方式来进行取数的,不管是什么样类型的数据库,商业智能BI通过ETL连接数据库抽取业务系统原表数据到数据仓库中加工处理,最后支撑到前端的可视化分析报表展现。
之前看到过有朋友提出了一个问题,他说数据源层是需要开发接口吗?简单说明一下,一般不需要,基本上这么提问的都是经历过软件系统的接口对接,软件系统的接口对接是因为有的业务软件是JAVA开发的,有的是.NET开发的,有的是 B/S 架构,有的是C/S架构。
软件系统之间的接口是需要开发参与的,主要是串联不同软件的业务流程,这种接口是需要通过代码实现的。但商业智能BI在获取数据的接口不一样,是与业务系统软件自身无关的,是只需要访问和连接业务系统背后的数据库就可以的,直接从数据库取数,因此是不需要软件接口,或者没有软件接口访问这种概念的。
除非一种情况,这个业务系统是公有云,纯SAAS模式,这种情况下没有办法实现直接取数,就只能通过软件对外开放的 API 接口取数了。
某医药行业销售人员绩效分析 - 派可数据商业智能BI可视化分析平台
六、数据中台、商业智能BI、大数据之间的关系应该如何理解?
商业智能BI在遇到大数据量、非结构化数据处理的场景,底层的数据仓库就升级为大数据的数据仓库架构,这就是大数据下的商业智能BI分析;在大数据的数据仓库架构基础之上,往左边更加拓展了数据的采集能力,在中间除了原有大数据架构的数据仓库建模之外,更加加入了数据资产的概念、数据资产盘点、数据资产管理,靠右扩展了数据服务的能力,将数据中台中按照一定规则处理好的数据打包对外提供服务。因此,大数据架构下的数据采集、数据仓库建模、数据资产管理和数据服务就构成了数据中台的几大核心。
数据中台的底子是大数据架构,数据仓库是传统商业智能BI数据仓库的大数据升级,而商业智能BI就变成了数据中台之上的应用层,利用中台的数据服务获取数据做分析展现。
这就是商业智能BI、大数据、数据中台这三者的关系和在不同数据场景、服务场景下的演变过程,看明白了这个过程,应该就不会再轻易的混淆他们的概念。至于商业智能BI、大数据、数据中台应该选择哪个,其实说到底如何选择合适的技术路线、技术架构,最终还是取决于企业自身到底要解决什么,不能盲目选择。盲目选择的结果就是大投入,小产出没有达到预期的期望。我们还是应该聚焦到需求本身,需求为王。
七、关于商业智能 BI 认知上的几大误区
很多企业把商业智能BI当做纯粹的报表工具使用,输出的形式变成了可视化图表,可图表展示的内容还是以前的部门业务信息,只展现了一线业务部门的基本情况,管理人员还是需要花费大量时间精力去了解企业整体的发展情况。
我这里总结了一下,大家对商业智能 BI 的理解常会碰到的一些误区:
1.商业智能 BI 就是报表可视化,就是一堆可视化图表,商业智能BI 就是前端可视化。
2.商业智能BI就是一个拖拉拽的分析工具产品。
3.商业智能BI就是商业智能BI,跟数据仓库没有关系。
4.有了商业智能BI就不需要数据仓库建模,业务人员就可以自己做商业智能BI分析,就可以拖拉拽做商业智能BI分析。
5.商业智能BI 就是业务驱动的,不需要 IT 人员支撑,敏捷商业智能BI不需要 IT 介入。
6.商业智能BI直连不香吗?直接连接数据源不就可以做分析,不需要数据仓库。
首先简要纠正一下对于这些问题的理解。
1、商业智能 BI 就是报表可视化,就是一堆可视化图表,BI 就是前端可视化。
商业智能BI是一套完整的有数据仓库、数据分析、数据报表等组成的数据技术类的解决方案,在一个 BI 项目中,20% 的时间做前端分析报表,80% 的时间都在底层数据仓库的设计、ETL 的开发、取数开发等工作。
所以可视化报表只是商业智能 BI 的最终呈现,但不是 商业智能BI 的全部。
2、商业智能 BI 就是一个拖拉拽的分析工具产品。
拖拉拽的可视化分析工具准确来讲只能解决 商业智能BI 的一部分,即可视化分析。但其实 商业智能BI 所包括的技术范围还是比较广的,涉及到从底层数据取数到前端展现分析的各个方面。
单纯拖拉拽的商业智能BI可视化分析工具严格来讲只能定位于个人和部门级,和企业级的商业智能BI 有很大的不同,所以单纯的上一个商业智能BI分析工具发挥不了商业智能BI的真正作用,也替代不了商业智能BI的位置。
八、报表工具是怎么来的?
这十几年我一直在技术领域、信息化领域、商业智能BI 行业,一直没有出这个圈。做过 JAVA ( AWT、SWING、JSP、Hibernate、Spring、ibatis )、.NET ( ASP、http://ASP.NET、C#.NET )、Object-C 、JS 等等技术开发,业务软件系统平台开发。
早期前端技术很弱,AJAX 的实现也都需要手写,要实现一个表单内数据的点击编辑和修改需要自己用 JS DOM 操作。做报表基本上就是 JSP、ASP 脚本语言在前端嵌套 HTML 做循环输出,报表样式很原生很丑陋,稍微复杂一点的表格报表样式都需要用 JS 来调整。
那个时候用过的报表像 Crystal Report 水晶报表、润乾报表等等,在前端脚本语言中有标签直接可以引用,报表生成代替了大量的手写代码。早期的前后端技术是不分家的,http://ASP.NET 还稍微好一些,前端逐步有一些集成控件可以直接使用,JAVA 是真没有。上面说到的这个阶段大概在什么时候呢,2005年前后,2007年我觉得已经使用的很广泛了,老的 CSDN 上应该还能找到很多原始的报表标签帖子。
像老一批报表还有像金峰报表 Jreport、思达报表 StyleReport 等等在国内也有一定的市场。早在 2010 年之前,有些报表厂商的收入规模就已经突破了一个亿,说明基础报表这个市场还是非常不错的。
那个时候的报表定位是什么,就是纯粹的 Report 报表,通过程序从后台数据库中查询返回的数据聚合 List 再到前端脚本页面上绑定一下就生成了各种报表,实际上就是用在各个业务软件系统之中的报表展示,还远远没有到 商业智能BI分析这个层面。
并且还有大量的软件开发厂商实际上已经具备了很强的报表能力,不过这些报表能力并没有单独拿出来作为报表产品在市面上运营而已。
逐步的,随着前端技术、前端框架的完善,从传统表格技术开始到了各类柱状图、条形图、饼状图的可视化展示,到了这个阶段,报表和商业智能BI的边界越来越模糊。为什么?商业智能BI的报表展现能力也就和传统报表效果大致相当,还没有出现那种自助分析、自助拖拉拽就可以实现快速多维分析的能力。
讲这么多主要想说的是我们所看到的很多商业智能BI项目都是拿报表思维去实现的,就是 SQL 到数据集到前端展现。而真正的商业智能BI思维应该是什么呢? 多维思维、模型思维,这一点决定了一个 商业智能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理解的深度不够导致了在商业智能BI项目建设上一些方向性的错误,最后s导致商业智能BI项目很难继续推进。
所以在企业中,我们需要明确我们的商业智能BI建设是面向企业级的还是个人和部门的分析工作。如果是个人数据分析师,使用这类前端商业智能BI分析工具就足够了。如果是需要构建一个企业级的商业智能BI项目,就不能只关注前端可视化分析能力这个层面,更应该关注到底层数据架构的构建,也就是数据仓库这个层面。
十一、数据仓库的建模方法论 Kimball vs Inmon 以及混合架构
数据仓库建模时商业智能BI项目建设中的重中之重,Inmon 的三范式 3NF 建模和 Kimball 的维度建模都是 商业智能BI 数据仓库建模的方法论,这两种商业智能BI建模的方式有什么区别和联系。
十二、实际开展一个 BI 项目的时候对于需求的落地的方法论
商业智能BI是一个完全需求驱动的,既然是需求就需要做访谈和调研。在商业智能BI需求进行访谈和调研之前要提前熟悉行业的业务特点,基于企业自身要熟悉他们的业务流程,以及所访谈部门的他们大概会关注的重点,都需要提前梳理一遍。在脑海里把整个业务框架给建立起来,反复的演练。
十三、什么样的企业应该要上商业智能 BI 了?
什么样的企业适合上商业智能BI?看业务基础信息化程度和日常业务管理的细致程度和颗粒度。业务基础信息化程度就是企业自身的IT业务系统基础建设,没有业务系统的支撑,做商业智能BI就缺乏数据基础;第二就是业务管理的颗粒度,企业自身业务管理程度是不是比较细致了,急需通过商业智能BI来提升业务管理、决策支撑的效率。
十四、如何高效的给高层领导做 BI 数据分析汇报总结
做完商业智能BI项目,还要考虑最终如何跟老板汇报的问题,掌握商业智能BI数据分析思维框架和汇报的五个重点:用户业务层次与范围、工作成果、计划执行复盘、问题反馈、展望规划与愿景。
这里只是一个简单的汇报框架,还有很多点可以往里面加。比如围绕行业讲一下行业驱动因素跟 商业智能BI 如何结合的;从企业经营管理角度,企业愿景到 CSF 到 KPI 到绩效是如何分解和重新组织的;比如财务视角下的归因分析;金字塔的管理模型;动态指标库构成原理等等都可以有所选择的进行融入和说明。
十五、商业智能BI与企业经营管理的结合度
商业智能BI分析跟企业的经营管理分析高度结合,ROE高的企业有可能是利润高像茅台、珠宝行业,有可能是周转快比如像零售行业,也有可能是融资能力比较强会利用杠杆,从ROE归因分析看行业特点。
十六、商业智能BI项目行业和业务知识的积累
做商业智能BI还必须熟悉行业和业务知识,不结合行业业务知识,商业智能BI的项目是很难落地的。商业智能BI的本质其实是企业的业务和管理思维的落地。企业的高层、业务部门的管理人员为什么要通过商业智能BI去看报表,他们看的是什么,重点关注的是什么?这些内容就是他们日常在企业中业务经营管理的重点。
在商业智能BI项目上看上去零零散散的报表,在实际用户眼里其实是有很强的逻辑关联性的。并且层次越高的管理人员看的商业智能BI报表内容越聚焦,看的是业务结果。一线业务部门的人员可能关注的更零散,看的是明细的业务过程数据。
所以,对于一名优秀的商业智能BI开发人员、开发顾问,不仅仅是需要在技术层面打磨,更需要在行业性知识和企业业务知识上有所沉淀。
十七、关于商业智能 BI 实时性处理的话题
商业智能BI 对数据的处理存在一定的滞后性,通常采用T+1模式,主要原因是ETL数据处理过程是需要有大量的时间损耗,通常是采用空间换时间的方式。
将以前按照商业智能BI 数据仓库分层的ETL调度设计成可按单独指标并自动寻找依赖的调度就大大的增加了对个别指标调度和准实时处理的灵活性。
离线数据与实时处理针对的业务场景不同,背后的技术方式实现不同,资源投入也不同,了解它们之间的定位差异有助于选择合适的方案以最小的资源投入达到企业既定完成商业智能BI 项目建设目标。