【问题标题】:Using MDX Parameters in Report Builder 2.0在 Report Builder 2.0 中使用 MDX 参数
【发布时间】:2009-04-17 20:16:55
【问题描述】:

我目前有一个如下所示的查询:

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]);

bold 部分来自参数部分,在该部分中我使用Label = 2006 and Value = 2006 手动指定了参数。我已经尝试了几乎所有可接受的语法并阅读了有关此内容的每篇文章,无论我自己定义值还是使用单独的 MDX 语句选择不同的非空年份和 (NULL) 作为聚合,我似乎都无法让它工作。

请帮忙,这让我发疯了! 谢谢。

【问题讨论】:

    标签: sql-server-2008 parameters mdx reportbuilder


    【解决方案1】:

    您的表达式看起来不完整,您需要以 and = 符号开头并正确引用它。类似于以下内容

    ="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 属性或将值显式转换为字符串。如果这些都不起作用,那么了解您遇到了什么错误会很有帮助。

    【讨论】:

    • 我实际上没有收到任何错误,查询只是没有返回任何内容。我认为您可能在数据类型方面走在正确的轨道上,但我不确定它会在那里期待什么。
    • 那可能是数据类型。如果您的参数传入完整日期,则它可以扩展为 [Enroll Date].[Calendar].[Year].[01-01-2009] 而不是 [Enroll Date].[Calendar].[Year] .[2009]这将导致一个空的行轴。
    【解决方案2】:

    我认为这个 MDX 需要:

    NON EMPTY (([ENROLL DATE].[CALENDAR].[YEAR].[Calendar " + Parameters!EnrollDate.Value + "]
    

    或者您可以像这样使用实际的 MDX 语言:

    [ENROLL DATE].[CALENDAR].[YEAR].&[" + Parameters!EnrollDate.Value + "-01-01T00:00:00]
    

    其中任何一个都应该工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多