我一直试图让一个参数在一个由SSRS查询设计器自动生成的MDX查询中工作。
我尝试了以下内容:
FROM(SELECT({[Dim Date]。[Fiscal Year]。& [+“@ Current_FYear”+]})ON COLUMNS
FROM(SELECT({[Dim Date]。[Fiscal Year]。[+“@ Current_FYear”+})ON COLUMNS
FROM(SELECT({StrToMember(@ Current_FYear,CONSTRAINED).lag(23):StrToMember(@ Current_FYear,CONSTRAINED)})ON COLUMNS
FROM(SELECT({[Dim Date]。[Fiscal Year]。[+“Parameters!Current_FYear.Value”+]})ON COLUMNS
以上都没有给我我想要的结果:让数据集过滤参数中的值。
对此有任何帮助,非常感谢!
谢谢,
答案 0 :(得分:1)
首先,我建议使用查询设计器中的参数复选框,让SSRS为您构建MDX。这是一个屏幕截图,以防你错过它。
让报告为您创建参数的另一个原因是它会自动创建另一个隐藏的数据集来填充参数的可用值。
如果您确实想手动编辑MDX,语法可能如下所示:
SELECT NON EMPTY { [Measures].[Measure] } ON COLUMNS FROM (
SELECT ( STRTOSET(@Parameter, CONSTRAINED) ) ON COLUMNS FROM [Model])
STRTOSET
函数将参数值转换为MDX语法。它还可以处理多值参数。
此处引用的参数也需要在“数据集属性”的“参数”选项卡中定义。您可以在此处将报表中的参数值链接到查询。