如何在MDX查询中使用参数?

时间:2016-12-07 19:36:56

标签: sql reporting-services ssas mdx

我正在使用名为Region的参数。它有3个值; Region L1Region L2Region L3。 我希望用户选择该区域,并在MDX中触发SSAS查询。 以下是查询:

    select non empty

    {([Region].[Region L3].children , [Product Line].[Product Line L2].children)} on rows,

   {[Measures].[Clients], [Measures].[Commission]} on columns
  from [Products] 

因此,报告最初会要求从下拉列表中选择区域级别。如果用户选择Region L2,则参数将采用Region L2的值,查询将为[区域]。 [区域L2] .children。

我尝试了strtoset()但不确定,我将如何在此处使用它。我不确定我是否可以执行[Region].[@Region].children

之类的操作

1 个答案:

答案 0 :(得分:4)

您的参数应设置为维度中的有效唯一名称。

="[Region].[Region L2].&[MyRegion]"

="[Region].[Region L1].children"

然后在MDX脚本中使用以下参数:

select non empty STRTOSET(@Region,CONSTRAINED) on rows,
{[Measures].[Clients], [Measures].[Commission]} on columns
from [Products]

因此,您必须填充参数,并考虑其参数中的值必须是有效的唯一名称。

如果您在参数中手动指定值,请使用:

enter image description here

使用表达式在Value中生成有效的唯一名称,即:

="[Region].[Region L2].Children"

如果有帮助,请告诉我。