维度建模

维度建模

1
推荐
2661
浏览

读书笔记 | 维度设计总结

这是一篇流水账总结,在维度设计上有困惑的可以看看,完全不了解的也请忽略。维度的设计过程就是确定维度属性的过程,维度属性的优劣,决定了维度使用的方便性,成为数据仓库易用性的关键。正如Kimball所说的,数...

百川 发表了文章 • 2017-11-02 18:01

0
投票
0
回答
1160
浏览
3
推荐
2901
浏览

数据仓库专题(2)-Kimball维度建模四步骤

一、前言  四步过程维度建模由Kimball提出,可以做为业务梳理、数据梳理后进行多维数据模型设计的指导流程,但是不能作为数据仓库系统建设的指导流程。本文就相关流程及核心问题进行解读。二、数据仓库建设流程...

张子良 发表了文章 • 2016-03-19 16:05

0
投票
0
回答
1462
浏览
0
投票
1
已解决
2080
浏览
0
投票
2
回答
2153
浏览

维度表数据变化如何添加?

BIWORK 回复了问题 • 2015-10-10 13:18
0
投票
3
回答
2576
浏览

时间维设计

铁皮罐头 回复了问题 • 2015-09-02 09:28
0
投票
1
已解决
2894
浏览

维度多分类的建模方法

BAO胖子 回复了问题 • 2015-09-02 08:30
0
投票
3
已解决
2380
浏览

根据select结果给dim打标签

BAO胖子 回复了问题 • 2015-09-02 08:30
0
投票
2
已解决
2461
浏览

维度一致性问题

BAO胖子 回复了问题 • 2015-09-02 08:30
0
投票
3
回答
3312
浏览
0
投票
1
回答
2146
浏览

维度怎么重命名

匆匆 回复了问题 • 2015-06-16 16:41
0
投票
2
回答
2341
浏览
0
投票
2
回答
3069
浏览

SSAS被引用维度的问题

焉寻谖草 回复了问题 • 2015-05-22 15:04
条新动态, 点击查看
BAO胖子

BAO胖子 回答了问题 • 2015-09-02 08:30 • 1 个回复 不感兴趣

维度多分类的建模方法

赞同来自:

有几个套路来解决这种问题,最简单粗暴其实也是最常见的方式就是,直接将这些维度当成和物料无关的维度,你可以建一张Table去保存物料和物料多种分类的关系,但在事实表做JOIN的时候不去使用他们。然后建一些维表比如DIM_MATERIAL_SIZE, DIM_MA... 显示全部 »
有几个套路来解决这种问题,最简单粗暴其实也是最常见的方式就是,直接将这些维度当成和物料无关的维度,你可以建一张Table去保存物料和物料多种分类的关系,但在事实表做JOIN的时候不去使用他们。然后建一些维表比如DIM_MATERIAL_SIZE, DIM_MATERIAL_TYPE, DIM_MATERIAL_VOLUME,并将这些维表的主键加到FACT表中去。在JOIN的时候直接使用即可。简单又方便,当然会一定的数据冗余,不过只要程序控制一下,都不是问题。
 
Kimball也是建议这种东西需要在FACT Table里面解决,你可以参考他的outrigger dimension相关的文章,只是不要拘泥于他的思路。
BAO胖子

BAO胖子 回答了问题 • 2015-09-02 08:30 • 3 个回复 不感兴趣

根据select结果给dim打标签

赞同来自:

1. 提前创建好这种维度表,如在线时长/消费能力/年龄范围,等等都是通过measurement计算范围得到的维度
2. ETL阶段处理,在FACT Table中加如上说的各种dimension key,哪怕FACT变成蜈蚣也尽可能别在Query里面动态计算,除... 显示全部 »
1. 提前创建好这种维度表,如在线时长/消费能力/年龄范围,等等都是通过measurement计算范围得到的维度
2. ETL阶段处理,在FACT Table中加如上说的各种dimension key,哪怕FACT变成蜈蚣也尽可能别在Query里面动态计算,除非你的需求非得是动态生成不可
BAO胖子

BAO胖子 回答了问题 • 2015-09-02 08:30 • 2 个回复 不感兴趣

维度一致性问题

赞同来自:

把员工和部门当成不相干的维度,事实表保存有两个维度的KEY,然后join到两个dimension表上去。
如:
create table dim_emp
(
   emp_id integer,  --PK
  emp_full_name varchar(10... 显示全部 »
把员工和部门当成不相干的维度,事实表保存有两个维度的KEY,然后join到两个dimension表上去。
如:
create table dim_emp
(
   emp_id integer,  --PK
  emp_full_name varchar(100)
  dept_id integer --这里看你是否有保留历史记录的需求,如果有,需要用拉链表或者加surrogate key的办法解决
); 
 
create table dim_dept
(
  dept_id integer, -- PK
  dept_name varchar(100)
);
 
create table fact_salary
(
   emp_id integer,
  dept_id integer,
  salary_amt decimal(8,2)
);
 
以上
 
 
BAO胖子

BAO胖子 回答了问题 • 2015-10-12 16:51 • 1 个回复 不感兴趣

维度建模,遇到不可加维度怎么办? ?

赞同来自:

这个是不可加度量,不叫不可加维度
这种的,你要记录下登录的UV的唯一USER ID,然后上卷计算时用distinct column取。否则你就需要按照具体的需求进行snapshot模式的汇总,如果只为了计算这么一个度量就不是很可取,如果要计算很多其他东西,可以... 显示全部 »
这个是不可加度量,不叫不可加维度
这种的,你要记录下登录的UV的唯一USER ID,然后上卷计算时用distinct column取。否则你就需要按照具体的需求进行snapshot模式的汇总,如果只为了计算这么一个度量就不是很可取,如果要计算很多其他东西,可以附带把这个加上去。比如银行的存款,按天走的,不能直接上卷计算。那就在月表里增加一个比如月末最后一天的存款额,或者本月平均的存款额,之类。
0
投票
0
回答
1160
浏览
0
投票
0
回答
1462
浏览
0
投票
1
已解决
2080
浏览
0
投票
2
回答
2153
浏览
0
投票
3
回答
2576
浏览

时间维设计

铁皮罐头 回复了问题 • 2015-09-02 09:28
0
投票
1
已解决
2894
浏览

维度多分类的建模方法

BAO胖子 回复了问题 • 2015-09-02 08:30
0
投票
2
已解决
2461
浏览

维度一致性问题

BAO胖子 回复了问题 • 2015-09-02 08:30
0
投票
3
已解决
2380
浏览

根据select结果给dim打标签

BAO胖子 回复了问题 • 2015-09-02 08:30
0
投票
1
回答
2146
浏览

维度怎么重命名

匆匆 回复了问题 • 2015-06-16 16:41
0
投票
2
回答
3069
浏览

SSAS被引用维度的问题

焉寻谖草 回复了问题 • 2015-05-22 15:04
0
投票
3
回答
2630
浏览
0
投票
3
回答
2858
浏览
1
推荐
2661
浏览

读书笔记 | 维度设计总结

这是一篇流水账总结,在维度设计上有困惑的可以看看,完全不了解的也请忽略。维度的设计过程就是确定维度属性的过程,维度属性的优劣,决定了维度使用的方便性,成为数据仓库易用性的关键。正如Kimball所说的,数...

百川 发表了文章 • 2017-11-02 18:01

3
推荐
2901
浏览

数据仓库专题(2)-Kimball维度建模四步骤

一、前言  四步过程维度建模由Kimball提出,可以做为业务梳理、数据梳理后进行多维数据模型设计的指导流程,但是不能作为数据仓库系统建设的指导流程。本文就相关流程及核心问题进行解读。二、数据仓库建设流程...

张子良 发表了文章 • 2016-03-19 16:05