首页 > 解决方案 > 如何根据参数获得过去 6 个月的总和?

问题描述

我目前正在编写一份 ssrs 报告。该报告包含 4 个参数,只有两个与问题相关:否。3和没有。4.参数号的标签。3 是“12 个周期”到“24 个周期”,但值是 12 到 24 个整数。

这是报告的样子: 在此处输入图像描述

例如,如果我为参数号选择值“13 个周期”(或更高)。3、查询根据参数号检索上个月开始的 13 个周期(或更高)的数据。4.所以数据包含在报告中。现在,“Sum Consumtion”列应该只存储最后 12 个周期的总和,而不管参数值如何。3 个不是 13 个周期(或更高)。所以结果是 67 而不是 77。

知道我该怎么做吗?

谢谢你的支持...

标签: reporting-services

解决方案


您可以使用计算字段来执行此操作。

  1. 将计算字段添加到数据集。该表达式会将其过滤到过去 12 个月。所以它会是这样的:

    =IIf(Fields!DateColumn.Value >= DateAdd(DateInterval.Months, -12, Parameters!EndDate.Value), Fields!ColumnToSum.Value, Nothing)
    
  2. 现在您可以在总计列中引用这个新字段。你会简单Sum的。

根据您的日期格式,您可能需要调整日期比较逻辑以满足您的需求。如果您在报告中没有End Date可用的,请先添加。它可以在查询中或报表中的另一个计算字段中。但这个想法是你得到一个有条件的总和。


推荐阅读