前端怎么和数据库连接起来

作者&投稿:壹咽 (若有异议请与网页底部的电邮联系)

01、什么是商业智能BI?

商业智能BI - 派可数据商业智能BI可视化分析平台

首先要了解什么是商业智能BI( Business Intelligence )?百度商业智能BI有很多很多官方的定义,各种解释,实际上从这么多年的经验出发,对商业智能BI的定义我认为不需要弄得很复杂,就三条:

第一,商业智能BI是一套完整的由数据仓库、查询报表、数据分析等组成的数据类技术解决方案。

第二,商业智能BI可以将企业不同业务系统( ERP、OA、CRM 等 )中的数据进行打通并进行有效的整合。这个打通和整合就包括了:ETL 过程、取数、业务逻辑规则像数据规则的转变、数据仓库建模等。

第三,商业智能BI最终利用合适的查询和分析工具快速准确的提供可视化分析或报表,为企业提供决策支持。

商业智能BI - 派可数据商业智能BI可视化分析平台

商业智能BI需要讲解的那么高大上吗? 不需要,其实简单就看三层:

第一层,可视化分析展现层 - 即商业智能BI的需求层,代表用户的需求,用户要看什么,要分析什么就在这一层进行展现。

第二层,数据模型层 - 即商业智能BI的数据仓库层,代表数据的分析模型,完成从业务计算规则向数据计算规则的转变。

第三层,数据源层 - 即商业智能BI的数据层,各个业务系统底层数据库的数据通过 ETL 的方式抽取到 商业智能BI 的数据仓库中完成 ETL 过程,建模分析等等,最终支撑到前端的可视化分析展现。

02、商业智能BI在企业IT信息化中的位置

这一点是所有企业如果规划要上商业智能BI项目的时候必须弄明白的:商业智能BI在IT信息化中到底处于一个什么样的位置?弄清楚定位是信息化规划建设的重要前提。

通常情况下,我们会在规划商业智能BI项目前,把企业的 IT 信息化分为两个阶段:一个是业务信息化,一个是数据信息化。这样对比讲,一般的用户更容易理解一些。

企业信息化 - 派可数据商业智能BI可视化分析平台

业务信息化 - 企业使用的 ERP、CRM、OA、MES、自建的业务系统等,业务系统的建设都统称为业务信息化。业务信息化的主要作用是管理企业的业务流程,标准化、线上化,以提高生产运营效率、降低企业成本、为商业智能BI的建设打下数据基础、是业务管理思路的体现,也是现代的企业管理方式。

数据信息化 - 像我们经常所听到的大数据、商业智能 BI 、数据分析、数据挖掘等我们都统称为数据信息化。数据信息化可以帮助企业全面的了解企业的经营管理,从经验驱动到数据驱动,形成业务决策支撑,以提高决策的准确性,这是企业更高层次的企业管理方式。

没有业务系统的建设,就不会有数据的沉淀,就没有建设商业智能 BI 的基础。同时,商业智能 BI 的建设能够反向推动业务信息化的建设。

企业信息化 - 派可数据商业智能BI可视化分析平台

业务信息化的主要使用形式 - 表单式的、以业务用户录入为主的、数据的增删改操作居多,是对业务过程数据、业务流程进行管理的软件系统。

数据信息化的主要使用形式 - 例如商业智能BI主要是对业务结果数据进行整体分析呈现和局部洞察,旨在打通各类业务系统的数据,跨业务、跨系统整合数据。以数据查询和分析为主,通过联动、钻取、关联等图表可视化的方式来看数据指标。

03、谁是商业智能BI的主要用户?

商业智能BI - 派可数据商业智能BI可视化分析平台

业务信息化的主要使用对象 - 一线业务执行层,更多是从业务视角出发,录入数据、记录流程、查看业务信息。

数据信息化的主要使用对象 - 管理决策层,更多的是从管理视角通过商业智能BI可视化分析去定位问题、分析问题,最终形成业务决策。

两个细节要点:

第一,没有任何一个管理决策层、领导会没事打开财务系统看财务数据,打开 OA 系统看看合同信息,高层领导不会看这些明细数据细节,也不会进到各个系统里面去看。也就是说,业务信息化不是给这一层领导来使用的。

第二,管理决策层是不是一定是指的企业最高层的领导,不见得,可以是企业各个组织层次中带有管理决策属性的人员,这些管理决策人员都可以通过商业智能BI提供决策支持。

04、数据孤岛到底说明了什么?

消灭数据孤岛为什么就一定要用商业智能BI,谁要求要消灭数据孤岛的?业务部门会觉得有数据孤岛的问题吗?我就用我的财务系统做账,数据孤岛就孤岛呗,我喜欢孤岛,我的财务数据就我们自己看,领导看,我一点都不孤岛。我就管个库存,数据孤岛就孤岛呗,我也用不着管其他的,我的报表够看就可以,孤岛跟我有什么关系?

所以,我们在讲商业智能BI,讲数据孤岛的时候不是给一线业务部门讲的,而应该是给跨业务、跨部门、跨组织的这些管理层讲的,只有从他们的视角里,这些业务系统和数据才是真正的孤岛。

商业智能BI - 派可数据商业智能BI可视化分析平台

深层次的原因是什么?深层次的原因就是:这些业务信息化系统并不是为管理层服务的,是为一线业务部门服务的。管理层不是这些业务系统的用户,他们绝对不会没事一个系统一个系统的登录进去看数据,他们没有这种使用习惯,他们更不会关注到各个业务系统的微观层面。所以,大多数情况下只有这些跨组织、跨业务的管理层才会认为有数据孤岛的存在,所以是他们要求解决数据孤岛。

由于商业智能BI是天然解决数据孤岛问题的,所以商业智能BI是为谁服务的,是为管理层服务的数据信息化系统。商业智能BI要打破数据孤岛,全面的看数据,全面的管业务,商业智能BI就是业务管理视角的自然延伸,要广度、要深度。

管理驾驶舱 - 派可数据商业智能BI可视化分析平台

所以,站在不同的角度,有的人认为是有数据孤岛存在的,一定要解决。有的人是不认为有数据孤岛存在的,即使存在对他们也没有影响,所以不用解决,其根本原因是没有把握商业智能BI真正的服务对象。

通过数据孤岛,我们能够把一些问题看的更加清楚一些。

05、商业智能BI从业务系统取数据取数的方式

商业智能BI不是像业务系统与业务系统之间的接口开发取数方式,而是通过访问和连接业务系统数据源数据库的方式来进行取数的,不管是什么样类型的数据库,商业智能BI通过ETL连接方式连接数据库抽取业务系统原表数据到数据仓库中加工处理,最后支撑到前端的可视化分析报表展现。

商业智能BI - 派可数据商业智能BI可视化分析平台

之前有朋友这么提问的:数据源层是需要开发接口吗?

这是回答:

一般不需要,基本上这么提问的都是经历过软件系统的接口对接,软件系统的接口对接是因为有的业务软件是 JAVA 开发的,有的是 .NET 开发的,有的是 B/S 架构,有的是 C/S 架构。软件系统之间的接口是需要开发参与的,主要是串联不同软件的业务流程,这种接口是需要动代码的。 但 商业智能BI 在获取数据的接口不一样,是与业务系统软件自身无关的,是只需要访问和连接业务系统背后的数据库就可以的,直接从数据库取数,因此是不需要软件接口,或者没有软件接口访问这种概念的。

除非一种情况,这个业务系统是公有云,纯 SAAS 模式,这种情况下就只能通过软件对外开放的 API 接口取数了。

某建筑行业集团看板 - 派可数据商业智能BI可视化分析平台

某汽车行业售后业务分析 - 派可数据商业智能BI可视化分析平台

06、数据中台、商业智能BI、大数据之间的关系应该如何理解?

大家在了解商业智能BI的时候,不可避免的会了解到大数据,数据中台等一些概念,如何正确理解他们之间的差别呢?大数据、数据中台都是商业智能BI发展到一定阶段的产物,核心都是围绕数据,数据采集、数据处理能力、算力的提升催生了大数据,数据资产和数据服务催生了数据中台,核心的数仓建模自 商业智能BI 一脉相承未曾改变,最终出口还是 商业智能BI 可视化,所以商业智能BI的位置处于整个信息化建设的最顶端。

07、关于商业智能 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 所包括的技术范围还是比较广的,涉及到从底层数据取数到前端展现分析的各个方面。以微软为例,早在 SQL Server 2005 的时候就可以看到完整的 Integration Service( SSIS )、Reporting Service ( SSRS )、Analysis Service ( SSAS ),这三个服务加上 SQL Server 自身构成了微软的商业智能 BI 解决方案。( SQL Server 2000 的 DTS 不知道还有多少人记得 )Reporting - 可视化展现只是 商业智能BI 解决方案的一部分。

SSIS 是解决什么的 - ETL 工具,Extraction 抽取 - Transformation 转换 - Loading 加载,做整个 ETL 的可视化设计、包的管理、ETL 包调度管理,包含了 Package - Control Flow - Data Flow 做整个数据抽取的管理。数据仓库 DW 的分层设计,例如 ODS / Staging 层、Dimension 层、Fact 层( 从 DW 到 DM )层的逻辑表数据抽取也都是可以放到 SSIS 中完成的。

我之前就是微软 商业智能BI 技术线的,早些年的时候积累过不少的 商业智能BI 技术博客 - BIWORK 的技术博客

SSRS 是解决什么的 - Reporting 报表展现,当初的报表展现比较薄弱。在 2012 Windows 8 Metro UI 设计刚出来的时候,我们在 SSRS 中借鉴了 Metro UI 的样式,算是比较前卫和惊艳的了。

客观来讲,很多国内外报表工具都借鉴过 SSRS 的数据集模式( 写一条 SQL 查询或者存储过程返回一个查询的结果绑定到一个数据集 Dataset 中,图表与数据集绑定,图表的字段引用自数据集 ),但这种方式也有它的限制使用场景或者使用前提,后面会陆续讲到这个问题。

SSAS 是解决什么的 - 空间换时间的多维分析实现,OLAP、CUBE 立方体。例如在分析报表中多个维度 ( Dimension ) 可以和多个度量( Measure ) 组合,以时间、区域、产品三个维度和销售收入这个度量为例子,在用户打开一个报表,根据报表的字段可能组合的查询就是:

SELECT 时间,

区域,

产品,

SUM ( 销售收入 )AS 收入

FROM 事实表 JOIN 时间维度表 ON XXXXX

JOIN 区域维度表 ON XXXXX

JOIN 产品维度表 ON XXXXX

GROUP BY 时间、区域、产品

有可能是这样的一个查询

SELECT 时间,

区域,

SUM ( 销售收入 )AS 收入

FROM 事实表 JOIN 时间维度表 ON XXXXX

JOIN 区域维度表 ON XXXXX

GROUP BY 时间、区域

当底层数据表数据量过大、聚合查询和复杂,各种维度和事实度量组合的 SQL 查询大量的发往数据仓库查询,这种查询效率可能会变得非常的差,因为数据查询 SQL 本身就可能需要执行很长时间,还不算返回到前端报表的中间数据传输过程、前端报表的渲染时间等等,所以通过 SSAS 实现一个 CUBE 立方体,本质就是相当于把各种维度和度量的这种聚合查询( 各种聚合函数,可以选择 ) SQL 给提前执行了,最后将各种维度和度量 SQL 查询的值提前存储起来。前端报表连接到 CUBE 中直接使用预计算好的值就可以了,而不再需要通过 SQL 到数据仓库层查询,这就是空间换时间的原理。

讲到这里说明了一个什么问题,就是一套完整的 商业智能BI 实际上包括的有很多东西,有底层数据处理的 ETL 过程,也有前端可视化分析报表的。

在 ETL 工具层面:微软 SSIS、Informatica、IBM DataStage、Pentaho、Kettle、DataWatch 等等。

在 报表 Reporting 工具层面:早期的微软 SSRS、IBM Cognos、Oracle BIEE、SAP BO 等等。

单纯的拖拉拽的 BI 可视化分析工具严格来讲只能定位于个人和部门级的 商业智能BI 分析工具,因为单纯的上一个 商业智能BI 分析工具解决不了 商业智能BI 的全部,也代替不了 商业智能BI 的全部。

3.以前也总有人说商业智能BI就是业务驱动,商业智能BI就是 BI,跟数据仓库没有关系。

有了 商业智能BI 就不需要数据仓库建模,业务人员就可以自己做 商业智能BI 分析,就可以拖拉拽做 商业智能BI 分析,,不需要 IT 人员支撑,敏捷 商业智能BI 不需要 IT 介入,不需要建数据仓库,我以前有段时间也是这么认为的。但是再沉淀了一段时间,对这种方法论进行过一段时间的追踪,最后发现其实是存在很大问题的。

管理驾驶舱大屏 - 派可数据商业智能BI可视化分析平台

但凡有任何 商业智能BI 的销售或者售前告诉用户,你们企业的 商业智能BI 项目不需要构建数据仓库,直接通过 商业智能BI 分析工具拖拉拽就可以搞定企业里面所有的分析,不需要 IT 人员支撑,业务人员完全可以自己搞定... 类似于敢这样承诺的,要么是对 商业智能BI 不懂,要么就是真忽悠。

在企业级的 商业智能BI 项目建设中,真正能做到完全靠业务人员简单拖拉拽一些就能随便实现数据可视化分析,至少在我个人从业的十几年工作经验中,95%以上的企业都做不到。我服务过的重点企业包括:SHP( Security Health Plan )、微软(中国)、微软(美国)、VWFC( 大众金融 )等。

VWFC 做的算是非常不错的,少有的业务人员自己动手做很多报表,线上跑了几千张报表。为什么? 因为底层数据仓库就搭建了很多年,底层数据架构相对比较规范。Business Driven 业务驱动,它的前提是什么?

1) 底层数据质量很规范,数据仓库架构很完整,不让业务人员碰底层数据,ETL、取数、指标计算等等统统都是 IT 部门来维护。

2) 业务人员通过培训要熟练掌握商业智能BI前端报表工具的使用,要很懂放出来的数据分析模型接口。

3) 业务人员要非常熟悉业务和数据。

第 2)和第 3)条很多企业没有问题,第 1)条直接弄个前端 商业智能BI 工具让业务人员解决,能解决掉吗? 很显然业务人员是不具备这种能力的。

这就是一到培训的时候,商业智能BI工具使用起来很简单,但是一旦到实际的企业 商业智能BI 项目开发就发现寸步难行。因为培训的时候,给出的数据表都是经过选择的,永远都是质量很高的、规范的只需要简单左表连右表例如销售订单表、订单明细表,自然很容易把可视化报表给实现出来。

数据可视化 - 派可数据商业智能BI可视化分析平台

但是在实际企业 商业智能BI 项目分析中,分析指标的计算规则绝非简单几张表关联就可以解决的,不信的话可以挑战一下一个实际的指标计算逻辑:挑战一个 ETL 数据清洗的小案例 在数据库中就一张数据表,数据理解起来也很简单,但很多 商业智能BI 开发人员做起来也需要废很大的精力,就更别谈业务人员自助 商业智能BI 分析了。

讲这么多不是为了一味否定自助式 商业智能BI 它的作用和能力,自助式 商业智能BI 有它的使用场景,也确实帮助我们简化了很多的 BI 工作,但从专业角度出发,特别反感是部分商业智能BI 厂商以一种不负责任的方式反复向市场强化类似于这样的概念:商业智能BI 就是可视化报表、商业智能BI 不需要数据仓库建模、传统数据仓库建模很落后、商业智能BI 就是自助分析、商业智能BI 自助分析很简单、业务用户简单几天培训就可以学会并且想怎么分析就怎么分析...

从市场宣传和销售的角度来说,简化产品的复杂度和上手难度的宣传是没有问题的,有问题的是以一种错误的讲解、不专业的讲解最终误导企业接受了这些不正确的概念,并以这些不正确的概念来评估与规划 商业智能BI 项目的建设,没有充分预计到 商业智能BI 项目建设过程中可能会遇到的挑战与风险,最后导致项目的不成功与失败、反复建设。

我们在北京就有一个客户之前花了一百多万上了一套所谓的 商业智能BI 项目,项目上线了一年左右,到最后完全推不动,失败了。后续找到派可数据,我们给他们上了派可数据商业智能BI分析平台,这个项目我们连续做了好几期,客户还写了感谢信。之前为什么推不动、项目会失败:不重视数据仓库的规划。因为他们的业务是连续的、变动的,每年的需求都是需要动态调整的,数据持续增加,分析的深度和广度都是在不断变化,没有一个好的底层数据架构来支撑,光靠 SQL 取数、建数据集出报表的形式是不可能支撑一家企业未来 3-5 年甚至更长远的业务分析需求变化的。

除了这个案例之外,在我的手机上有很多之前上过 商业智能BI 最终失败、没有做好,找过来聊天吐槽的记录,是真的产品不好吗?我也客观的帮助他们分析过:这些产品本身有的是 Gartner 魔力现象 Leader 象限的产品,你说产品行不行? 有的产品是国内商业智能 BI 领域很多年的老品牌,你说产品行不行? 客观来讲,这些产品从我个人角度来说,这些产品其实都很优秀,产品本身是没有太大问题的。

问题在于,这么多从零到一需要上 商业智能BI 的企业不知道一个 商业智能BI 项目中原来还有那么多坑,很多 商业智能BI 厂商会不会去把这些点给企业客户讲清楚,一个 商业智能BI 项目到底怎么干、中间有什么样的风险、以后还会遇到什么样的问题、应该怎么解决这些问题、有什么样的方法论和手段... 如果只是为了卖一套 商业智能BI 产品或者工具,你觉得这些 商业智能BI 销售会跟客户讲这些东西吗? 不会的,至少不会讲的太深太全,因为这么一讲把 商业智能BI 难度讲太复杂了,一旦没有讲好,反而降低了客户的信任。

有的时候不讲,是因为怕讲复杂了,让企业客户决策周期拉的太长了。有的时候不讲,是因为不懂。你不讲,客户不知道,客户也没有经验,后续商业智能BI项目建设就会出问题。

在一次大会上,某商业智能BI厂商一位高级售前技术专家在跟客户交流时说过的一句话:商业智能BI直连不香吗?直接连接数据源不就可以做分析,不需要数据仓库。无知者无畏,实在听不下去,就打断直接沟通了一下。通过沟通,可以判断这个所谓的技术专家基本上没有做过完整的 商业智能BI 项目经验,从零到一搭建一个 商业智能BI 项目的能力等于零。以这样的一种能力跟客户来引导一个 商业智能BI 项目,这种 商业智能BI 项目的质量能有保证吗,很难的。

这也就是我们派可数据、我个人做视频号《吕品聊数据》的原因,客观的讲讲 商业智能BI、客观的讲讲数据,普及一下我们认为正确的 商业智能BI 知识和概念。告诉我们广大的 商业智能BI 用户,商业智能BI 到底应该怎么理解、怎么认知,商业智能BI 到底有什么样的坑需要我们的企业注意。

我们不能说我们派可数据在 商业智能BI 领域讲的知识和概念就一定是放之四海而皆准的,但是我们欢迎任何 商业智能BI 厂商或者任何 BI 个人爱好者就 商业智能BI 的一些知识和概念来向我们挑战,来看看派可数据所普及的一些 商业智能BI 知识概念到底对不对。如果普及的对,说明这些问题大家确实都碰到了,这些知识和概念对于企业而言就是难得的经验。如果普及的不对,不对又是在什么地方,指出来大家一起看看,一起探讨一下,我们还可以为企业做些什么。

08、报表工具是怎么来的?

这十几年我一直在技术领域、信息化领域、商业智能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 项目的最终走向,后面会具体讲到这些点。

09、商业智能BI的本质 - 企业业务管理思维的落地

商业智能BI的本质 - 派可数据商业智能BI可视化分析平台

商业智能 BI 到底是什么?技术?产品?还是其它?我们把对于 BI 的理解再提升一个层次:商业智能 BI 是一家企业业务和管理思维的落地。这个怎么来理解呢?简单来说,就是在可视化报表上呈现的内容就是一家企业真正关注的内容,这里面有管理高层重点关注的企业经营性的分析指标,也有某具体部门的。

10、商业智能BI 和数据仓库 Data Warehouse 有什么区别和联系?

经常会碰到有人问商业智能BI和数据仓库有什么区别,实际上这个问题的背后能反映出来一些朋友对商业智能BI的理解还是有些不准确和偏差,这个问题实际上从概念上把BI和数据仓库人为的割裂了。这种情况其实也比较正常,因为大家对商业智能BI的第一印象就是各种炫酷的可视化图表、报表,再加上市面上有很多轻量的前端可视化商业智能BI分析工具,就造成大家对BI的认知就停留在可视化这部分了。

准确的来说,商业智能BI不仅仅包含前端可视化分析、报表展现的能力,更包含了底层数据仓库的建设过程。Gartner 在上世纪九十年代就已经提到了商业智能 Business Intelligence,它更多的认为:BI是一种数据类的技术解决方案,将许多来自不同企业业务系统的数据提取有分析价值的数据进行清洗、转换和加载,就是抽取Extraction、转换 Transformation、加载Loading 的ETL过程,最终合并到一个数据仓库中,按照一定的建模方式例如Inmon 的3NF 建模、Kimball 的维度建模或者两者都有的混合式架构模型,最终在这个基础上再利用合适的分析展现工具来形成各种可视化的分析报表为企业的管理决策层提供数据决策支撑。

商业智能BI - 派可数据商业智能BI可视化分析平台

所以,可以从这里能够看到数据仓库Data Warehouse 的位置是介于可视化报表和底层业务系统数据源之间的这一层,在整个商业智能BI项目解决方案中起到的是一个承上启下的作用。如果把商业智能BI比作是一个人的话,上半身特别是脸这个部分就是颜值,下半身脚踏实地吸取大地的精华,中间这部分的腰腹核心、核心力量就是数据仓库。

篮球之神乔丹不光光有颜值,滞空能力是顶尖的存在,才会在上篮的时候有各种让人惊叹的动作,能够支撑这些动作其实靠的是什么?就是乔丹的腰腹核心力量。

所以,商业智能BI在前端可视化分析层面要玩出各类精彩的动作,没有数据仓库这个核心力量的支撑是很难做到的。

那大家也会问到,市面上不是有很多直接链接数据源就可以拖拉拽分析的商业智能BI工具产品吗,不也一样可以做商业智能BI分析报表吗?这种独立的、单独的面向前端的商业智能BI分析工具,他们更多的定位是部门级和个人级的商业智能BI 分析工具,对于深层次的需要复杂数据处理、集成、建模等很多场景是无法解决的。最好的方式就是底层构建一套完整的数据仓库,把很多分析模型标准化,再利用这些前端商业智能BI分析工具结合起来,这样才能真正的把前端商业智能BI分析能力给释放出来。

很多企业认为只要买一个前端商业智能BI分析工具就可以解决企业级的商业智能BI所有问题,这个看法实际上也不可行的。可能在最开始分析场景相对简单,对接数据的复杂度不是很高的情况下这类商业智能BI分析工具没有问题。但是在企业的商业智能BI项目建设有一个特点,是一个螺旋式上升的建设过程。因为对接的业务系统可能会越来越多,分析的深度和广度会越来越多,数据的复杂度也会越来越有挑战性,这个时候没有一个很好的数据仓库架构支撑,光靠前端BI分析工具基本上是无法搞定的。

数据仓库 - 派可数据商业智能BI可视化分析平台

就像去中药店抓药一样,之所以抓药很快,是因为在抓药前,别人已经把各种原生的中药材(原始数据源的数据)分门别类清理干净放好了,这样想怎么搭配药材(维度指标组合的可视化)就很快了。

这样的企业在国内有很多,也是因为对商业智能BI理解的深度不够导致了在商业智能BI项目建设上一些方向性的错误,最后导致商业智能BI项目很难继续推进。

所以在企业中,我们需要明确我们的商业智能BI建设是面向企业级的还是个人和部门的分析工作。如果是个人数据分析师,使用这类前端商业智能BI分析工具就足够了。如果是需要构建一个企业级的商业智能BI项目,就不能只关注前端可视化分析能力这个层面,更应该关注到底层数据架构的构建,也就是数据仓库这个层面。

11、数据仓库的建模方法论 Kimball vs Inmon 以及混合架构

数据仓库建模时商业智能BI项目建设中的重中之重,Inmon 的三范式 3NF 建模和 Kimball 的维度建模都是 商业智能BI 数据仓库建模的方法论,这两种商业智能BI建模的方式有什么区别和联系。

12、实际开展一个 BI 项目的时候对于需求的落地的方法论

商业智能BI是一个完全需求驱动的,既然是需求就需要做访谈和调研。

13、什么样的企业应该要上商业智能 BI 了?

什么样的企业适合上商业智能BI?看业务基础信息化程度和日常业务管理的细致程度和颗粒度。业务基础信息化程度就是企业自身的IT业务系统基础建设,没有业务系统的支撑,做商业智能BI就缺乏数据基础;第二就是业务管理的颗粒度,企业自身业务管理程度是不是比较细致了,急需通过商业智能BI来提升业务管理、决策支撑的效率。

14、如何高效的给高层领导做 BI 数据分析汇报总结

做完商业智能BI项目,还要考虑最终如何跟老板汇报的问题,掌握商业智能BI数据分析思维框架和汇报的五个重点:用户业务层次与范围、工作成果、计划执行复盘、问题反馈、展望规划与愿景。

15、商业智能BI与企业经营管理的结合度

商业智能BI分析跟企业的经营管理分析高度结合,ROE 高的企业有可能是利润高像茅台、珠宝行业,有可能是周转快比如像零售行业,也有可能是融资能力比较强会利用杠杆,从ROE 归因分析看行业特点。

16、商业智能BI项目行业和业务知识的积累

做商业智能BI还必须熟悉行业和业务知识,不结合行业业务知识,商业智能BI的项目是很难落地的。

17、关于商业智能 BI 实时性处理的话题

商业智能BI 对数据的处理存在一定的滞后性,通常采用T+1模式,主要原因是ETL数据处理过程是需要有大量的时间损耗,通常是采用空间换时间的方式。

将以前按照商业智能BI 数据仓库分层的ETL调度设计成可按单独指标并自动寻找依赖的调度就大大的增加了对个别指标调度和准实时处理的灵活性。

离线数据与实时处理针对的业务场景不同,背后的技术方式实现不同,资源投入也不同,了解它们之间的定位差异有助于选择合适的方案以最小的资源投入达到企业既定完成商业智能BI 项目建设目标。

","gnid":"9706eb83e134829c5","img_data":[{"flag":2,"img":[{"desc":"","height":"405","title":"","url":"https://p0.ssl.img.360kuai.com/t0157a2438a726fc259.webp","width":"720"},{"desc":"","height":"404","title":"","url":"https://p0.ssl.img.360kuai.com/t01e795a6b1525c516a.png","width":"720"},{"desc":"","height":"402","title":"","url":"https://p0.ssl.img.360kuai.com/t0143c482a9cf57f2f0.png","width":"720"},{"desc":"","height":"404","title":"","url":"https://p0.ssl.img.360kuai.com/t01088dcd6063b18e5e.png","width":"720"},{"desc":"","height":"405","title":"","url":"https://p0.ssl.img.360kuai.com/t01c31ee7ed190848fa.png","width":"720"},{"desc":"","height":"405","title":"","url":"https://p0.ssl.img.360kuai.com/t015ee99159f1b7a6b3.webp","width":"720"},{"desc":"","height":"404","title":"","url":"https://p0.ssl.img.360kuai.com/t019c83cc639d006aa2.png","width":"720"},{"desc":"","height":"404","title":"","url":"https://p0.ssl.img.360kuai.com/t01e795a6b1525c516a.png","width":"720"},{"desc":"","height":"342","title":"","url":"https://p0.ssl.img.360kuai.com/t014926ed5b25299780.png","width":"559"},{"desc":"","height":"793","title":"","url":"https://p0.ssl.img.360kuai.com/t01fe87ee8a9670e69a.png","width":"720"},{"desc":"","height":"404","title":"","url":"https://p0.ssl.img.360kuai.com/t012e841c8222eace73.png","width":"720"},{"desc":"","height":"405","title":"","url":"https://p0.ssl.img.360kuai.com/t01855e7e415511cca1.png","width":"720"},{"desc":"","height":"505","title":"","url":"https://p0.ssl.img.360kuai.com/t01ec22f2a0c5173ebe.webp","width":"720"},{"desc":"","height":"403","title":"","url":"https://p0.ssl.img.360kuai.com/t019aaecb665588ef84.png","width":"720"},{"desc":"","height":"404","title":"","url":"https://p0.ssl.img.360kuai.com/t012e841c8222eace73.png","width":"720"},{"desc":"","height":"201","title":"","url":"https://p0.ssl.img.360kuai.com/t0101fdd9c08146643a.png","width":"720"}]}],"original":0,"pat":"art_src_0,fts0,sts0","powerby":"pika","pub_time":1695782480000,"pure":"","rawurl":"http://zm.news.so.com/43fa8de1f16171d847ce370c59796440","redirect":0,"rptid":"50034f86f3808a05","rss_ext":[],"s":"t","src":"派可数据","tag":[],"title":"什么是商业智能(BI),就看这篇文章足够了

数据库的连接方式有哪些
数据库的连接方式主要有以下几种:1. 直接连接:这是一种简单的连接方式,客户端应用程序直接与数据库服务器建立连接。在这种方式中,客户端应用程序直接与数据库进行通信,适用于小型系统或简单的应用场景。但由于每次都需要建立连接,直接连接可能不适用于大型系统或高并发的场景。2. 数据库中间件连接:...

前端后端数据库怎么对接(前端与数据库的连接)
代码根据程序员预设的算法将收到的数据进行处理之后会相应的对数据库进行操作,存储数据等。 ③成功操作完数据库之后,业务层的代码会再向表示层也就是显示器端传回一个指令通知你表格填写成功。 这就是基本的网站数据交换逻辑了 后端会暴露出一个处理数据逻辑的接口(api),然后哦前端通过js像后端暴露的api发起请求过...

mysql怎么连接数据库啊?
步骤1:电脑上安装Navicat Premium(可以百度搜索“Navicat Premium”然后下载)步骤2:安装完毕,打开Navicat Premium,点击“连接”,然后下拉选择“MySQL”步骤3:打开MySQL的新建连接界面,然后给连接取个名字并输入已知MySQL数据库所在服务器的IP地址、数据库端口(默认3306)、用户名、密码,确保没问题之后...

应用程序如何与数据库建立连接
1、首先打开visual studio 2017开发工具进入软件主界面。2、选择工具下的连接到数据库功能,系统会弹出连接数据库的对话框。3、在对话框中填写要连接的数据库信息,用户名,密码等。4、选择完成后,点击测试连接,连接成功后,选择要管理的数据库。5、点击确定后,vs2017连接数据库成功,右边会出现管理数...

房友软件手机端怎么访问电脑数据库
1. 确保您的电脑上的数据库可以被外部访问。您需要设置数据库软件,允许远程连接或访问。2. 确定电脑的IP地址。在电脑上打开一个命令提示符窗口(Windows系统可以通过按Win+R,然后输入cmd并按Enter键,或通过在开始菜单中搜索cmd找到),然后在命令提示符中键入"ipconfig"并按Enter键。会显示出电脑的IP...

如何将前端网页与后台数据库连接?
1、您需要掌握的第一件事是数据库查询语句。这是最简单的数据库查询语句:SELECT * FROM sys_role,这意味着从角色表中查询所有信息。以下显示了查询结果。此结果需要显示在首页上。需要代码来调用这个sql语句。2、在applicationContext.xml(spring mvc配置文件)中配置数据库连接池以确保数据的正常连接,...

django怎么打开数据库连接(2023年最新整理)
右键单击【数据库】节点,从弹出来的快捷菜单中选择【新建数据库】命令。django怎么启动数据库连接方法\/步骤修改setting.py里面的DATABASES元组为DATABASES={'default':{'ENGINE':'django.db.backends.mysql','NAME':'books',#你的数据库名称'USER':'root',#你的数据库用户名'PASSWORD':'',#你的数据...

Android客户端怎么与服务器数据库连接?
不能与数据库连接的 Android客户端不能直接与服务器数据库连接。数据库是需要非常大的内存,安装之后有好几G,连接数据库要有一个像SQLServer里的webservice,这样的一个桥梁来间接访问。就是在服务器运行一个服务端程序,该服务端程序通过接收来自android客户端的指令,对数据库进行操作。客户端的http请求...

如何用oracle 11g客户端 配置连接服务器数据库。
1、打开所有程序->找到oracle-oradb11g-home1->Net Configuration Assistant。2、选择本地网络服务名配置,点击下一步。3、选择添加,点击下一步。4、填写服务名,点击下一步。5、选择通信协议:TCP,点击下一步。6、填写数据库所在的主机名(也可以是IP地址),选择端口号(根据数据库所在的主机的...

django怎么与前端连接数据库?
导读:很多朋友问到关于django怎么与前端连接数据库的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!用pyqt做好了前端,想用django做服务器,想问一下大概怎么搭建呢?一般客户端(也就是你说的前段)跟服务器端(你准备使用Django)都是通过HTTP协议...

蒋岭13531078817问: html做好了前端,然后需要连接数据库,该怎么做 -
周宁县谓安回答: 把所有要加数据库内容的页面的后缀都改为(asp\php\aspx\jsp)是的一种就行,看你会什么了,呵呵!之后就可以加入服务器脚本语言了.就这么简单

蒋岭13531078817问: 关于前端连接数据库的问题 -
周宁县谓安回答: 前端的JS 自身可能不能直接连数据库,后端的JS(如 Node.js )是可以连数据库的; 如果你想前端JS 查数据库,可以用JS 发一个ajax 请后端,后端查询完数据库后,把结果封装成JSON 返回,前端的AJAX 回调函数中取出JSON 对象,把内容...

蒋岭13531078817问: 怎样将前端利用程序和数据库SQL2008连接起来
周宁县谓安回答: ADO.NET对MicrosoftSQLServer和XML等数据源和通过OLEDB和XML公然的数据源提供1致的访问.数据同享使用者利用程序可使用ADO.NET来连接到这些数据源,并检索、处理和更新所包括的数据.ADO.NET通过数据处理将数据访问分解为...

蒋岭13531078817问: 怎样把已经做好的前台页面,跟后台系统联系起来,代码是什么?具体怎么做? -
周宁县谓安回答: 联系后台正常情况下都是通过数据绑定来实现的,关键技术是如何和数据库相链接. 正常的代码一般都是写一个属性,这个属性里包含数据库的名称,登录账号和密码. 然后通过代码调用这个属性来和数据库链接,再从数据库对应的表中获取数据呈现到前端.

蒋岭13531078817问: html前端设计好了怎样使用C#实现连接数据库 -
周宁县谓安回答: 可以, 用fso<script language="javascript" runat="server"> var conn=new ActiveXObject("ADODB.Connection"); conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=myTest.mdb"; conn.Open(); var rs = new ...

蒋岭13531078817问: 前端新人,请问JS如何连接mysql -
周宁县谓安回答: 首先要明白一个概念 js是客户端加载的不可能让客户端直接连数据库,如果连了就不安全啊,所以需要服务端连接数据库,服务端js连数据库我只知道node.js,你可以看看 套路就是客户端请求服务端,服务端连接数据库获取值再返回到客户端

蒋岭13531078817问: html怎么链接数据库 -
周宁县谓安回答: HTML静态本身是不可以直接连接数据库的,但是可以在静态网页里嵌套一个JS脚本或一个,再在这个JS或里连接数据库.这样就达到了HTML静态网页显示数据库内容的目标.这种方法是被各大网站广泛应用的,例如一篇太平洋网上的热点文章.它的文章主体是一个静态网页,但文章下面的评论却是动态的数据库内容.类似的还在非常多,尤其是一些大型网站

蒋岭13531078817问: javaweb怎么连接访问数据库实现登录 -
周宁县谓安回答: 前端页面传过来用户名和密码,然后java后端通过jdbc去连接数据库,查找相应的表,比较,对的就登陆成功.

蒋岭13531078817问: HTML5怎么连接数据库 -
周宁县谓安回答: HTML5属于前端,连接数据库的话需要一门后端语言,比如PHP,java一类.你可以用java去连接数据库.html5其实是html的一个版本,只不过在国内被扩大了范围,变成了html + css + javascript.数据库跟html5就像头与腿的关系,2者之间还隔着个身体(java,php,node等)

蒋岭13531078817问: javaweb怎么连接mysql数据库 -
周宁县谓安回答: 当然,首先要安装有JDK(一般是JDK1.5.X).然后安装MySQL,这些都比较简单,具体过程就不说了.配置好这两个环境后,下载JDBC 驱动mysql-connector-java-5.0.5.zip(这个是最新版的).然后将其解压缩到任一目录.我是解压到D盘...


本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网