首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSAS & SCD2 -如何处理Dim中的IsActive行

SSAS & SCD2 -如何处理Dim中的IsActive行
EN

Stack Overflow用户
提问于 2016-12-16 03:42:50
回答 1查看 314关注 0票数 0

我正在使用Server 2014和2015。

例如,我为员工的名字设置了一个SCD2

代码语言:javascript
复制
SK     AltKey       Name            Gender    IsActive
1      15           Sven Svensson    M        1
2      16           Jo Jonsson       M        1

在事实表中

代码语言:javascript
复制
SK      AgentSK      CallDuration    DateKey
100     1            335             20160808
101     2            235             20160809

因此,您可以看到多维数据集当前在FctAgentSK和DimSK上链接。这按计划进行。但是,当Jo更改性别时,SCD2会使行不活动(0),并使用新的性别和IsActive '1‘插入一个新行。

我面临的问题是,factSK 101仍然引用代理的“旧”细节。我应该如何处理这个问题,才能仍能报告电话,同时也参考了代理商的“正确”细节--反映了他们目前的性别。

当一个新的事实被插入,它将有‘新’SK分配,但基本上我需要报告所有的电话,发生了任何一方的性别变化。

有什么建议吗?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-19 16:50:45

正如Nick.McDermaid所建议的那样,如果您不想要SCD2功能,可以从维度设计中删除它(我经常看到它在不需要的时候过度实现:也许您继承了这种设置?)

如果希望/必须保留SCD2设计,但希望报告当前的人员属性(性别和任何其他SCD2属性)。

  1. Kimball在这里记录了一个“类型6”:SCD类型0、4、5、6、7。将属性的“当前”值添加到现有的Type2设计中。然后,您只可以报告“当前”属性。
  2. 我假设员工名为"Alt键“是持久的工作人员密钥,通过更改员工属性来保持不变?您可以创建一个稍微不同的员工维度(或者,员工维度中的层次结构),它的叶级键是Alt键。如果仍然没有SK作为维度属性,这将使维度表“折叠”为每个AltKey的一个成员,而不是每个SK的一个成员。显然,您不能向这个Alt键层次结构中添加任何SCD2属性,因为每个键不会有一个值;这会引起一些特殊的问题,比如如何称呼持久的" Employee“(即叶级的Name列将是什么),因为Employee名称是最明显的SCD2属性之一,不会保持不变。可能这种方法最好与维度数据中包含“当前值”的底层"Type6“相结合,如上文(1)所述。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41176946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档