违反了strtoset函数中Constrained标志所施加的限制 - 在mdx中插入sql字符串

时间:2017-07-14 16:46:05

标签: sql date parameters ssas mdx

对于我的生活,我无法弄清楚为什么SSAS中的MDX不接受我的日期参数。我有一个运行MDX的数据集,它有一个月份参数,需要一个月和一年(参见截图)。我有一个sql语句,输出多个月/年,所以用户可以选择一个月/年但是当你去运行报告并选择它给strtoset函数违反错误的月份。我不确定我在这里失踪了什么。 MDX statement taking in the sql supplied variable

sql输出(进入参数看起来像这样(下面)......

2017年4月 2017年5月 2017年6月 2017年7月 .... 它完全匹配mdx日期值的格式

2 个答案:

答案 0 :(得分:0)

参数是多选吗?您似乎有多个月要附加到一个日期成员中。

我猜想Time.calendar几个月。2017年4月会独立工作吗?不确定您的MDX有多好,但受限制的错误是说您的维度成员无效。

如果是多选,你需要像

这样的东西

StrToSet ( Time.calendar months.april 2017, Time.calendar months.may 2017, ..... )

答案 1 :(得分:0)

我会尝试查看SSRs JOIN功能。这将多值Param值与分隔符组合在一起。

假设您的Param值与Time.calendar months.blah类似,那么您可以使用类似

的内容

StrToSet(join(param.value,“,”))

可能不是确切的语法,但值得玩。