2012-07-02 26 views
1

我在维度中的两个属性之间定义了一个严格的关系。这是一个商业案例,我们期望“父”属性永远不会改变。但是,我们看到一种间歇性情况,在维度的ProcessUpdate期间,首先执行父属性的查询,并且在执行对子属性的查询之前,将记录插入基础数据库。因此,当执行子属性查询时,它会读取处理第一个属性时不存在的数据,因此父属性可能被指定为未知成员。在该维度的下一个ProcessUpdate期间,由于父属性现在选取新数据,并且发现父属性不再是“未知”成员,而是另一个有效成员,因此会抛出一个错误,声明刚性关系被违反。关于刚性属性关系的建议

这里可以采取什么措施?

  1. 消除僵化的关系 - 但是如果僵化的关系应该由商业案例来定义,并且我们有一个有效的商业案例,这是SSAS中的设计缺陷吗?
  2. 排列属性的处理顺序 - 如果在父属性之前处理了子属性,那么我们就不会遇到这个问题。即使在SSAS中可以安排属性的处理?
  3. 在维度上做一个完整的过程 - 我们有其他维度与刚性关系,我们应该将它们都设置为ProcessFull?如果是这样,那么为了保持僵化的关系,为什么还要有其他处理选项?
  4. 是否有其他选择可以考虑,比如可能更改错误配置或其他?

请让我知道你认为最好的方法。

感谢, 格雷格

回答

0

我会建议使用选项#2(整理处理顺序)使用“顺序(事务模式)处理选项去 - here's more detail。您可能还想运行“影响分析”来验证对象依赖关系 - steps to implement here

+0

谢谢林恩,我已经研究了顺序处理选项,但我更多地寻找指定在一个维度内处理属性的顺序。我找不到任何文件。再次感谢。 – GH2