[英]SSAS Relationship Slowly Changing Dimension
我的数据仓库中有这个结构
DimCustomer
-id (pk)
-Name
-Country
-datestart
-dateend
FactBalance
-idCustomer (pk) (fk [DimCustomer.id])
-idTime (pk) (fk [DimDate.DateSK])
-Balance
客户维度在国家/地区更改时有多行,而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中的每个客户条目都获取了最后一个非null值,但是如何设置维度以使其仅显示整个客户的最后一个?
我会将业务密钥(在您的示例中,我认为是名称)添加到事实中(我将其作为事实表中的列添加,或者可以通过SQL视图查看)。
然后,我将构建“客户”维度的替代版本,该版本仅显示当前记录,并使用“业务密钥”作为其密钥。
最后,我将新维度添加到多维数据集中,并使用业务密钥将其与事实相关联。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.