Размер схемы снежинки
Это первый раз, когда я работаю над проектом BI, и продукты Pentaho мне еще не знакомы, поэтому мне нужно было знать, правильны ли следующие модели, и что я не столкнусь с трудностями позже при создании иерархий на BI-сервере.!
Спасибо.
Измерение времени:
Измерение сложности, каждое осложнение может иметь подсложнения:
1 ответ
Не хорошая идея.
Ваша таблица измерений календаря должна выглядеть следующим образом:
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".
По сути, у вас должен быть один уровень нормализации: ваши таблицы фактов и таблицы измерений.