|如何建设省时省力的BI平台?


作为IT人您是否还在为每天开发报表慢 , 不能复用而烦恼?是否还在天天被业务、老板催着做一些临时数据提取 , 或临时报表而加班奋战呢?是否还在为反复和业务对数据口径 , 陷入反复沟通中无法自拔呢?是否还在被业务吐槽“做的数据报表太丑了”而深深地感到审美和设计无力吗?
没错 , 在这个高速发展的数字化时代 , 于业务而言没有数据就没有正确的方向;在每一次重大决策和方向判断的时候 , 都需要通过数据来看看背后的实际情况是什么 。
所以其实有时候业务自己也不清楚确实需要看的东西是什么 , 也是在反复假设猜测 , 然后期待数据可以给一个可解释的答复 , 因此总是需要咱们IT部门或数据部门 来提供大量的数据支撑 。
以下是站在IT人的角度 , 围绕以下两个主题来展开:一个是 IT部门 如何 提高数据报表的开发效率;另一个是 IT如何赋能业务做临时性数据查询和自助数据分析?内容中包含了我们主要要讲的产品Quick BI , 在面对不同场景如何用 , 才能解决我们面临的问题;还有如何引导我们的业务人员真的来用我们的产品 这种方法论层面的 , 只有业务会用能用 ,人人都是数据分析师才不是一句空话 。
一.IT部门如何提高数据报表的开发效率
1.1 Quick BI功能链路说明
产品是阿里云客户都在用的BI产品--Quick BI , 下面是其功能的主结构图 。
|如何建设省时省力的BI平台?
本文插图

Quick BI针对企业中的不同角色提供对应的产品功能支持 , 如此设计是考虑到我们国内企业常规组织结构 , 以及考虑到怎么做才可以实现人人都能做 都可将数据应用起来 这么来设计的 。
最左侧是系统管理者的角色 , 比如运维、IT负责人、项目PM之类 , 来进行整个系统的管理工作;系统管理这里可以添加组织用户 , 以及工作空间 。 工作空间 可以认为是有协同性质的部门协作空间 。 其目的是为了从数据 或 权限 或 主题的角度做隔离 。 以下三种场景应用最常见:
(1)企业内自用 , 多个不同部门都要使用 。 (2)企业内自用 , 多个不同项目/主题 。 (3)嵌入集成到自己软件/saas应用 , 给自己的多个客户使用 。
中间是主要是面向 报表开发者或者数据分析师的 , 是整个数据应用的开发流程 , 从连接数据源(也就是数据库)->创建数据集(数据建模的过程)->制作可视化仪表板或电子表格、自助取数(仪表板就是常见的折线图/柱状图这种 可视化分析报表;电子表格可认为是 业务可以使用的线上化excel) 。
最右侧是面向数据访问者 , 比如业务同事、老板 领导等 ,他们可以对结果分析报表 进行查看 。 对于搭建完成的报表 , Quick BI可以直接授权访问 , 或者以以邮件、钉钉微应用等形式多种形式进行分享传播 , 实现PC、移动、大屏等多端数据查看 。
1.2 开发工作主流程
|如何建设省时省力的BI平台?
本文插图

开发工作第一步就需要有数据库可以对接 。
在数据库对接上 , 会分为三类:一类是最常用业务库 , 可能是划出来的一块做分析之用 , 比如mysql、postgresql等;第二类是数据量级较大的慢查询库 , 比如maxcompute、hive、hbase之类 , 或较特殊的有特定应用场景的 , 如时序数据库之类;第三类是专门作为查询分析相关的数据库 , 比如ADB 、DLA、presto 之类 。
而这些数据库的对接 , 不区分是阿里云数据库 , 还是自己本地的 。
除此之外 , 文本数据 excel、csv也同样可以支持 。
|如何建设省时省力的BI平台?
本文插图

当连接好了数据库之后 , 就可以进行创建数据集的工作 , 可以直接通过表创建 , 也可以通过写SQL代码来创建;创建好数据集之后 , 可以对维度、度量进行编辑和处理 , 在表结构有变化时候也可以用同步表结构功能 。 同时也支持数据集的关联操作(join) , 跨数据源的情况也可以进行关联操作 , 使用非常方便 。
同时 , Quick BI是和数据库直接交互的 , 不做数据存储 , 只进行数据计算 , 也保证了应用的稳定性 。 Quick BI是即时查询 , 对数据库性能和网络状况会有一定依赖 , 但Quick BI的加速引擎和智能预计算都能尽可能保证性能和稳定性 , 在面对数据量相对较大 , 实时性要求不那么强的分析需求时 , 可以开启数据缓存功能来加速查询 。
|如何建设省时省力的BI平台?
本文插图

说完数据源数据集 , 咱们再看一下 到前端新建仪表板的操作 。
|如何建设省时省力的BI平台?
本文插图

在仪表板的选择图表区域有熟悉的柱图、饼图、折线图等等40多种图表组件;中间是画布可以进行拖拽操作 , 右侧是对页面的样式、属性设置 , 以及数据操作区 。 最右侧是选择数据集的操作 , 其中维度度量和咱们数仓中的概念一样 , 维度都是一些文本或者时间类型 , 度量一些可计算的数值数据 , 咱们可以将数据字段从数据区域拖拽到配置区 , 然后在画布中预览进行预览 。 整个操作过程是比较符合我们中国人的理解和操作习惯的 。
同时对于调整好了的模板 , 可以反复作为模板来利用 , 比如对于审美比较好的同事 , 或者是UI交互来设计好老板和业务认可的主题风格模板 , 后续就可以快速套用 , 快速得到自己所需的, 而且老板和业务也不会吐槽丑的分析模板 。
|如何建设省时省力的BI平台?
本文插图

在做好了仪表板 , 确认测试环境效果也没问题之后 , 就可以将测试环境的内容发布到线上环境 。 小型一点的企业 , 为了追求业务足够快速上线使用 , 会快速将测试环境上线 , 直接作为正式生产环境使用 。 在Quick BI中可以直接切换数据掉数据库 , 更改为正式线上数据库的信息 , 对应的数据报表信息就会全部切换为正式线上的结果 。
而大型一些有成熟完整上线流程的企业 , 会有固定的上线流程要走 , 甚至专门要求有测试环境和正式环境 , 为了保证资源可以备份 , 以及降低切换环境的风险 , 可以用资源包功能 , 将资源导入到正式环境进行使用 。
|如何建设省时省力的BI平台?
本文插图

在发布之后 , 可以通过邮件订阅 或者钉钉推送;比如我们定期的日报/周报/月报 , 或者日常会用到的固定指标报表 , 可以通过邮件方式订阅 。 如果绑定钉钉 , 还可通过钉钉的工作通知做推送 。 同时可以在移动端做数据查看 , 效果如下所示 。
|如何建设省时省力的BI平台?
本文插图

PS:也可移动端打开 此链接 查看详情 。
1.3权限管控
而为了保证数据应用的安全性 , 数据权限是最需要保证的 。 在权限上 , 我们分三个方面来说 。
|如何建设省时省力的BI平台?
本文插图

第一个方面是组织账号权限体系
对于组织成员本身的划分上 , 设定成员角色为:
(1)组织管理员:建议1-3个人 , 项目PM或者负责BI平台的人员来担任这种角色 。 (2)开发者和分析师:一般会给要做编辑操作、做报表的这些用户;常规开发者会给IT其他人员 或者数据分析师 , 数据运营人员之类;而分析师角色可以给要做业务分析的 , 技术能力稍弱的业务人员 。 (3)查看者:一般都是纯查看的用户 , 比如老板领导这种角色 , 或 纯看数据结果的一线业务同学 。
在整个权限体系的设计是按照上述主流程分的;最左到最右侧整个产品功能是全量管理权限;中间的主流程到右侧 是开发权限 , 从仪表板/电子表格/自助取数到右侧数据查看 , 是分析师权限 , 最右侧就只有查看权限 。 整个数据体系非常细 , 也非常完善 , 可以保证多种业态下的企业都都可以 用的起来我们的产品 。
第二个方面是数据的行列权限 , 是为了保证用户只能看自己权限下的数据 , 也为了保证可以不用每一类权限用户开发一个不同的报表 , 这个时候有两种操作方式 , 用户量多的话建议用标签授权 , 用户量少的话可以使用 用户/用户组授权 , 如下是标签授权的效果:
|如何建设省时省力的BI平台?
本文插图
第三个权限是 仪表板/数据门户的权限 。
这里看一下仪表板的权限 , 有三种情况:
(1)公开链接 , 开放公开链接之后全网可见 , 无论用户是否登录阿里云;权限上是和做公开链接分享者的权限一致 。 (2)分享查看或导出 , 是可以分享给组织空间中的成员 , 且授权类型可以是仅查看仪表板或者可以查看和导出 。 (3)协同编辑 , 可以开放给组织成员一起编辑 , 协同场景下的开发比较方便 。
二.IT如何赋能业务做临时性数据查询和自助数据分析?
提到业务方自助分析之类 , 业务方其实很排斥的 。 因为业务方理解这本来是IT方要做的工作 , 为何现在要交给我们业务方来做 , 我们没时间学 , 也学不会 。 如果这种情况处理不好 , 那么即使咱们买的BI再专业 , 也释放不了IT方的压力 。 因此能够赋能业务来 使用的BI , 才是咱们IT方最需要的产品 。
2.1自助取数&线上EXCEL
在IT方 , 经常会面临这种场景:业务方要求做很多临时性的取数查询要求 , 比如看一下近一个月新增的交易用户有多少 , 产生多少营收 。 那我们就要给业务方写一段SQL , 确认下逻辑 , 然后导出下数据给业务方 。 这时候业务方可能有三种情况:
(1)少字段了 , 又要我们增加字段 , 确认逻辑 , 导出数据给业务方 。 (2)取数的逻辑不对 , 比如要的近一个月是8-1到8-31 但是我们给成了 8-16到 9-15的 , 那又要重新写过滤条件 , 确认逻辑 , 导出数据给业务 。 (3)一次到位 , 没任何问题 。 实际情况中 , 我们经常是反复重复(1)、(2)这两种情况 , 之后才会到第(3)种情况 。
|如何建设省时省力的BI平台?
本文插图

这种场景下 , 可以使用我们的自助取数功能 , 给业务方做好大宽表 , 确认好常用字段逻辑 , 之后业务方想取什么数 , 都可以自己操作实现 , 比如改过滤条件或者选择不同字段之类 。
Quick BI的自助取数功能是可以支持百万级别的 , 因此在大数据量级的金融保险、工业制造的场景中都可以用到 。
|如何建设省时省力的BI平台?
本文插图

业务方常用EXCEL , 而且觉得用一用EXCEL也就没问题 。 但是在多部门之间的交互、以及涉及到一些权限不同的部门间的数据交互会有问题 , 不便于协同 。 这时就可以引导业务用户来用电子表格功能 , 现在电子表格支持EXCEL的400多种函数 , 便于业务人员的使用 。
2.2智能数据应用
日常报表过多 , 业务想看的东西找不到就会来问人 , 以前都是人力堆上去 做回复 。 现在可以用Quick BI 智能机器人来实现这种交互式问答场景 。 除了对业务足够方便 , 对IT而言也可以减轻一些常规看结果的压力 。
而业务人员在做分析的时候 , 除了常规的联动 钻取 跳转 功能 , 能够满足业务的交互式分析需求之外 , 还有智能辅助分析、趋势预测、异常检测等功能 。
|如何建设省时省力的BI平台?
本文插图

以及设置监控预警功能 , 比如价格同比低于X% , 或者环比上月低于X% , 就发邮件/短信/钉钉给对应用户以提醒 。
|如何建设省时省力的BI平台?
本文插图

同时也有智能波动分析 , 如下示例 , 当订单金额出现比较大的波动情况时 , 可以通过波动原因分析来查看具体造成订单金额变化的原因和贡献占比 , 提供分析结果给业务用户参考 。
|如何建设省时省力的BI平台?
本文插图

2.3IT赋能方案
以上都是业务关注的数据应用能力 , 那么如何给业务赋能 , 让业务可以用起来产品 , 完成日常临时性分析呢?
|如何建设省时省力的BI平台?
本文插图

我们可以将日常接触到的数据上的应用分成四类来看:
第一类是定期常规的日报/周报/月报;
第二类是与行业属性有关的固定数据监控报表 , 比如流量监控报表 , 留存率监控报表 , 经营分析指标之类 , 甚至是一些业务方逐渐沉淀确认可以固定下来的业务指标等 。 这种常规性、有固定属性的数据报表 , 一定是需要咱们的IT部门来完成 。
第三类是临时数据查询 , 比如上述的自助取数场景 。
第四类 是带探索性的分析 , 比如作为一个运营 , 起初负责某个产品的时候 , 不确定需要看哪些指标 , 比如活跃率 , 怎么定义客户是活跃的 , 是看客户每天登录多少次 , 浏览多少次 , 还是购买多少次之类 , 都是不确定的 。 那就需要不断猜测 , 然后看数据不断验证确认 。 涉及到这种探查性分析的过程 , 是业务方可以自己来用工具实现的 , 在确定好数据指标和阈值之后 , 才会让数据研发落成常规报表 。 这种临时性、 不确定性很大的数据应用场景 , 则推荐由我们的业务方自行实现 。
之前有IT客户担心 上了BI , 自己日常工作会被技术优化替代 。 其实这种担心完全没必要 , 且不说老板为了降低成本会如何考虑 。 单看以上的推荐配合方式 , 其实是在以技术和数据 , 去助力业务增长 。 只要业务增长 , IT只会被扩张来覆盖新增长的业务 。 且在这里IT扮演的是赋能培训师角色 , 来解决业务方真实的业务问题和IT方的重复低效工作的问题而已 。
言归正传 , 在赋能业务过程中 , 基本可以分为三个阶段:
(1)基础入门阶段 需要要保证咱们基础固定报表可看可用 且好用 , 这是最基本也是最重要的起点 。 然后通过电子表格和自助取数功能来引导我们的业务方 。 (2)第二阶段是让业务方产生意愿 , 有意向了解这个产品 , 有意向将自己线下EXCEL应用 , 或者是依赖 IT方很久才能拿到临时数据查询的结果 , 通过一个平台可以自己查询快速拿到 。 同时咱们IT方准备好相关的demo和模板之类 , 来降低业务方的学习成本 , 让其对平台和工具产生信任感 , 有意愿来学习了解 , 且真的给自己的工作带来便利 。 (3)再慢慢进入到第三阶段 , 真的让业务能自行用数据做探索分析 。 然后结合企业内配合较好的业务部门的例子 , 在内部做分享传播 , 然后复制到更多其他的业务部门 。 三个阶段之间是顺序关系 , 根据咱们实际的IT和业务部门的配合情况以及 业务的数据应用能力来看的 。 对于咱们中小企业而言 , 可能更多在一二阶段 , 而对于咱们稍大型企业 , 可能已经可以到二三阶段 , 依据自己的实际情况来确定当前重点 , 是比较重要的 。
最后 , 几个保护IT发际线的小tips:
1.云上应用 , 无需运维 , 远离宕机风险 。 再也不用上线保平安2.如果业务方自己做东西的话 , 会存在拖拽错了 , 或不理解什么是维度度量啥的 , 导致出错 。 在Quick BI中 , 咱们可以看SQL , 出现问题可以快速定位、排查 。 3.报错有人快速排查 , 拿到Traceid给到Quick BI的答疑人员 , 问题都可以被快速解决 。
【|如何建设省时省力的BI平台?】 本文为阿里云原创内容 , 未经允许不得转载 。


    推荐阅读