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

但後來,你對使用雪花模式的地步?!,你表現出模型去與星型模式不嘛!,我讀到,當我們發現一個維度內的等級,我們可以正常化它,它添加到事實表給我們一個雪花架構!或者我只是以錯誤的方式使用雪花模式?謝謝。 –