​1. 数据源

第一个要素数据源。企业中的BI工具可能承接上游数据中台或者其他产品输出的结果,作为输入的数据源,每个业务方用的数据库都可能是不一样的,所以可接入数据源的种类决定的一个BI工具的可用性,这里接入的数据源不仅支持传统的数据库mysql,sql server等,还要支持非关系型的数据库,如mongoDB,hive,kylin,sprakSQL等。

上面所举例的都是实时的数据库,在一些比较特殊的场景,如hr考勤数据是以execl形式输出的,这个时候就要提供离线的数据源接入方式,也可以说是外部导入的形式。

2. 数据模型

第二个要素是构建数据模型,数据模型是用户在指定完数据源之后,需要对表进行组合,构建出表与表之间的关系。在这一个过程当中需要注意两个问题:

构建方式:为了简化用户的操作流程降低用户的使用门槛,表与表之间构建的交互方式采用可视化的拖拉拽交互方式,通过可视化的方式组合表,改变表之间的连接关系。当然也需要提供自定义sql的构建方式满足专业程度较高对于模型自定义程度较高的用户。

维度指标设置:在构建模型的阶段并不是所有的字段都用户自助分析构建报表,在构建模型的阶段需要指定好维度和设定好指标的计算方式。

3. Dashboard构建

Dashboard构建是BI工具的一个核心操作流程,报表的分析编辑构建都在这个模块中完成。

OLAP分析:多维分析,拖拽交互,数据联动,钻取,二次计算

样式设定:图表的样式类型(柱状、折线、地图、饼状、散点等)每个不同的图表类型都对应不同的样式设定,包括一些值的映射关系都属于样式设定的范畴当中。

预警设计:指标预警可以将超过阈值的数据通过邮件或者通信工具的方式及时告知用户数据异常,让用户可以在第一时间发现问题并处理问题。

4. 看板展示

看板展示及交互:看板在发布到公告区域之后,用户可以对看板进行简单的交互,如:筛选项控制、报表高度宽度的调整、报表间数据联动设置、报表的隐藏、报表位置的调整。

移动端展示:移动端的展示其实也算是看板展示的一种表现形式,目前市面上也有解决方案,小程序或者是原生的app,这里推荐原生app个人认为原生app性能比较好而且交互能做得比较多。

看板分享:在正式发布到公共看板之前,举一个场景,分析人员可能需要部门各个人员之间或者分析人员与业务方之间需要核对以下报表是否满足发布的要求,会进行一些报表分享的动作,将报表分享给其他用户核实后再挂载到公共的看板中。

5. 权限设计

信息安全是每个企业的重中之重,权限的设计在企业的任何一个系统都是非常重要的,每个公司的业务流程和组织架构都不一样,需要根据不同的业务流程和组织架构进行规划设计,排除组织架构和业务的权限划分之外,我整理了BI工具中不同粒度的权限控制,这里我从系统的角度自上而下的介绍:

数据源权限:数据库权限控制、数据库中表的权限控制、表中列的值的权限控制

模型权限:维度权限控制、指标权限控制、基础属性配置权限控制、CRUD操作权限控制

目录权限:CRUD操作权限控制

看板权限:CRUD操作权限控制(包含样式修改权限)、分享收藏权限控制、下载权限控制

其实会发现我一直没有提性能的问题,其实BI工具没有抢做数据中台的事(数据收集、etl处理、分析计算、数据样本训练)一来性能的问题完全就依靠中台数仓的计算能力,二来也方便产品后期的拓展

当然,如果你不愿意自己开发,采用成熟的BI产品也是可以的,这样可能性价比还更高。例如。由广州思迈特软件推出的Smartbi,提供数据连接、数据准备、数据分析、数据应用等全流程功能,满足用户复杂报表、数据可视化、自助探索分析、机器学习建模、预测分析、自然语言分析等全场景需求。

最新文章

  1. myeclipse 没有任何问题,可偏偏还报这错。
  2. GIS 网站参考
  3. 【转】UTF-8汉字正则表达式
  4. System.BadImageFormatException : 未能加载文件或程序集“Medici.PaymentRecover, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。试图加载格式不正确的程序。
  5. 简述UICollectionView 使用
  6. DP:Miking Time(POJ 3616)
  7. HTML-meta
  8. 第二篇,MVC框架
  9. 排队(BZOJ1731:[Usaco2005 dec]Layout 排队布局)
  10. Android njava.net.UnknownHostException: Unable to resolve host
  11. VB编写的验证码生成器
  12. shell中的type命令
  13. Unique Binary Search Trees In JAVA
  14. 设置不输入密码ssh登录
  15. Mac里安装配置Jdk
  16. 财务模块多组织,GL, SLA, SOB, COA, BSV, CCID, LE 概念的简单介绍
  17. JavaScript学习day2 (基本语法上)
  18. spring boot 给返回值加状态 BaseData
  19. 创建windoes 硬盘 挂载u盘
  20. 修改VS 2012调试默认浏览器

热门文章

  1. 【刷题-LeetCode】307. Range Sum Query - Mutable
  2. 【机器学习】kNN
  3. C# 在PDF文档中应用多种不同字体
  4. 学习AJAX必知必会(4)~JQuery发送Ajax请求
  5. go生成随机数字验证码
  6. (1)puppet安装
  7. DBeaver下载安装与连接MySQL数据库
  8. Android开发----EditText&ImageView&第三方库的加载
  9. docker k8s安装
  10. 导入 static 修饰的包