0

这是我第一次做 BI 项目,Pentaho 产品对我来说还不熟悉,所以我需要知道以下模型是否正确,以及以后在 BI Server 上创建层次结构时我不会遇到困难!

谢谢你。

时间维度: 在此处输入图像描述

并发症维度,每个并发症都可以有子并发症: 在此处输入图像描述

4

1 回答 1

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”值。

基本上,您应该有一个标准化级别:事实表和维度表。

于 2013-08-26T18:06:22.933 回答