Mdx查询问题

时间:2011-05-18 15:03:05

标签: mdx members

您好 我正在研究mdx查询,我认为我解决了一个问题,但.... 我创建了一个计算成员

iif(
  isleaf([DimensionArtikujDG].[DimensionArtikujDG].CurrentMember),
         ([Measures].[Sasia])*(1/[Measures].[Koeficienti]),
        Sum(
          Descendants(
            [DimensionArtikujDG].DimensionArtikujDG].CurrentMember,,LEAVES),
            ([Measures].[Sasia])*(1/[Measures].[Koeficienti])
        )
)

[DimensionArtikujDG].[DimensionArtikujDG]位于数据透视表中时 它工作正常。 当我在报告过滤器区域和过滤器中获取此维度时 两个或三个元素报告区域中的总数不会改变。 如果没有应用过滤器,它仍然是总数。 不知道我是否正确解释了它。 会接受任何形式的帮助

1 个答案:

答案 0 :(得分:1)

问题是评估表达式时currentMember的值。了解正在发生的事情的一种方法是将表达式更改为:

[DimensionArtikujDG]。[DimensionArtikujDG] .CurrentMember.name

当你在切片器中使用一个集合(又名WHERE)时,currentMember没有很好地定义(在icCube中我们抛出一个错误)。也许您正在使用的服务器采用默认成员(可能是[全部])。

解决方案:这取决于您正在使用的Olap服务器。作为提示,请查看如何为维度定义特殊汇总。