公司正在开发BI系统?这些设计要素请了解一下!
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,提供数据连接、数据准备、数据分析、数据应用等全流程功能,满足用户复杂报表、数据可视化、自助探索分析、机器学习建模、预测分析、自然语言分析等全场景需求。
公司正在开发BI系统?这些设计要素请了解一下!的更多相关文章
- 开发BI系统时的需求分析研究
我们知道MIS,知道ERP,知道GIS等等,这些系统在管理限制上有很多的冲突,管理和被管理,开放和限制等等,然而BI在开始就不是这样的.BI要求的就是易用还要易于扩展,首先是报表,这个是你无条件的需要 ...
- python 全栈开发,Day107(CRM初始,权限组件之权限控制,权限系统表设计)
一.CRM初始 CRM,客户关系管理系统(Customer Relationship Management).企业用CRM技术来管理与客户之间的关系,以求提升企业成功的管理方式,其目的是协助企业管理销 ...
- [开发笔记usbTOcan]系统架构设计
SYS.3 | 系统架构设计 系统架构设计过程的目的是建立一个系统体系结构设计,并确定哪些系统需求分配给系统的哪些元素,并根据确定的标准评估系统架构. 系统结构设计需要做一下工作: 开发系统架构设计. ...
- Unity3D手游开发日记(2) - 技能系统架构设计
我想把技能做的比较牛逼,所以项目一开始我就在思考,是否需要一个灵活自由的技能系统架构设计,传统的技能设计,做法都是填excel表,技能需要什么,都填表里,很死板,比如有的技能只需要1个特效,有的要10 ...
- 想上BI系统,原来的Excel优秀模板都丢弃吗?
我们公司之前一直都用Excel来存储数据,展示数据,Excel本身拥有强大的公式可以帮助我们的数据进行再加工计算,Excel的图形我们可以可以直接拿来展示数据,Excel本身还有数据透视表帮助我们的分 ...
- 解析大型.NET ERP系统架构设计 Framework+ Application 设计模式
我对大型系统的理解,从数量上面来讲,源代码超过百万行以上,系统有超过300个以上的功能,从质量上来讲系统应该具备良好的可扩展性和可维护性,系统中的功能紧密关联.除去业务上的复杂性,如何设计这样的一个协 ...
- 转: 透过CAT,来看分布式实时监控系统的设计与实现
评注: 开源的分布式监控系统 转:http://www.infoq.com/cn/articles/distributed-real-time-monitoring-and-control-syste ...
- NET ERP系统架构设计
解析大型.NET ERP系统架构设计 Framework+ Application 设计模式 我对大型系统的理解,从数量上面来讲,源代码超过百万行以上,系统有超过300个以上的功能,从质量上来讲系统应 ...
- 高性能、高可用、高扩展ERP系统架构设计
ERP之痛 曾几何时,我混迹于电商.珠宝行业4年多,为这两个行业开发过两套大型业务系统(ERP).作为一个ERP系统,系统主要功能模块无非是订单管理.商品管理.生产采购.仓库管理.物流管理.财务管理等 ...
随机推荐
- 【刷题-LeetCode】223. Rectangle Area
Rectangle Area Find the total area covered by two rectilinear rectangles in a 2D plane. Each rectang ...
- CesiumJS下载量超过1百万次
Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ CesiumJS的下载总量已经超过100万.这一里程碑对我们(C ...
- linux远程搭建yum网络仓库《全面解析》
目录 一:远程版本需求 1.yum简介 2.yum安装解析 二:yum安装的生命周期 三:yum私有仓库作用与必要性 四:搭建yum私有仓库 本地版本 1.下载必须的软件包 2.创建软件仓库(就是创建 ...
- python网络爬虫-入门(二)
为什么要学网络爬虫 可以替代人工从网页中找到数据并复制粘贴到excel中,这种重复性的工作不仅浪费时间还一不留神还会出错----解决无法自动化和无法实时获取数据 对于这些公开数据的应用价值,我 ...
- java 多线程 start方法 run方法 简单介绍。
一 start开启一个多线程, run 只是一个内部的方法. package com.aaa.threaddemo; /* * start方法的作用? * 在 Java中启动多线程调用的是start方 ...
- jsp 4-15
- 如何在 VS Code 中为 Java 类生成序列化版本号
前言 IDEA 提供自动生成序列化版本号的功能,其实 VS Code 也可以,只是默认关闭了这个功能,下面就来看看如何开启这个功能吧. 配置过程 首先需要保证 VS Code 上安装了提供 Java ...
- 社交网络分析的 R 基础:(一)初探 R 语言
写在前面 3 年的硕士生涯一转眼就过去了,和社交网络也打了很长时间交道.最近突然想给自己挖个坑,想给这 3 年写个总结,画上一个句号.回想当时学习 R 语言时也是非常戏剧性的,开始科研生活时到处发邮件 ...
- js 二分查找法之每日一更
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content ...
- Java-方法的递归调用
方法的递归是指在一个方法的内部调用自身的过程.递归必须要有结束条件,否则将陷入无限递归的状态,永远无法结束调用. 代码 public class Example24{ public static vo ...