表达检索最近6个月

时间:2017-11-22 15:49:22

标签: visual-studio reporting-services visual-studio-2013 ssrs-2012

我想使用表达式过滤掉我的一个报表中的过去6个月数据。

例如来自01/05/2017 to 31/10/2017。它必须是一个自动过程,因此下个月会显示01/06/201730/11/2017

以下是我在管理工作室中的工作方式,但我不希望将初始数据集限制在过去6个月。因此需要表达。我将补充说,我的报告中不需要日期参数

WHERE Date_Completed between 
Dateadd(Month, Datediff(Month, 0, DATEADD(m, -6,  current_timestamp)), 0)  
and 
Dateadd(Month, Datediff(Month, 0, DATEADD(m, 0,  current_timestamp)), 0)

1 个答案:

答案 0 :(得分:1)

您可以使用以下表达式生成6个月范围的日期。日期是根据报告运行的日期生成的。

从日期开始: =DateAdd(DateInterval.Month, -6, DateAdd(DateInterval.Day,-Day(Today())+1,Today()))

截止日期: =DateAdd(DateInterval.Day,-Day(Today()),Today())

将它们用作显示数据集的Tablix上的过滤器。要在Tablix中添加过滤器,请转到Tablix属性,然后单击过滤器。使用日期字段和上面的表达式添加两个过滤器。请参阅下面的示例,了解它的外观。

enter image description here