myfirstBI项目总结
app 应用信息统计:
saiku安装:http://blog.csdn.net/longshenlmj/article/details/17359645
workbench解压即用,http://blog.csdn.net/longshenlmj/article/details/17530379
流程:
1,从hive上导入每天的app应用信息,来自各个网站,基本字段根据经验。
2,用kettle清洗设计,导入mysql
3,workbench连接好sql,设计XXX.xml的cube文件。
4,将cube文件通过saiku呈现。相关配置使用的细节,见上面的文件saiku安装。
worbench的纬度:从一个角度(另一个表的某个属性)看事实表中的数据统计信息(事实表ft要有对应的字段)。总结:维度表的column设置项与事实表中对应字段(设置在cube的foreign key)关联
一个纬度表,通过自身的某个键,和事实表的某个键关联。dimension的foreign key和level中column的设定。注意level中的显示列为空,则默认用上面的比较列,设置要显示的列内容,比如显示年份,用date_value进行比较,满足了,在显示同一行上的另一个列的内容。
saiku数据呈现:同一个dim下的level不能分开到row和column上,只能同时在一个上。
dim上是的个数,行列都是dim,事实表中同时满足两个维度条件的元组个数。
measure是统计量,用于统计一列上的个数。比如downloads。统计的是事实表上的一列的值。另一方向放维度就表示,按不同维度值分别进行统计。多个维度,则多个满足条件下的统计。
注意,measure行列都可以放,想横着看,还是竖着看,就放到对应位置就行了。统计过程和统计结果不会发生改变(都是统计事实表中的一列)。measure和dim可以放到一起
另外,在右边的尾部有加图功能,所以按日期看增长量。下图中就是有问题的,出现下降,说明数据有错误。
(再比如,统计每天的下载量,按取值区间统计,观察是否符合正态分布,如果大值处依旧很高,说明作弊的可能性很大)
小测试,时间维度用维度表的dataval(维度表的column设置项),与事实表的date_value(cube的foreign key)关联,可以统计每天的信息。
level的type选regular,其它类型time_XXX还在测试中?
myfirstBI项目总结的更多相关文章
- Fis3前端工程化之项目实战
Fis3项目 项目目录结构: E:. │ .gitignore │ fis-conf.js │ index.html │ package.json │ README.md │ ├─material │ ...
- 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新
本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...
- 最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目
最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目 最近一个来自重庆的客户找到走起君,客户的业务是做移动互联网支付,是微信支付收单渠道合作伙伴,数据库里存储的是支付流水和交易流水 ...
- Hangfire项目实践分享
Hangfire项目实践分享 目录 Hangfire项目实践分享 目录 什么是Hangfire Hangfire基础 基于队列的任务处理(Fire-and-forget jobs) 延迟任务执行(De ...
- Travis CI用来持续集成你的项目
这里持续集成基于GitHub搭建的博客为项目 工具: zqz@ubuntu:~$ node --version v4.2.6 zqz@ubuntu:~$ git --version git versi ...
- 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新
[原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...
- 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新
上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...
- Angular企业级开发(5)-项目框架搭建
1.AngularJS Seed项目目录结构 AngularJS官方网站提供了一个angular-phonecat项目,另外一个就是Angular-Seed项目.所以大多数团队会基于Angular-S ...
- 【分享】标准springMVC+mybatis项目maven搭建最精简教程
文章由来:公司有个实习同学需要做毕业设计,不会搭建环境,我就代劳了,顺便分享给刚入门的小伙伴,我是自学的JAVA,所以我懂的.... (大图直接观看显示很模糊,请在图片上点击右键然后在新窗口打开看) ...
随机推荐
- SLAMCN资料收藏转载
网页链接地址:http://www.slamcn.org/index.php/%E9%A6%96%E9%A1%B5 资料非常丰富,内容如下: 首页 目录 [隐藏] 1 SLAM 介绍 1.1 什么是 ...
- ECMAScript 6之Set和Map数据结构
Set 基本用法 ES6提供了新的数据结构Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set本身是一个构造函数,用来生成Set数据结构. var s = new Set(); [2, ...
- 【unix网络编程第三版】阅读笔记(二):套接字编程简介
unp第二章主要将了TCP和UDP的简介,这些在<TCP/IP详解>和<计算机网络>等书中有很多细致的讲解,可以参考本人的这篇博客[计算机网络 第五版]阅读笔记之五:运输层,这 ...
- 如何让 jQuery Mobile 不显示讨厌的 loading 界面
jQuery Mobile 的一个BUG: 当不采用 ajax 以及 他自己的 back 返回的时候,即: 点击浏览器后退按钮时,将会从缓存之中加载页面,此时,讨厌的 loading 动画出来了,而且 ...
- Uva - 230 - Borrowers
AC代码: #include <iostream> #include <cstdio> #include <cstdlib> #include <cctype ...
- Android官方命令深入分析之虚拟机
Android SDK包含了一个运行在计算机上的移动设备虚拟机.这个虚拟机可以允许你在没有物理设备的情况下开发和测试Android应用. 键盘命令 虚拟设备按键 对应键盘按键 Home HOME 菜单 ...
- 【翻译】从Store生成Checkbox Group
原文:Ext JS: Generating a Checkbox Group from a Store Ext JS的checkbox group可以用来将复选框组合成一个单一的逻辑字段.由于复选框时 ...
- Linux信号实践(1) --Linux信号编程概述
中断 中断是系统对于异步事件的响应, 进程执行代码的过程中可以随时被打断,然后去执行异常处理程序; 计算机系统的中断场景:中断源发出中断信号 -> CPU判断中断是否屏蔽屏蔽以及保护现场 -&g ...
- 【一天一道LeetCode】#63. Unique Paths II
一天一道LeetCode (一)题目 Follow up for "Unique Paths": Now consider if some obstacles are added ...
- Java中Set的contains()方法
Java中Set的contains()方法 -- hashCode与equals方法的约定及重写原则 翻译人员: 铁锚 翻译时间: 2013年11月5日 原文链接: Java hashCode() a ...