SSAS关系缓慢改变维度

时间:2013-05-01 09:52:39

标签: sql ssas data-warehouse business-intelligence

我的数据仓库中有这个结构

DimCustomer
   -id  (pk)
   -Name
   -Country
   -datestart
   -dateend

FactBalance
   -idCustomer (pk) (fk [DimCustomer.id])
   -idTime (pk) (fk [DimDate.DateSK])
   -Balance

Customer Dimension在国家/地区更改时有多行,FactBalance在一段时间内每天都有多行。

以下是一些示例数据:

DimCustomer

1  JoeBloggs England  2012-01-01   2012-01-04
2  JoeBloggs France   2012-01-05   NULL

FactBalance

1  20120101 12334.0
1  20120102 12334.0
1  20120103 12334.0
1  20120104 12334.0
2  20120105 12334.0
2  20120106 12334.0

我遇到的问题是,当我在浏览器中查看我的多维数据集并使用DimCustomer.Country和FactBalance.Balance(其聚合设置为LastNonNull)时,它会显示两个结果

 England  12334.0
 France   12334.0

显然,SCD中的每个客户条目的最后一个非空值,但是如何设置维度以便它只显示整个客户的最后一个?

1 个答案:

答案 0 :(得分:0)

我会将Business Key(我认为它是你的例子中的Name)添加到Fact(我会将它添加为Fact表中的列,或者你可以通过SQL View)。

然后我将构建Customer维度的替代版本,该版本仅显示当前记录并使用Business Key作为其关键。

最后,我会将新维度添加到多维数据集,并使用业务键将其与事实相关联。