先说结论:有了 BI 还要做报表,报表必不可少!
为什么?
广义上的 BI 是包括数据仓库、多维分析、报表和可视化技术的一整套解决方案,而我们常说的 BI 则专指多维分析,也就是自助查询。建设 BI 往往是希望将简单、临时、多变的查询需求开放给业务人员自助完成,从而提高用户需求的响应速度,减轻 IT 技术部门的负担。
这里面简单查询是个关键,多维分析的本质是基于一个数据集进行过滤和分组汇总,写成 SQL 大概是这样:select sum(x1),count(x2),… from DS group by dim1,dim2,…,如果做切片和切块就再加上 where 条件,一般都不支持多表 JOIN(需要事先准备好数据源),这就是为什么多维分析产品建模时要把数据拉到一个 CUBE 或者一个宽表里的原因。
而实际的报表需求中经常有很多需要很复杂的运算(如嵌套查询和多表关联),甚至还伴随过程,比如企业常用的三大财务报表、企业经营分析报表等,这些报表的特点是复杂、常用、固定,需要技术人员使用专门的报表工具开发,实现时需要写较复杂的 SQL 或存储过程,甚至 JAVA 自定义类,完全无法用多维分析拖拽实现。
可以想想一下这个报表用多维分析工具怎么拖出来?
报表和 BI 的区别具体可以参考下 报表和 BI 的区别