繁体   English   中英

数据仓库事实表的设计

[英]design of fact table(s) for data warehouse

你将如何在数据仓库中建模:


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

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

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

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

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

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

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


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

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

有任何想法吗?

谢谢

希望这是不言自明的。

regionperf_model_01

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

外形尺寸:

DIM_MUNICIPALITIES:

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

层次结构= {COUNTRY < - REGION < - STATE_PROV < - CITY?}

DIM_INDICATORS:

Fields = {INDICATOR_KEY,PERFORMANCE_AREA,PERFORMANCE_GROUP,PERFORMANCE_INDICATOR}

层次结构= {PERFORMANCE_AREA < - PERFORMANCE_GROUP < - PERFORMANCE_INDICATOR}

DIM_DATE:

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

层次结构= {YEAR < - MONTH < - WEEK < - DAY < - DATE_KEY}

然后在您的事实表(比如MYFACT)中,您将执行以下操作:

FACT_MYFACT:

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM