BI 是一种数据类的技术解决方案,将许多来自不同企业业务系统的数据提取有分析价值的数据进行清洗、转换和加载,就是抽取Extraction、转换 Transformation、加载Loading 的ETL过程,最终合并到一个数据仓库中,按照一定的建模方式例如Inmon 的3NF 建模、Kimball 的维度建模或者两者都有的混合式架构模型,最终在这个基础上再利用合适的分析展现工具来形成各种可视化的分析报表为企业的管理决策层提供数据决策支撑。

打开网易新闻 查看精彩图片

首先,我们需要理解下什么是建模。然后再来看下建模和自助分析的关系,他们之间不是一种对立的关系,需要理解下BI的底层逻辑。

建模,就是建立模型,为了理解事物而对事物做出的一种抽象。建立系统模型的过程,又称模型化。建模是BI分析的重要手段和前提,凡是用模型描述系统的因果关系或相互关系的过程都属于建模。

不管是什么样的BI工具产品,在做自助分析、可视化页面设计的时候大家一定能看到几个核心的元素:维度Dimension和度量Measure。维度就是看数据的角度,被看的数据就是度量Measure。比如从产品角度分析销售收入占比,从时间角度看销售收入的趋势,在这个描述中,产品和时间就是分析的维度,销售收入就是被看的、被分析的数据,就是度量Measure,我们有的时候也叫KPI或者指标。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

在BI分析中,只要通过维度或者维度的组合来分析指标的过程,背后本身就构建了一个分析模型,这就是一种把复杂业务抽象到一个分析模型的过程。

所以,谈到BI必然就会用到建模,建模没有像大家想象的那么神秘。

拖拉拽自助分析的本质就是对分析模型的运用。在自助分析过程中,会首先选择分析的维度,再选择相应的度量或者指标,通过拖拉拽的方式就实现了可视化,数据就出来了。它的逻辑就是根据选择的维度和指标,自动的构成了一种分析模型,这个分析模型的背后就会产生一条聚合查询性质的SQL语句发送到底层数据库引擎去做数据查询,把数据聚合算出来,把结果呈现到可视化页面。

通过前端可视化BI分析工具选择几张数据表进行数据关联,形成了一个分析模型,在这个分析模型中的维度和度量自动的罗列到分析面板供自助分析人员来使用,这个叫做BI的前端建模。通过数据仓库提前把一些基础的分析模型建好,前端BI工具来直接引用成熟的维度和分析指标,这个是把分析模型后置到底层数据架构上来解决,这个叫做后端建模。本质上都是一样的,都是构建分析模型的过程。只是一个前置到业务人员自己处理模型、一个后置到数据仓库由BI开发人员来处理。后置的主要目的除了公共指标下沉,还解决了指标爆炸的问题。

打开网易新闻 查看精彩图片

所以,建模在BI分析中本身就是维度和指标的组合,这个过程没有什么很特殊的。只是大家一想到自助分析,就不应该通过预设模型来限制模型中维度和指标的选择,这个理解就是错误的。不管什么样的模型都可以理解为一种预设,比如像一张大宽表,它的维度和指标在大宽表中就是固定的,只是维度列多一些,指标多一些,给了用户更多的一种组合维度和指标的可能,并不是说就没有模型的概念。

很多BI厂商不是不知道这个道理,那为什么还要这么去讲呢?因为要给用户一种感觉,就是我们的BI产品很灵活,想怎么分析就怎么分析,可以满足任意的分析场景,所以要证明我们自己的产品比别人的更强大。但是只要大家认真想一想,BI真的能做到想怎么分析就怎么分析,真正的随心所欲的自由分析吗?

自由并不是随心所欲,无边际的。所有的自由都是有限度的,一旦你所追求的自由,超出了限度,自由就势必要被约束起来,只有有限度的自由才是真的自由。