在计算的mdx成员中组合集合和元组

在计算的mdx成员中组合集合和元组,mdx,Mdx,我正在mdx查询中创建一个成员,其中包含切片器信息,最后一个是我的度量值。当我向元组中添加一个集合(用于在一个维度上有多个切片器)时,会出现此错误 此函数要求参数使用字符串或数值表达式。 使用了元组集表达式 当我将集合的两个成员中的一个添加到元组中时,不会出现此错误 这意味着什么,我真的不知道该怎么做,从根本上说,添加切片器和没有实际代码很难帮助您之间没有区别 无论如何,从您的问题来看,似乎您与集合和元组混淆了(例如,您无法将集合添加到元组)。我建议您查看解释这些基本概念的MDX教程:例如,ic

我正在mdx查询中创建一个成员,其中包含切片器信息,最后一个是我的度量值。当我向元组中添加一个集合(用于在一个维度上有多个切片器)时,会出现此错误

此函数要求参数使用字符串或数值表达式。 使用了元组集表达式

当我将集合的两个成员中的一个添加到元组中时,不会出现此错误


这意味着什么,我真的不知道该怎么做,从根本上说,添加切片器和没有实际代码很难帮助您之间没有区别


无论如何,从您的问题来看,似乎您与集合和元组混淆了(例如,您无法将集合添加到元组)。我建议您查看解释这些基本概念的MDX教程:例如,icCube就可以了。

元组就是单元。一个集合包含单元格。集合不能是元组的坐标之一,因为最终结果不是单元(单元由1给出,每个维度中只有一个成员,其中未指定的成员将被视为All成员或默认成员)

解决方法是创建计算成员:

With Member [Time].[Current Period] as { [Time].[2013], [Time].[2014] }
Select (... your query here ...)
Where ( [Products].[My product], [Time].[Current Period], ... )

事实上,在切片器中,您有一个元组,因为在每个维度中都指定了一个成员。时间维度上的成员不是“纯”成员来自维度表列但却是计算成员的成员没有任何影响。

是的,在这种情况下,我不能向元组添加集合,但我不太明白为什么元组是成员列表。集合是元组列表,而不是成员,因此不能将集合添加到元组中。