0

这是我第一次工作的一个BI项目和Pentaho的产品还不熟悉我的,所以我需要知道以下型号是正确的,我以后不会当面对困难在BI Server上创建层次结构!雪花架构尺寸

谢谢。

时间维度: enter image description here

并发症尺寸,每个并发症可以有子的并发症: enter image description here

回答

3

不是一个好主意。

您的日历维度表应该是这样的:

create table calendar (
    calendar_id int primary key, 
    name text not null unique, 
    date_iso date unique, 
    year smallint, 
    quarter smallint, 
    month smallint, 
    month_name text 
    ... 
); 

insert into calendar values 
(0, 'N/A', null, null, null, null, null), 
(20130826, 'Aug 26, 2013', '2013-08-26', 2013, 3, 8, 'August'); 

数据仓库的一点是便于分析。让你的BI分析师做三个连接来获得一个日期并不能简化分析。

calendar_id是一种“智能钥匙”,即不无意义的代理键。您的日历表是​​唯一应该使用智能密钥的表,因为它极大地帮助按日期进行表分区。还要注意可空字段,它允许“N/A”(不可用)日期。没有0年,所以0是一个很好的“N/A”值。

基本上,你应该有一个标准化的水平:你的事实表和你的维度表。

+0

但后来,你对使用雪花模式的地步?!,你表现出模型去与星型模式不嘛!,我读到,当我们发现一个维度内的等级,我们可以正常化它,它添加到事实表给我们一个雪花架构!或者我只是以错误的方式使用雪花模式?谢谢。 –