CURRENTMEMBER函数在MDX中给出错误
我的维度如下: 我想一次只买一个市场 当我使用此查询时,我将获得我正在使用的所有成员的列表。成员函数:CURRENTMEMBER函数在MDX中给出错误,mdx,members,Mdx,Members,我的维度如下: 我想一次只买一个市场 当我使用此查询时,我将获得我正在使用的所有成员的列表。成员函数: SELECT [MARKET BASE].[Market Base].[Market Base].MEMBERS ON 1, [Measures].[% OTC Sales] ON 0 FROM [PharmaTrend Monthly Ext]; 但是,当我使用以下查询仅获取当前成员时,我会得到一个错误,即:CURRENTMEMBER函数要求1参数使用层次结构表达式。使用了成员表达式。
SELECT [MARKET BASE].[Market Base].[Market Base].MEMBERS ON 1,
[Measures].[% OTC Sales] ON 0
FROM [PharmaTrend Monthly Ext];
但是,当我使用以下查询仅获取当前成员时,我会得到一个错误,即:CURRENTMEMBER函数要求1参数使用层次结构表达式。使用了成员表达式。
SELECT [MARKET BASE].[Market Base].[Market Base].CURRENTMEMBER ON 1,
[Measures].[% OTC Sales] ON 0
FROM [PharmaTrend Monthly Ext];
更新:
当我使用下面的查询时,我得到的结果是All member
:
WITH
MEMBER [Market] AS
[MARKET BASE].[Market Base].[Market Base].CURRENTMEMBER
SELECT [Measures].[% OTC Sales] ON 0,
[Market] ON 1
FROM [PharmaTrend Monthly Ext];
我怎样才能解决这个问题呢?准确地说,chaps-
currentmember
不会在mdx
中迭代任何内容。我在原始帖子中看到的mdx都没有使用任何形式的迭代
在mdx
中,此函数与循环最接近:
GENERATE
过滤器也可以看作是迭代器
CURRENTMEMBER
通常用在WITH
子句中进行计算。它所做的是为上下文中的每个成员拾取当前成员-这基本上意味着您在结果表中看到的内容。CURRENTMEMBER
是隐式拾取的,如果您在范围中有层次结构中的任何成员,并且将其放置在轴上。默认情况下,它是ALL
成员
WITH MEMBER [Measures].[Market] AS
[MARKET BASE].[Market Base].CURRENTMEMBER.NAME
SELECT [MARKET BASE].[Market Base].[Market Base].MEMBERS ON 1,
{[Measures].[% OTC Sales], [Measures].[Market]} ON 0
FROM [PharmaTrend Monthly Ext];
这将返回当前选定市场的名称或axis(范围内)上的名称。您认为“当前成员”是什么?除非您实际上是在迭代维度的成员,否则没有。不清楚您希望查询的结果是什么。我实际希望的是,所有维度成员都用其他语言给出。我想一个接一个地迭代它们,并在我的SSRS报告中给出它们的英文翻译。我尝试的上述查询只是想知道如何动态迭代它们。在这种情况下,您的上一个查询是正确的,但您仍然需要包括
[MARKET BASE].[MARKET BASE].[MARKET BASE].MEMBERS
(或子项
,如果要排除所有
)[Market]
可以作为您的翻译,并且可以使用CURRENTMEMBER
。谢谢。。。。你的建议奏效了