代码之家  ›  专栏  ›  技术社区  ›  GonnerDev

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

  •  1
  • GonnerDev  · 技术社区  · 7 年前

    一段时间以来,我一直在尝试在由SSRS查询设计器自动生成的MDX查询中使用参数。

    我尝试了以下几点:

    1. 从(列上选择({[Dim Date][财政年度]。&[+“@Current\u FYear”+]))

    2. 从(在列上选择({[Dim Date].[财政年度].+“@Current\u FYear”+})

    3. 从列上的(SELECT({StrToMember(@Current\u FYear,constrated)。lag(23):StrToMember(@Current\u FYear,constrated)})

    4. 从(列上选择({[Dim Date].[Fiscal Year].[+”参数!Current\u FYear.Value“+])

    以上都没有给出我想要的结果:让数据集按参数中的值过滤。

    在此方面的任何帮助都将不胜感激!

    谢谢

    1 回复  |  直到 7 年前
        1
  •  2
  •   StevenWhite    7 年前

    首先,我建议在查询设计器中使用参数复选框,让SSRS为您构建MDX。这是一个截图,以防你错过。

    enter image description here

    让报表为您创建参数的另一个原因是,它将自动创建另一个隐藏数据集来填充参数的可用值。

    如果确实要手动编辑MDX,语法可能如下所示:

    SELECT NON EMPTY { [Measures].[Measure] } ON COLUMNS FROM ( 
    SELECT ( STRTOSET(@Parameter, CONSTRAINED) ) ON COLUMNS FROM [Model]) 
    

    这个 STRTOSET 函数将参数值转换为MDX语法。它还可以处理多值参数。

    此处引用的参数也需要在数据集属性的参数选项卡中定义。这是将参数值从报表链接到查询的位置。