SSAS Cube Semi Aditive衡量LastChild的时间,但是其他几个项目的总和最大值和总和

时间:2014-07-16 22:16:23

标签: sql-server-2008-r2 ssas mdx

我有一个SQL SERVER 2008R2标准版。立方体有一个称为" AUM"的度量。基本上,这一衡量指标仅适用于One Dimension Portfolio。

跨越时间我需要选择LastChild,跨越安全我需要选择Max和Across Portfolio我需要选择SUM。

我该如何制作这项措施?什么应该是Aggregation属性来实现所有3种类型的计算。

目前我们已经为安全和时间编写了SCOPE语句来覆盖默认SUM行为。这很有效,但随着安全性和时间维度中的成员增加,SSRS报告查询会慢下来。

我目前正在测试创建新的持久化度量,通过更改聚合的属性和一些其他create成员语句的组合来查看是否可以避免使用范围语句。

任何形式的帮助都很棒。感谢

1 个答案:

答案 0 :(得分:0)

这是一个很好的问题。一些想法

如果聚合不是关联的,那么您评估元组的顺序就会出现问题。我会照顾范围(当你评估一个不在里面的元组时)。从presentation(漂亮的SSAS大师)

中查看Chris Webb

聚合的顺序很重要,LastChild(Max(Sum(tuple)))不是Max(LasChild(Sum(tuple)))。如果表现有问题,我会去找一个计算成员:

首先使用时间维度中的数据计算LastChild。在这里,您可以使用非空的任何聚合方法。一旦你使用另一个措施来获得最大值。

P.S。 :我认为在SSAS中你可以定义特殊的聚合方法(某处有一个用例)。

希望有所帮助