BI-具有不兼容纹理的事实表设计

时间:2019-05-17 22:17:40

标签: database business-intelligence dimensional-modeling fact fact-table

我对BI设计数据库很陌生,在这一点上我不太了解。 我正在尝试导入法国人口普查数据,我在其中获取每个城市的人口。对于每个城市,我都有不同年龄段的人口,它们之间并没有真正的联系。

例如,假设一种分类是00到20岁,21到59和60+ 另一种是更精确的方法:00到02、03到05等,但是范围永远不会与第一个分类相同:例如,我没有15到20,而是18到22。

因此,这两个分类不兼容。如何在事实表中使用它们?我应该使用2个事实表和2个多维数据集吗?我应该使用一个事实表,为1个多维数据集使用2个维度吗?但是在这种情况下,当我汇总一个城市的总人口时,我将有双重计算的事实,不是吗?

这是国家人口普查数据和国家分类,因此不能更改或估计人口以混合这些分类。需要明确的是,一行与一个人无关,而是与一个城市有关。我的事实不是个人,而是城市人口。 所以这个表就像: 第1行:一个城市-一定数量的人口-一个针对这个年龄段的昏暗年龄(例如00到19岁)的代码-该年龄段的昏暗性别的代码(m / f)-人口普查日期 第2行:同一城市-一定数量的人口-一种针对这个人口的昏暗年龄(例如20至34岁)的代码-昏暗性别的代码(m / f)-人口普查日期 因此,很多城市,无论是性别还是多年的城市都适用。 一样

我希望这个问题很清楚,因为英语不是我的母语,并且我在DB和BI领域还很新!

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

使用单个事实表和针对年龄范围的两个维度的一种可能的解决方案:

1-基于最广泛的人口普查的分类范围,例如:

  • 0-20岁的年轻人
  • 21-59岁成人
  • 60岁以上的高级

然后,您可以将其他人口普查与该维度关联起来,并带有近似值,例如18-22可以是Young。

2-原始年龄范围。当您报告单个城市时,此维度可以用于精确的年龄范围,也可以帮助您评估重叠边界的影响(例如,年轻/ 18-22岁的年龄段有多少行?)

答案 1 :(得分:0)

您可以按以下方式创建一个尺寸

1-20岁 成人21-59 60岁以上的老人

分类为 青年城市1:1-20 青年城市2:4-23

 id  field1   field2         field3          field4  .......

 1   1 year   young_city_1   other           .......
 2   2 year   young_city_1   other           .......
 3   3 year   young_city_1   other           .......
 4   4 year   young_city_1   young_city_2    .......

现在您可以从任何项目和任何部门进行报告

希望对您有帮助