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主要就是掌握这四个方面的内容 ...
随机推荐
- Python mode_a
f = open("葫芦小金刚", mode="a", encoding="utf-8") # a, append 追加, 在文件的末尾写入 ...
- Git内网服务搭建全过程
看到一篇搭建git服务器的文章,主要是公司内网搭建的,讲得非常详细,比廖雪峰的要完整,必须赞! http://developer.51cto.com/art/201507/483448.htm
- BZOJ4710: [Jsoi2011]分特产【组合数学+容斥】
Description JYY 带队参加了若干场ACM/ICPC 比赛,带回了许多土特产,要分给实验室的同学们. JYY 想知道,把这些特产分给N 个同学,一共有多少种不同的分法?当然,JYY 不希望 ...
- JavaScript高级程序设计——闭包
前言 有很多人搞不清匿名函数和闭包这两个概念,经常混用.闭包是指有权访问另一个函数作用域中的变量的函数.匿名函数就是没有实际名字的函数. 闭包 概念 闭包,其实是一种语言特性,它是指的是程序设计语言中 ...
- L2-013. 红色警报
战争中保持各个城市间的连通性非常重要.本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报.注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不 ...
- CTF-练习平台-Misc之 宽带信息泄露
七.宽带信息泄露 下载文件发现是bin文件,题目又说是宽带,所以用工具RouterPassView,打开工具 打开bin文件 快捷键:Ctrl+F搜索username 找到宽带用户名了.
- 一键分享到各个SNS插件
使用百度分享:http://share.baidu.com/code/advance#toid 例: HTML: <div class="bdsharebuttonbox" ...
- 【python】面试常考数据结构算法
这里整理的都是基础的不能再基础的算法,目的就是进行一个回忆,同时作为剑指offer的一个补充~嘿嘿~ 查找算法二分查找# 实现一个二分查找# 输入:一个顺序list# 输出: 待查找的元素的位置def ...
- (研)for循环的一个bug以及3个while循环的快排
在这个for循环中,只要有一次不满足,这个for循环将break掉 while(p->score>=90&&i<5) count++ //若有一次不满足的话,那么整个 ...
- MySQL--查询表统计信息
============================================================= 可以用show table status 来查看表的信息,如:show ta ...