我的子父级层次结构存在一个奇怪的问题,当所有子一元运算符都是+时,父级的计算是不正确的。
这是使用一元运算符的父子结构的向下运行。
-PBIT (+)
-OtherIncome (+)
-GrossProfit (+)
-Sales (+)
-Cost Of Sales (-)
这是我遵循http://geekswithblogs.net/darrengosbell/articles/57811.aspx的指南,这一切都很有效,除了任何有孩子的父母都加上加号运算符的事实会增加太多。
这是输出数据。
正如您所看到的,PBIT值正在将销售额,销售成本和其他收入加在一起以获得价值。 (即使销售成本一元运算符为负!!)
起初我认为它可能只是优秀,但看着它和MDX查询给出了相同的价值。
为什么呢?似乎只有当一元运算符是+时,任何其他运算符才能正常工作。
答案 0 :(得分:1)
您所引用的帖子并未描述使用一元运算符设置父子层次结构的设置,正如我从上下文中假设的那样,但描述了如何在父子层次结构中的多个位置使用一个成员。这涉及到一种多对多的关系。根据{{3}},Analysis Services的一个已知限制是,一元运算符聚合无法与多对多关系一起正常工作,而且微软似乎不会很快改变它。
但至少看来你找到了解决方法。
答案 1 :(得分:0)
我建议在http://www.sqlbi.com/articles/many2many/的许多革命白皮书中阅读“使用一元运算符进行层次结构重新分类”一章 它为这个问题提供了一个很好的解决方案。
或者通过使用自定义汇总成员,您可以实现类似的目标。