0

嗨,我正在处理 mdx 查询,我以为我解决了一个问题,但是....我创建了一个计算成员

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

[DimensionArtikujDG].[DimensionArtikujDG]在数据透视表内时,它工作正常。当我在报告过滤区域获取此维度并过滤两个或三个元素时,报告区域中的总数不会改变。在未应用过滤器的情况下,它仍然是总数。不知道我是否解释正确。会欣赏任何形式的帮助

4

1 回答 1

1

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

[DimensionArtikujDG].[DimensionArtikujDG].CurrentMember.name

当您在切片器(又名 WHERE)中使用集合时,currentMember 的定义不明确(在 icCube 中我们会抛出错误)。也许您正在使用的服务器正在使用默认成员(可能是 [All])。

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

于 2011-05-21T08:43:30.943 回答