为人口增长立方体设计 Olap 立方体维度和事实

Posted

技术标签:

【中文标题】为人口增长立方体设计 Olap 立方体维度和事实【英文标题】:designing Olap cube dimensions and facts for population growth cube 【发布时间】:2014-06-11 19:50:38 【问题描述】:

我想为人口增长创建一个 Olap 立方体。我有一个带表的 mysql 数据库:

 Act (
 id  INT NOT NULL AUTO_INCREMENT,
 birth_date DATETIME,
 death_date DATETIME,
 place VARCHAR(20)  
 );

我希望它成为表 Fact_Population_Growth 的维度。我想分析给定时间和地点的出生和死亡人数。然而,在纸上看起来很容易,当使用 Pentaho Workbench 构建 olap 立方体时,我感到很困惑。我只有一个维度还是必须做维度时间和维度地点?我的措施是出生人数和死亡人数吗?有没有办法存储这两者之间的差异并导致人口增长?这个 Fact_Population_Growth 表可以完成这项工作吗? :

 Population_Growth(
 id INT NOT NULL,
 number_of_births INT, 
 number_of_deaths INT,
 time DATE
 place VARCHAR,
 result INT  
 );

【问题讨论】:

【参考方案1】:

应该有两个维度,地点和时间,以及两个度量,出生和死亡人数。

【讨论】:

我应该做一个单独的表时间,列年份;月;天,还是我从出生日期和死亡日期开始计算时间 维度应该(几乎)总是单独的表,是的。唯一的例外是当您有一个退化维度时,通常是一个单级维度,其基数与事实表的基数相当。有关如何设置数据结构的提示,请参阅 Kimball,维度建模。

以上是关于为人口增长立方体设计 Olap 立方体维度和事实的主要内容,如果未能解决你的问题,请参考以下文章

数据立方体

数据立方体(Cube)

维度模型数据仓库基础对象概念一览

数据立方建立-如何实现一对多,多对多

数据仓库设计

saikumondrian前奏之——立方体维度Schema的基本概念