数据仓库事实表的设计

时间:2009-11-19 21:04:02

标签: database-design data-warehouse cube

您将如何在数据仓库中对此进行建模:


  1. 有些地区是地理区域,存在于地理层级,例如省(即州,例如明尼苏达州),地区(例如MidWest)。

  2. 通过计算绩效指标,如“已完成的住房积压百分比”,“预算支出百分比”,“分配给基础设施的预算百分比”,“债务人覆盖率”,对这些城市进行绩效评估,等

  3. 大约有100个这些绩效指标。

  4. 这些指标分为“绩效小组”,这些小组本身被归为“关键绩效领域”

  5. 计算应用于绩效指标(计算因某些因素而异,如市政类型,规模,地区等),以产生“绩效得分”。

  6. 然后将
  7. 权重应用于分数以创建“最终加权分数”。 (即,当汇总到“关键绩效领域”时,某些指标的权重比其他指标更多)

  8. 会有一个时间维度(每年进行一次评估),但现在只有一个数据集。


  9. 注意:用户需要能够轻松地在任何指标组合中查询数据。即有人可能希望看到:(i)(ii)“(债务人承保范围)”(iii)“预算支出百分比”对(iv)(v)省级“债务人日”的表现水平。

    我通过将“IndicatorType”作为维度,然后在该表中具有[指标/性能组/性能区域]层次结构来尝试这一点 - 但是后来我无法弄清楚如何轻松获得相同的多个指标line,因为它需要一个事实表别名(?)。所以我想把所有100个项目作为列放在一个(非常宽的!)事实表中 - 但是后来我会失去指标上的[group / area] heirarchy ......?

    有什么想法吗?

    由于

2 个答案:

答案 0 :(得分:3)

希望这是不言自明的。

regionperf_model_01

答案 1 :(得分:1)

这是一个非常复杂的问题,但我花了很多时间来完成你的一些观点并想出了这个模型(应该是一个很好的开始)。

尺寸:

DIM_MUNICIPALITIES:

Fields = {MUNICIPAL_KEY,COUNTRY,REGION,STATE_PROV,CITY?,SIZE_SCORE}

Hierarchy = {COUNTRY< - REGION< - STATE_PROV< - CITY?}

DIM_INDICATORS:

Fields = {INDICATOR_KEY,PERFORMANCE_AREA,PERFORMANCE_GROUP,PERFORMANCE_INDICATOR}

Hierarchy = {PERFORMANCE_AREA< - PERFORMANCE_GROUP< - PERFORMANCE_INDICATOR}

DIM_DATE:

Fields = {DATE_KEY,CALENDAR_DATE(SQL datetime),YEAR,MONTH,WEEK,DAY ......}

Hierarchy = {YEAR< - MONTH< - WEEK< - DAY< - DATE_KEY}

然后在你的事实表(比如MYFACT)中你会做如下的事情:

FACT_MYFACT:

Fields = {MYFACT_KEY,DATE_KEY,MUNICIPAL_KEY,INDICATOR_KEY,PERFORMANCE_SCORE,BUDGET,ETC ....}

事实表可以包含所有这些度量列(BUDGET,ETC),或者您可以在计算成员中执行它们,这一切都取决于您希望如何进行访问。

希望这有助于您获得良好的开端!