BI开发(ETL-DW)
来到公司已经参与开发了一段时间的BI项目,但是仅仅是按照需求开发,今天下午公司给大家培训数据仓库的知识,老大(女程序员)在上面讲,我们在下面听,2到3个小时吧,什么纬度,主题,几乎听的一脸茫然,最后演示了基于BI的成本分析系统,感觉好复杂,主要是对于医疗项目的业务,反正挺繁琐的。做这个项目的目的主要是给实施人员使用,再由实施人员教客户使用,进而指定自定义的报表(数据量很大,表都是上百万的数据),记一下,有空研究一下数据仓库。
目前说白了,就是为了进行数据汇总,分析,如果不采用数据仓库,直接查询数据库,需要大量的join,并且表数据量大,影响数据库效率(水平分表听过,不怎么会用,目前主要建立临时表存储,但是数据量还是很大),所以建立数据仓库。同时各家医院对于成本分析的指标不一致,所以报表需要客户自定义,所以不能直接写SQL固化的程序中,不过目前我们就是固化。(每次发布一次报表,需要2,3个小时)。
参考技术:开源的mondrian与jpivot
====================================================================================================
1.数据源
2.创建视图(选择表,设置表关系)[]
3.创建cube立方体
4.创建维度,度量(指标,衍生指标)
5.设计页面
6.发布,设置权限
====================================================================================================
所以要开发基于数据仓库的BI分析系统,主要对医院指定的指标进行数据分析,产生报表,但是指标各个医院不一致,关注的数据不一致,所以报表(图标)是可自定义的。
DB-ETL-ODS-DW-DM-OLAP-APP(数据层DW-应用层OLAP-门户服务APP)
基于数据的数据交换平台-ESB服务总线(数据中心)
基于雨雾的流程管理平台-BPM,SOA
基于业务的渠道系统(OLTP系统)
====================================================================================================
1.ETL过程刷新数据
2.配置主题元数据
3.界面展现(自定义图表)--针对不同的指标进行数据分析
====================================================================================================
存储:
单独的一个库------多个库存储
单独的一个库------表切分(水平--切列 垂直---切行)
单独一个库(DB)--------临时库(ODS)-----小库(DM集市)----------分析库(DW)(这样就存在一个数据转移过程,也就是ETL过程)
====================================================================================================
自定义报表查询:
===================================================================================================
一个重要的概念:
指标:
指标就是一个度量,可以认为一个度量或者一个度量的计算
为什么:
通过OLAP多为分析,对分析的结果(按照指定的维度进行分析的数据--汇总数据),重新建立维度(这就是指标的真正含义),再次进行多维分析,把这个维度就叫做指 标。
指标:就是对象OLAP的分析结果再次进行建模分析,而这个维度就叫做指标。
立方体:--切块:就是指标分析
切面,片---------就是简单的OLAP多维度分析
====================================================================================================
1.OLAP:异构集成平台(面向主题)--------------雪花模型或者星型模型-----多角度分析(查询性)
2.OLTP:单一系统(面向业务)---------------------ER模型-----------------采集数据(事务性)
3.星型模型(一个中心-一个事实表),雪花模型(多个中心-多个事实表)
DB与DW之间可以存在ODS(操作型的数据仓库),他是一个过渡层,降低业务系统查询的压力。
=====================================================================================================
纬度表:(主要存储事物的详细描述信息,)
事实表:主要存储数据(数据可以进行汇总----外键关联纬度表)--------度量值
应用:上卷/下钻,切片/快,旋转/转轴。----类似的比如报表里面的,父子表,类似与连接表查询
一下几个图来源:http://www.cnblogs.com/honkcal/archive/2011/07/15/2107172.html借鉴一下,图示比较明确
上面类似的表格分析,大家估计都做过,只是没有概念,仅仅是客户的要求,我们采取SQL给他们实现,没有科学理论对其进行认证的分析(父子表,行转列,子查询表)。
个人感悟:
数据独立存储,不存储其他详细描述信息---事实表(外键关联详细事,是你要关注的内容就是一些数据,即某一纬度的度量的汇总,主要是数据信息),纬度表(主题具体的角度,涉及比较详细信息,主要是文本信息,是度量的描述)
=====================================================================================================
类似开发中我们常见的表样:http://www.cnblogs.com/gstsyyb/p/3365930.html,其实类似这种报表完全可以做成可定制的报表也就是所谓的自定义纬度(对于客户来说就是他们的指标KPI)
BI开发(ETL-DW)的更多相关文章
- R语言作为BI中ETL的工具
R语言作为BI中ETL的工具,增删改 R语言提供了强大的R_package与各种数据库进行数据交互. 外加其强大数据变换清洗函数,为ETL提供一条方便快捷的道路. RODBC ROracal RMys ...
- SQL点滴17—使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识
原文:SQL点滴17-使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识 在开发过程中会遇到需要弄清楚这个数据库什么时候建的,这个数据库中有多少表,这个存储过程长的什么样子等等信息 ...
- PowerApps和Flow,Power BI开发
为PowerApps和Flow,Power BI开发自定义连接器 作者:陈希章 发表于 2017年12月20日 前言 我在之前用了几篇文章来介绍新一代微软商业应用平台三剑客(PowerApps,Mic ...
- 为PowerApps和Flow,Power BI开发自定义连接器
作者:陈希章 发表于 2017年12月20日 前言 我在之前用了几篇文章来介绍新一代微软商业应用平台三剑客(PowerApps,Microsoft Flow,Power BI),相信对于大家会有一种跃 ...
- 设计和开发ETL系统(二)——启动
在针对某个维度模型开始ETL系统设计之前,应当完成逻辑设计,草拟高层架构计划,并且为所有的数据元素拟定源到目标映射. ETL的设计过程十分重要: 收集所有的相关信息,包括事物处理系统中所允许的提取处理 ...
- BI之ETL学习(一)kettle
最近开始折腾数据,起源是多业务数据源需要转换到数据分析平台.这个过程需要跨机器,跨库.同时还需要将业务数据表的内容进行转换,合并,清洗等等操作. 经过多方选型,最终决定使用kettle来作为数据抽取处 ...
- SQL使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识
在开发过程中会遇到需要弄清楚这个数据库什么时候建的,这个数据库中有多少表,这个存储过程长的什么样子等等信息,今天把自己工作过程中经常用到的一些数据库引擎存储过程,系统视图等等总结一下以备不时之用.下面 ...
- 用友财务总帐(GL)模BI数据ETL分析
业务需求,如下面的: 现在用友总帐一家公司BI分析案例. /* Sql Server2012使用作业设置定时任务,为了保证有一天运行时间 */ /* 意temp1表里一定要保证要有记录,否则以temp ...
- 设计和开发ETL系统(一)——ETL过程综述
在这部分将按照设计和实现ETL系统的流程展开,将上一个部分的那些子系统按照提取数据.清洗和一致化.向呈现服务器提交以及管理ETL环境等四个方面进行了分类.(是不是说对ETL主要就是掌握这四个方面的内容 ...
随机推荐
- C高级第三次作业(1)
6-1 输出月份英文名 1.设计思路: 1.定义一个字符串数组将12个月的英文加进去: 2.判断输入的数是否大于等于1小于等于12: 3.若是 则返还s[n-1]; 4.否则返还NULL: 源代码: ...
- X11 fluxbox窗口管理器
/********************************************************************************* * X11 fluxbox窗口管理 ...
- scroll滚动动画(js/ts)
//(蓝色this部分为dom) scrollToLeft(option?: { duration?: number, direction?: number }) { let direction = ...
- Pr学习日记
1.http://tieba.baidu.com/p/4102775256 2.素才,编辑制作视频,视频输出 3. 启用新建保存: 启用:双击 新建项目:名称(第一节课),位置 ...
- LOJ2540. 「PKUWC2018」随机算法【概率期望DP+状压DP】
LINK 思路 首先在加入几个点之后所有的点都只有三种状态 一个是在独立集中,一个是和独立集联通,还有一个是没有被访问过 然后前两个状态是可以压缩起来的 因为我们只需要记录下当前独立集大小和是否被访问 ...
- js获取 gps坐标
if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function(pos) { model.address. ...
- HDU 4548:美素数
Problem Description 小明对数的研究比较热爱,一谈到数,脑子里就涌现出好多数的问题,今天,小明想考考你对素数的认识. 问题是这样的:一个十进制数,如果是素数,而且它的各位数字和也是素 ...
- jQuery prop() 方法
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- SocketIO4Net.Client
Project Description SocketIO4Net.Client Update as of 11/02/2013 A develop branch is up at https://gi ...
- FastAdmin 开发第一天:了解 FastAdmin 框架
了解 FastAdmin 框架 后端组件 ThinkPHP 5 EasyWeChat qr-code 前端组件 AdminLTE bootstrap bootstrap-table jquery la ...