【问题标题】:SQL Server Reporting Services Date/Sum weirdnessSQL Server Reporting Services 日期/总和异常
【发布时间】:2015-07-31 16:39:32
【问题描述】:

在我正在构建的报告中,我有 2 列彼此相邻。它们包含相同的结构,只有一点不同。一列比另一列更远一些。我已经确认可以找到数据。下面的行组返回使用相同结构的行。 A 列返回正确的数据。 B 列没有。

A 列表达式

=IIF(Format(Fields!IncomingInvoiceDate.Value, "yyyy-MM-dd") > DateAdd("d", -31, Now()), Sum(Fields!Value.Value), 0)

B 列表达式

=IIF(Format(Fields!IncomingInvoiceDate.Value, "yyyy-MM-dd") >= DateAdd("d", -61, Now()), Sum(Fields!Value.Value), 0)

我已经尝试了我能找到的每一个变体,但没有返回正确的数据。我在 SQL Server 2012 上。感谢您的帮助。

【问题讨论】:

  • 我的建议是改变数据集。在 SQL 中使用 case 语句。我是否正确您正在尝试执行 sumif ?
  • 如果您向我们提供数据集中返回的数据示例,以及您的 B 列表达式当前返回的内容,以及您希望它返回的内容,那么也许有人可以帮助您。
  • 抱歉,出于保密原因,我无法发布数据返回,但我可以说 A 列返回 30 天内创建的记录的总和值。 B 列应返回 61 天内创建的记录的总和值,但返回 0。
  • 我正在尝试做一个 sumif,并尝试了一个新的数据集,但无济于事。

标签: reporting-services sql-server-2012 ssrs-2012


【解决方案1】:

将您的 IF 放在 SUM 中,而不是相反。

这样的事情应该可以工作。您需要同时更改 30 天和 60 天表达式以适应此模式。

总和( IIF(Format(Fields!IncomingInvoiceDate.Value, "yyyy-MM-dd") >= DateAdd("d", -61,Now()), Fields!Value.Value, 0)

【讨论】:

    【解决方案2】:

    结果没有任何效果,我完全重新设计了查询。谢谢大家。

    【讨论】:

      猜你喜欢
      • 2019-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-12
      • 1970-01-01
      • 2015-02-25
      • 1970-01-01
      • 2012-03-07
      相关资源
      最近更新 更多