关于刚性属性关系的建议

时间:2012-07-02 15:54:31

标签: ssas ssas-2008

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

这里可以采取什么行动?

  1. 删除刚性关系 - 但如果业务案例应该定义刚性关系,并且我们有一个有效的业务案例,这只是SSAS中的设计缺陷吗?
  2. 排列处理属性的顺序 - 如果在父属性之前处理了子属性,那么我们就不会遇到此问题。是否可以在SSAS中安排属性处理?
  3. 对维度进行完整处理 - 我们有其他维度与刚性关系,我们应该将它们全部设置为ProcessFull吗?如果是这样,那么,为了保持僵化的关系,为什么甚至还有其他处理选项呢?
  4. 还有其他选择需要考虑,比如可能更改错误配置,还是其他什么?
  5. 请告诉我您认为最好的方法。

    谢谢, 格雷格

1 个答案:

答案 0 :(得分:0)

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