WEB开发网
开发学院数据库MSSQL Server Project REAL分析服务技术探讨(3) 阅读

Project REAL分析服务技术探讨(3)

 2007-05-15 09:28:13 来源:WEB开发网   
核心提示: ◆一般情况下,我们建议在你的关系型设计中,Project REAL分析服务技术探讨(3)(2),在实体之间使用代理键(surrogate keys),作为最好的实践,时间智能向导就开始工作,并允许你输入指定时间的信息,然而,这也是这个实践可能没有意义的地方所在

◆一般情况下,我们建议在你的关系型设计中,在实体之间使用代理键(surrogate keys),作为最好的实践。然而,这也是这个实践可能没有意义的地方所在。如果你已经使用了一个时间戳或者其它时间的表示方法(例如,用整数20050321表示2005年3月21日),可能继续使用这种技术更有意义。在这个例子中有两点需要考虑。首先,确认你正在使用一个日期戳而不是日期时间戳(将时间从你的外部键中移去)。第二,你可以使用SQL Server RDBMS DATEPART 函数自动的从日期戳构建外部键值。

◆如果你的应用程序需要一个比日更加深入的细节,可以考虑将时间分成两个维度。一个维度记录到日为止的时间,另外一个维度记录日中的时间。

例如,你向跟踪没分钟的产品销售情况。乍看,你可能会创建一个如下所示的用户定义层次的维度。

年  季  月  周  日  时  分

假定就是按照这个维度来实现的,如果你手机五年的历史数据,那么在这个维度中将会有多少成员?这个结果是很吃惊的。这会产生2,675,795 个成员。不仅仅是一个巨大的数字,这种带有小时和分钟值的模型使得很难按照周或者月去处理信息。反过来,考虑使用如下的两个维度:

日期: 年  季  月  周  天

时间: 期间  时  分

(期间可以时下班时间, 早上, 中午, 下午或者晚上)

五年的历史数据成员会少很多(3,640个成员)。这个方法也支持更丰富的分析。你能够只关注早上的销售情况,你也可以为每月第一周做一个比较,比较早上和下午的销售情况(例如每月支付薪水那天的上午)。

有两种技术可以用来创建时间维度表。一种时使用标准的维度向导(Dimension Wizard)。使用向导创建所有的属性、层次和其它对象。然后再回过头来修改各个属性的类型,使它们匹配适当的时间语义。例如,另外一种技术是使用时间智能向导(ime Intelligence Wizard)。为了启动这个向导,打开标准的维度向导,然后指出这是一个时间维度。时间智能向导就开始工作,并允许你输入指定时间的信息。如图12所示。

上一页  1 2 3 4 5 6 7  下一页

Tags:Project REAL 分析

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接