【问题标题】:SSRS Expression to Sum value IIF YearMonth = ParameterSSRS 表达式求和值 IIF YearMonth = 参数
【发布时间】:2023-03-24 15:32:01
【问题描述】:

我希望有人能够提供帮助\帮助。

我有一个 Tablix,我试图根据一个参数从一个字段中填充三个单独的(总和)值(当前月份、当前年份和上一年)。我的参数设置为yyyymm。对于每个求和值,我的表达式逻辑如下:

总结当前月份值

=SUM(Fields!Quantity.Value),IIF(Parameters!YearMonth.Value) = CDATE(Now()), "yyyyMM")

求和当前年份值

=SUM(Fields!Quantity.Value),IIF(Parameters!YearMonth.Value) = CDATE(Now()), "yyyy")

总结上一年的值

=SUM(Fields!Quantity.Value),IIF(Parameters!YearMonth.Value) = CDATE(Now()), "yyyy")-1

尝试上述表达式时出现以下错误:

textrun Quantity5.Paragraphs[0].TextRuns[0] 的值表达式包含错误:[BC30205] End of statement expected

【问题讨论】:

  • 不应该先出现IFF部分吗? =iif(somecondition, truepart,falsepart)

标签: reporting-services ssrs-tablix ssrs-expression


【解决方案1】:

正如 Harry 指出的那样,IIF 语句的语法是

IIF([Expression to evalute], [Expression to return if true], [Expression to return if false])

另外,我认为您需要格式化从now() 返回的日期,使其与您的参数格式相匹配。

所以,你的第一个表达应该是这样的

=SUM(
    IIF(Parameters!YearMonth.Value = FORMAT(Now(), "yyyyMM"), Fields!Quantity.Value, Nothing)
    )

因此,从内部表达式开始,我们将参数与格式为yyyyMM 的今天日期进行比较。如果匹配则返回Quantity 字段的值,如果不匹配则不返回任何内容。 然后,外部 SUM 将所有这些结果相加。

【讨论】:

  • 完美运行。谢谢哈利和艾伦。我对 SSRS 有点陌生,过去曾使用过表达式,但在过去 2 周里,试图获得上述权利一直是一个挑战。感谢您的帮助和指导。
猜你喜欢
  • 2019-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多