reporting-services - 如何根据参数获得过去 6 个月的总和?
问题描述
我目前正在编写一份 ssrs 报告。该报告包含 4 个参数,只有两个与问题相关:否。3和没有。4.参数号的标签。3 是“12 个周期”到“24 个周期”,但值是 12 到 24 个整数。
这是报告的样子: 在此处输入图像描述
例如,如果我为参数号选择值“13 个周期”(或更高)。3、查询根据参数号检索上个月开始的 13 个周期(或更高)的数据。4.所以数据包含在报告中。现在,“Sum Consumtion”列应该只存储最后 12 个周期的总和,而不管参数值如何。3 个不是 13 个周期(或更高)。所以结果是 67 而不是 77。
知道我该怎么做吗?
谢谢你的支持...
解决方案
您可以使用计算字段来执行此操作。
将计算字段添加到数据集。该表达式会将其过滤到过去 12 个月。所以它会是这样的:
=IIf(Fields!DateColumn.Value >= DateAdd(DateInterval.Months, -12, Parameters!EndDate.Value), Fields!ColumnToSum.Value, Nothing)
现在您可以在总计列中引用这个新字段。你会简单
Sum
的。
根据您的日期格式,您可能需要调整日期比较逻辑以满足您的需求。如果您在报告中没有End Date
可用的,请先添加。它可以在查询中或报表中的另一个计算字段中。但这个想法是你得到一个有条件的总和。
推荐阅读
- javascript - 在构造函数中绘制画布时出错
- apache-spark - Spark 'limit' 不并行运行?
- c - 将 printf/printk 消息重定向到文件
- c# - 使用泛型返回“默认”对象的好方法
- activiti - 使用 Json 和 Java 从数组中获取对象
- xamarin - VerticalTextAlignment="End" 没有在底部对齐我的文本
- python - 用 numpy 实现 RNN
- java - 使用 hasNextInt 语句时在 while 循环中排序
- java - Mockito 2.19.0 - 在被测类方法中使用静态方法时返回 Null,不能用 Mockito 测试?
- swift - 在导航控制器中的视图控制器之间传递数据