当前位置: 首页 > news >正文

BI是报表?BI是可视化?BI到底是什么?

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

一、首先简要纠正一下对于BI这些问题的理解

1 BI 就是报表可视化,就是一堆可视化图表,BI 就是前端可视化。

商业智能BI是一套完整的有数据仓库、数据分析、数据报表等组成的数据技术类的解决方案,在一个 BI 项目中,20% 的时间做前端分析报表,80% 的时间都在底层数据仓库的设计、ETL 的开发、取数开发等工作。

所以可视化报表只是商业智能 BI 的最终呈现,但不是 商业智能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 上应该还能找到很多原始的报表标签帖子。

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

像老一批报表还有像金峰报表 Jreport、思达报表 StyleReport 等等在国内也有一定的市场。早在 2010 年之前,有些报表厂商的收入规模就已经突破了一个亿,说明基础报表这个市场还是非常不错的。

那个时候的报表定位是什么,就是纯粹的 Report 报表,通过程序从后台数据库中查询返回的数据聚合 List 再到前端脚本页面上绑定一下就生成了各种报表,实际上就是用在各个业务软件系统之中的报表展示,还远远没有到 商业智能BI分析这个层面。

并且还有大量的软件开发厂商实际上已经具备了很强的报表能力,不过这些报表能力并没有单独拿出来作为报表产品在市面上运营而已。

逐步的,随着前端技术、前端框架的完善,从传统表格技术开始到了各类柱状图、条形图、饼状图的可视化展示,到了这个阶段,报表和商业智能BI的边界越来越模糊。为什么?商业智能BI的报表展现能力也就和传统报表效果大致相当,还没有出现那种自助分析、自助拖拉拽就可以实现快速多维分析的能力。

讲这么多主要想说的是我们所看到的很多商业智能BI项目都是拿报表思维去实现的,就是 SQL 到数据集到前端展现。而真正的商业智能BI思维应该是什么呢? 多维思维、模型思维,这一点决定了一个 商业智能BI 项目的最终走向。

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

三、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分析工具没有问题。但是在企业的商业智能BI项目建设有一…...

Python基础-数据类型之元组

一、元组的定义 nums (1, 2, 3, 4, 5) 元组是序列的其中一种,每个元素都以逗号分隔,用()包围。 当元组中只有一个元素时,需要在元素后面加逗号分隔,nums (1,),否则括号会被当成运算符 nums (1) print(type(nums…...

大数据面试小抄

项目地址:https://github.com/GTyingzi/BigDATA 该项目是自己在学习大数据过程中整理、总结下来的一份面试小抄。涵盖Hadoop、Spark、Flink、Hive、HBae、Kafka、ES、Zookeeper等。 开源给大家,若感觉不错欢迎star~ 摘取Flink部分如下文章目录FlinkFli…...

Vue:(三十一)Vue封装的过度与动画

上一篇订阅与发布不够过瘾,接着再来一篇,come on!!!作用:在插入、更新或移除DOM元素时,在合适的时候给元素添加样式类名写法:过度:元素进入的样式:v-enter&am…...

文本处理:字符串替换

方法1:str.replace str.replace(old, new[, count]) Return a copy of the string with all occurrences of substring old replaced by new. If the optional argument count is given, only the first count occurrences are replaced. 该方法逻辑大致如下所示&am…...

python 调用 dll 出现精度问题

问题:python 在调用dll 的时候出现了精度问题 总结:使用decimal库进行转换就可以正常传递。 ‘ 心急的朋友可以略过下文了。 心急的朋友可以略过下文了。 心急的朋友可以略过下文了。 心急的朋友可以略过下文了。 ’ 遇到的问题具体情况 dll 生成函数…...

STL讲解——模拟实现string

STL讲解——模拟实现string 经典的string类问题 大厂在面试中,面试官总喜欢让学生自己来模拟实现string类,最主要是实现string类的增、删、查、改、构造、拷贝构造、赋值运算符重载以及析构函数。大家看下自己可不可以写一个string类? cla…...

CDH 6.3.2 升级Hive 2.3.9

升级背景 DolphinScheduler 3.1.1安装好后,其源码中集成的是Hive 2.1.1,版本太低,当在数据中心连接Hive数据源时报错,所以升级CDH自带的Hive为2.3.9版本。 一、准备工作 1、下载hive2.3.9并解压 下载地址:http://a…...

距离不是拦截我们前进的主因,与社科院杜兰金融硕士一起奔赴山海

最近有咨询社科院杜兰金融管理硕士项目的同学反馈他在西安,读研来北京上课太远了。一直在纠结要不要申请,其实距离不是问题,相向而行才是关键。在项目就读的同学好多也是来自外地,他们克服了种种困难来到项目学习,就是…...

【SpringBoot】MyBatis-plus 报错 sqlSessionFactory sqlSessionTemplate 最新解决办法

本文针对 MyBatis-plus,对于 MyBatis 报相同的错误,可以看这个大佬的文章:SpringBoot3整合MyBatis报错:Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required 针对报错如下: Property sqlSessionF…...

jsp诊疗预约系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 jsp诊疗预约系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql,使用jav…...

详解 APISIX Lua 动态调试插件 inspect

作者罗锦华,API7.ai 技术专家/技术工程师,开源项目 pgcat,lua-resty-ffi,lua-resty-inspect 的作者。 原文链接 为什么需要 Lua 动态调试插件? Apache APISIX 有很多 Lua 代码,如何在运行时不触碰源代码的…...

#科研筑基# python初学自用笔记 第五篇 函数

调用函数python有很多内置函数,我们可以直接调用,详见python官方文档:内置函数 — Python 3.11.2 文档,也可以在命令行中输入help(函数名)来查看该函数的使用法则。函数名的本质就是指向一个函数对象的引用,完全可以用…...

设计模式之策略模式

一.基本内容1 . 实例有各种鸭子(野鸭,北京鸭子,水鸭等,鸭子有各种行为,比如飞,叫等显示鸭子的信息传统方法解决:鸭子为抽象类,具体鸭子继承抽象类2.传统方法的不足:其他鸭…...

dbdeployer 使用札记

https://github.com/datacharmer/dbdeployer默认配置文件为当前用户的$HOME/.dbdeployer/config.json作为配置文件,可以通过dbdeplyoer defaults export导出并修改配置或者直接通过dbdeployer defaults update来更新默认文件,配置文件包含MySQL初始信息。…...

MATLAB算法实战应用案例精讲-【图像处理】数字图像模糊化(附Java、python和matlab代码实现)

目录 前言 几个相关概念 噪声 滤波器 算法原理 算法思想 噪...

搭建Hexo博客-第1章-Git和GitHub以及Coding的简单用法

搭建Hexo博客-第1章-Git和GitHub以及Coding的简单用法 搭建Hexo博客-第1章-Git和GitHub以及Coding的简单用法 Coding GitHub Hexo Markdown 搭建博客 大家好,这是我第一次写博客。使用 GitHub Hexo 创建最基本的博客很容易,网上有很多现成的教程。…...

【C++修行之路】C/C++内存管理

文章目录程序区域内存划分C语言动态内存分配:new和delete:new、delete和malloc、free的区别:程序区域内存划分 C/C程序内存区域划分非常相似。 C语言动态内存分配: malloc、calloc、realloc都是C语言动态开辟内存的常用函数 其中 malloc 开…...

spring cloud alibaba Sentinel(四)

服务雪崩 在分布式系统中,由于网络原因或自身的原因,服务一般无法保证 100% 可用。 如果一个服务出现了问题,调用这个服务就会出现线程阻塞的情况, 此时若有大量的请求涌入,就会出现多条 线程阻塞等待,进而导致服务瘫痪。 由于服…...

Redis第三讲

目录 三、Redis03 3.1 Redis持久化之RDB 3.1.1 什么是RDB 3.1.2 备份是如何执行的 3.1.3 Fork 3.1.4 RDB持久化流程 3.1.5 dump.rdb文件 3.1.6 配置rdb文件生成位置 3.1.7 如何触发RDB快照以及保持策略 3.2 Redis持久化之AOF 3.2.1 什么是AOF 3.2.2 AOF持久化流程 …...

JAVA线程池的使用

一、池化思想和JAVA线程池 池化是很重要的思想;池化的好处是提供缓冲和统一的管理。这个笔者在本人的数据库连接池的博客中已经提到过了(JAVA常用数据库连接池_王者之路001的博客-CSDN博客 )。 线程池是另一种池化思想的运用,把…...

力扣56.合并区间

文章目录力扣56.合并区间题目描述排序合并力扣56.合并区间 题目描述 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中…...

代码随想录二刷Day03链表: 24.两两交换链表中的节点,19.删除链表的倒数第N个节点,面试题 02.07. 链表相交,142.环形链表||

24.两两交换链表中的节点 文章链接:代码随想录 (programmercarl.com) 思路: (1)首先如果要处理相邻两个节点的话,一定需要操作两个节点的前一个节点才可以,因此,本题需要设定一个虚拟头节点 …...

我应该在我的博客上写什么? 介绍如何撰写初学者容易担心的文章

我想有很多人开了博客,但想不起来写作,无法取得进展。 博客的主题和文章的内容不会仅仅通过写你想做的事情来工作。 重要的是要了解用户想要阅读的内容以及人们可能收集的内容,并将其与您想要编写的内容很好地匹配。 这一次,我…...

嵌入式C语言设计模式 --- 外观模式

1 - 什么是外观模式? 外观模式(Facade Pattern),是一种比较简单的结构型模式,它存在的目的,也是为了简单。 外观模式隐藏了一系列接口的复杂性,旨在为外部客户端提供一个更高层次且统一简单的接口,简化了客户端调用某些模块的一系列操作。 外观模式应该是软件工程师…...

若依ruoyi——手把手教你制作自己的管理系统【三、代码生成】

昨天情人节一( ̄︶ ̄*)) 送给赛利亚一((* ̄3 ̄)╭ ********* 专栏略长 爆肝万字 细节狂魔 请准备好一键三连 ********* 修改后的页面: 干干净净贼舒服一Ψ( ̄∀ ̄)Ψ——Ψ( ̄∀&#x…...

SCI论文写作神器集合 —— 超级实用

特此声明: 本文拷贝多处别人的内容,并给出具体的链接 本文所提到的软件都为博主在文章撰写过程中发掘的比较实用的工具,旨在帮助小伙伴们更快更有效率的完成文章发表,如果其他好用的工具,欢迎各位交流~~ 一、文献搜索神…...

MAC 系统安装多版本 JDK 并任意切换

1、背景 在进行 Java 开发的过程中,我们可能需要使用不同版本的 JDK。例如:一些旧的 Java 应用程序只能在旧版本的 JDK 上运行,而一些新的 Java 应用程序需要较新的 JDK 才能运行。 在 MAC 系统上,如何安装多个版本的 JDK 并配置…...

配置 Smart Link 接口时需注意的互斥命令

配置 Smart Link 接口时需注意的互斥命令 一、接口加入Smart Link组功能与以下功能互斥一、接口加入Smart Link组功能与以下功能互斥 注:当接口已经加入Smart Link组,则不能再配置以下功能;反之,当接口已经配置以下功能&#xff…...

QT的下载和安装

这里介绍的是QT官方方式下载,每次都让我很糊涂,就记载一下。先是下载QT online installerhttps://www.qt.io/download 在下方有Go Open Sourcehttps://www.qt.io/download-open-source 在下方有Download the Qt Online installerhttps://www.qt.io/downl…...

做金属探测门批发网站/今日国际新闻最新消息事件

菜单是许多应用类型中常见的用户界面组件。要提供熟悉而一致的用户体验,您应使用 Menu API 呈现 Activity 中的用户操作和其他选项。 从 Android 3.0(API 级别 11)开始,采用 Android 技术的设备不必再提供一个专用“菜单”按钮。…...

怎么自己的电脑做网站/seo优化思路

在我们的系统中,有很多默认的共享是开启的,可以设置一个bat文件在每次开机的时候把共享删除。 net share c$ /del net share d$ /del net share e$ /del net share ADMIN$ /del net share IPC$ /del net share print$ /del net share SYSVOL$ /del net s…...

58网站开发要多少钱/淘宝推广方式

filter函数的目的是从列表(或一般情况下,任何iterable)中选择满足特定条件的元素。它并不是真正用于基于索引的选择。因此,尽管您可以使用它来挑选CSV文件的指定列,但我不推荐它。相反,您可能应该使用这样的方法:with …...

网站 公众号 建设方案/亚马逊关键词

2019独角兽企业重金招聘Python工程师标准>>> 在线工具:图片在线转base64,base64在线转图片工具 ####一、图片在线转base64 如下图,打开 http://www.it399.com/image/base64 将想要转换的图片拖动到在线助手的工具中即可自动完成将图片转成bas…...

etsy网站/aso优化公司

据中国移动公布的11月份数据显示,整体用户数流失了2634万,净流失用户数再创历史新高纪录,推测这部分都是目前留在2G网络的用户,属于低端用户。中国移动公布的数据显示,11月份5G用户数大增1859万户,累计用户…...

怎么选择顺德网站建设/营销渠道管理

Builder设计模式类似于Factory,都是用于生产一种产品,但是他们之间还是有一些区别的。至于有什么区别,仁者见仁,智者见智,我会在介绍完Builder模式之后说说我自己的看法,当然我的想法也参考了很多其他人的看…...