SSAS - 维度和事实表历史数据 - 使用维度表映射事实表

时间:2013-02-24 14:25:56

标签: ssas data-warehouse dimension fact

我设计了与仓库相关的仓库表 - DimPlaces,FactPlaces,DimGeography。如果你看到它是简单的设计。所有位置都在DimPlaces(Addrline1,Addrline2,placename等)中,地理层次结构位于DimGeography(City,State,Country,PostCode)中。 FactPlaces是一个表,它有DimPlaces和DimGeography的外键。

我希望保留历史数据,因为地点名称或其属性可能会发生变化,同时如果某个地点的位置发生变化,那么地理层次结构键会发生变化。

我找到了设计模式 -

另一个有用的设计模式是除了维度的代理键之外,还将持久帐户密钥添加到事实表中。这将连接回维度中的当前行,以便更容易按当前维度属性报告所有历史记录。

请您建议可以按照此解决方案进行操作吗?如果是,我是否需要使用UNIQUEIDENTIFIER类型的KEY作为唯一值?

另一个问题 - 我有员工数据(DimEmployee和FactEmployee)。每个员工都与他工作的地方相关联。如何将这些EMPLOYEE TABLES与PLACES TABLES连接。我是否需要将FACTEMPLOYEE与FACTPLACES连接?

1 个答案:

答案 0 :(得分:0)

我认为首先,他们指的是商业密钥?因此,如果维度表有两行,则代理键1& 2,但它们都引用相同的东西,因此两者都有AccountId / ProductId / WhateverId为1,那么你将有一些带有代理键1和业务键1的事实表行,以及后面带有代理键2和业务键1的表行

Uniqueidentifiers非常广泛,尽量避免在事实表和连接中使用它们。

对于你的上一个问题 - 这真的是一个报道的事情。你需要那样做吗?这是人们需要看到的,他们是否需要切入?您可以考虑引用的维度 - places表通过employees维度上的placeId链接到事实表。或者,您可以拥有一个包含开始和结束日期的factemployees表。这取决于你需要达到的目标。