Variables MDX将变量作为字符串传递给项()

Variables MDX将变量作为字符串传递给项(),variables,mdx,mondrian,Variables,Mdx,Mondrian,我的MDX查询如下: with set SelectedEntity as '{Union({[Category].[Tertiary Category].Members}, {[Category].[Secondary Category].Members}).Item("Emails")}' select Crossjoin({[Measures].[Reach]}, {[Age Group].[15-17], [Age Group].[18-24], [Age Group].[25-30],

我的MDX查询如下:

with set SelectedEntity as '{Union({[Category].[Tertiary Category].Members}, {[Category].[Secondary Category].Members}).Item("Emails")}'
select Crossjoin({[Measures].[Reach]}, {[Age Group].[15-17], [Age Group].[18-24], [Age Group].[25-30], [Age Group].[31-35], [Age Group].[36-40], [Age Group].[40+]}) ON ROWS,
{[SelectedEntity]} ON COLUMNS
from [AppUsage]
where {[Country].[India]}*{[Date].[2011].[April]}*{[Panel].[Syndicate]}
这里代替
Item(“Emails”)
我想传递一个变量,类似于
Item(${category})
。因此,我的查询应该是这样的:

with set SelectedEntity as '{Union({[Category].[Tertiary Category].Members}, {[Category].[Secondary Category].Members}).Item(${category})}'
    select Crossjoin({[Measures].[Reach]}, {[Age Group].[15-17], [Age Group].[18-24], [Age Group].[25-30], [Age Group].[31-35], [Age Group].[36-40], [Age Group].[40+]}) ON ROWS,
    {[SelectedEntity]} ON COLUMNS
    from [AppUsage]
    where {[Country].[India]}*{[Date].[2011].[April]}*{[Panel].[Syndicate]}
但是尝试将这个
类别
变量传递给这个查询,它会给我错误,因为解析查询失败

我不明白我哪里出了问题?这是在Item()中传递变量的正确方法,因为它需要字符串

注意:
${category}
在自动完成字段中选择一个实体后得到的变量值,我希望将该实体传递给上述查询

编辑:

当我在查询中传递category变量的值'Emails'时,即在上面的
Item(${category})
中,在日志中,相同的查询变成
Item(Emails)
。但与此相反,它应该是这样的:
Item(“电子邮件”)


我需要知道如何在mondrian MDX查询中将此变量作为字符串传递。

我得到了解决方案

变量需要作为
项(“${category}”)
传递。因此,我的问题将变成:

with set SelectedEntity as '{Union({[Category].[Tertiary Category].Members}, {[Category].[Secondary Category].Members}).Item("${category}")}'
    select Crossjoin({[Measures].[Reach]}, {[Age Group].[15-17], [Age Group].[18-24], [Age Group].[25-30], [Age Group].[31-35], [Age Group].[36-40], [Age Group].[40+]}) ON ROWS,
    {[SelectedEntity]} ON COLUMNS
    from [AppUsage]
    where {[Country].[India]}*{[Date].[2011].[April]}*{[Panel].[Syndicate]}

其中,
${category}
是我的变量。

您使用的是哪种报告工具?MDX参数的语法是@categoryI am,在PentahoI中使用Mondrian for MDX按照您的建议执行,但未能成功。我也犯了同样的错误。我还在日志中发现:“父异常:Mondrian错误:无法解析查询”。它指定它仍然无法解析它。