我目前有一个如下所示的查询:
SELECT
NON EMPTY ([Measures].[TOTAL]) ON 0,
NON EMPTY (([ENROLL DATE].[CALENDAR].[YEAR].["
+ Parameters!EnrollDate.Value +
"] * [DIM ENROLLMENT].[ENROLLMENT].[ENROLLMENT PROG].ALLMEMBERS)) ON 1
FROM (SELECT (([DIM ENROLLMENT].[ENROLLMENT].[TERMINATION REASON].[Still Enrolled])) ON 0 FROM [NapaCHI]);
粗体部分来自参数部分,我在其中使用Label = 2006 and Value = 2006
手动指定参数。我已经尝试了几乎所有可接受的语法并阅读了关于此的每篇文章,无论我是自己定义值还是使用单独的MDX语句为聚合选择不同的非空年份和(NULL),它似乎无法使其工作。
请帮忙,这让我疯了! 感谢。
答案 0 :(得分:0)
你的表达看起来不完整,你需要用和=符号启动它并引用它。类似于以下内容
="SELECT
NON EMPTY ([Measures].[TOTAL]) ON 0,
NON EMPTY (([ENROLL DATE].[CALENDAR].[YEAR].[" + Parameters!EnrollDate.Value + "] * [DIM ENROLLMENT].[ENROLLMENT].[ENROLLMENT PROG].ALLMEMBERS)) ON 1
FROM (SELECT (([DIM ENROLLMENT].[ENROLLMENT].[TERMINATION REASON].[Still Enrolled])) ON 0 FROM [NapaCHI]);"
您可能还遇到数据类型问题,您可能希望使用参数的.Label属性或显式将值转换为字符串。如果这些都不起作用,那么知道你得到的错误会有所帮助。
答案 1 :(得分:0)
我认为这个MDX要求:
NON EMPTY (([ENROLL DATE].[CALENDAR].[YEAR].[Calendar " + Parameters!EnrollDate.Value + "]
或者您可以使用实际的MDX语言:
[ENROLL DATE].[CALENDAR].[YEAR].&[" + Parameters!EnrollDate.Value + "-01-01T00:00:00]
其中任何一个都应该有用。