1

在数据仓库中,我希望有一个事实表来跟踪大学申请的某些指标(例如标准化考试的平均分数)以及一年中不同时间的申请状态。为简单起见,假设给定的应用程序通过 3 个状态进行:

  1. 新的
  2. 被评估
  3. 已评估

这些状态会随着时间而改变。

我相信我想在这里使用一个缓慢变化的维度,但我不知道如何才能正常工作。

有人可以给我一个事实表和维度表的例子,它在两个应用程序通过这些状态时跟踪它们?

我正在使用 SQL Server 分析服务 2005。

目标是能够对每个州的申请数量进行逐年分析。

4

3 回答 3

4

这听起来像是一个经典示例,说明您将使用累积快照类型的事实表而不是缓慢变化的维度。当您希望能够通过管道分析应用程序的进度时,累积快照是对具有已定义生命周期的业务流程进行建模的标准方法。

谷歌“累积快照”事实表,你会发现很多关于它们用法的好文章,但这里有一篇你可能会觉得有帮助。 http://blog.oaktonsoftware.com/2007/03/accumulating-snapshot-use-accumulating.html

于 2009-01-19T22:38:35.977 回答
0

我们在 SQLServerPedia 上有几篇关于慢慢改变维度的文章:

http://sqlserverpedia.com/wiki/SSIS_-_Slowly_Changing_Dimension_Wizard

http://sqlserverpedia.com/wiki/Data_Warehousing__-_Slowly_Changing_Dimensions

这些可能会帮助您加快速度。

于 2009-01-19T22:29:50.267 回答
0

你的问题提到了标准化考试成绩和评估状态。当然,那将是你的两个维度,以及无所不在的时间。Ralph Kimball 有一个很好的时间维度的例子。如果您的考试分数维度是 SAT,它将有 2400-700 = 1700 行,因为您在签名时获得 700 分,并且三个部分的满分均为 800。正如您所描述的,您的评估维度可能是三行。

因此,每次分数或评估发生变化时,您的事实表中都会有一条记录,并带有时间维度的键来告诉您更改发生的时间。

于 2009-01-18T13:51:01.360 回答