在数据仓库中,我希望有一个事实表来跟踪大学申请的某些指标(例如标准化考试的平均分数)以及一年中不同时间的申请状态。简单来说,假设一个给定的应用程序进展到3个状态:
这些状态会随着时间的推移而改变。
我相信我想在这里使用一个缓慢变化的维度,但我无法弄清楚如何正常工作。
有人可以给我一个事实表和维度表的示例,它跟踪两个应用程序在这些状态中的进展情况吗?
我正在使用SQL Server Analysis Services 2005.
目标是能够对每个州的申请数量进行逐年分析。
答案 0 :(得分:4)
这听起来像是一个经典的例子,您将使用累积快照类型事实表而不是缓慢改变维度。当您希望能够通过管道分析应用程序的进度时,累积快照是对具有已定义生命周期的业务流程建模的标准方法。
谷歌“累积快照”事实表,你会发现很多关于它们用法的好文章,但这里有一篇你可能会发现有用的文章。 http://blog.oaktonsoftware.com/2007/03/accumulating-snapshot-use-accumulating.html
答案 1 :(得分:0)
您的问题提到了标准化考试成绩和评估状态。当然,那些将是你的两个维度,以及无所不在的时间。 Ralph Kimball有一个很好的时间维度的好例子。如果您的考试成绩维度是SAT,则它有2400-700 = 1700行,因为您获得700分来签名,而且有三个部分,每个部分的满分为800。您的评估维度可以是三行,如您所述。
因此,每当得分或评估发生变化时,您的事实表中都会有一条记录,并且时间维度的关键字会告诉您何时发生更改。
答案 2 :(得分:0)
我们在SQLServerPedia上有一些关于缓慢改变维度的文章:
http://sqlserverpedia.com/wiki/SSIS_-_Slowly_Changing_Dimension_Wizard
http://sqlserverpedia.com/wiki/Data_Warehousing_-_Slowly_Changing_Dimensions
这些可能会帮助您加快速度。