【问题标题】:SSRS- Issue with iif containing monthname functionSSRS - 包含月份名称函数的 iif 问题
【发布时间】:2015-03-20 02:25:52
【问题描述】:

我有一个数据集,我试图将 >12 个月前的所有内容强制归为一个组。我正在尝试使用 SQL 案例来执行此操作,该案例将所有月份和年份 > 12 个月前的 int 值分配为 0,但是当我尝试将其放入 SSRS 时它不起作用。

我一直在尝试使用此公式,但除非我删除“MonthName”函数,否则它不起作用。 =iif(Fields!ASGN_SUB_DUE_MONTH.Value > 0,monthname(Fields!ASGN_SUB_DUE_MONTH.Value) & " " & Fields!ASGN_SUB_DUE_YEAR.Value
"超过 12 个月前")

但是这个公式有效 =iif(字段!ASGN_SUB_DUE_MONTH.Value > 0, 月份名称(iif(字段!ASGN_SUB_DUE_MONTH.Value > 0 和字段!ASGN_SUB_DUE_MONTH.Value "超过 12 个月前")

有谁知道为什么以及如何解决。第二个功能有效,但我不愿意将它留在报告中,以防嵌入 iif 功能的第二部分。

提前致谢

【问题讨论】:

  • 您在使数据集正常工作时遇到问题吗?如果您发布您尝试过的内容,我可以为您提供有关该 TSQL CASE 语句的一些指示。
  • 那个桑尼,问题不在于 CASE 的编写方式,而在于输出。 int 值不是 1-12 会导致问题。
  • 您说您尝试使用 SQL CASE 语句来执行此操作。为什么不将此 case 语句重新添加到数据集中的 SQL 查询中?在许多情况下,操作数据集中的数据更容易。幸运的是,您可以根据需要拥有尽可能多的数据集来编写报告。

标签: reporting-services


【解决方案1】:

这个问题与我的案例陈述以及 SSRS 中 iif 的处理方式有关,来自我的后续研究。 真正的语句需要嵌入的 iif,因为它评估所有条目与表达式的所有部分,所以即使我有 -1 或 0 的“月份”值不会用 MONTHNAME() 命中 iif 部分,它仍然在评估它和导致错误。

【讨论】:

    猜你喜欢
    • 2013-06-28
    • 1970-01-01
    • 1970-01-01
    • 2010-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多