SSRS:如何获取实际月份数据

时间:2017-03-07 09:11:59

标签: reporting-services

我在SSRS中创建了一份报告。此报告显示一个月的数据。 现在我在查询中每个月更改手册实际日期。 我的问题:

Select intervaldate as Datum, 
    intervaldateMonth as Monat,
    Sum(case when NameDefinition = 'Production' then calculationUnits else 0 end) as Prod

    from CountDefinition
    where IntervalDate BETWEEN '2017-02-01 00:00:00.000' AND '2017-02-28 00:00:00.000'

    group by intervaldate, intervaldatemonth

我希望日期能够自动更改。

月份数据:

March: Between '2017-02-27 00:00:00.000' AND '2017-04-02 00:00:00.000'
April: Between '2017-04-03 00:00:00.000' AND '2017-04-30 00:00:00.000'
May  : Between '2017-05-01 00:00:00.000' AND '2017-05-28 00:00:00.000'
....

但我想显示实际日期,而不显示之前的日期数据。

2 个答案:

答案 0 :(得分:1)

尝试使用当前月份查询,无需任何选择或进行任何更改即可运行::

其中IntervalDate BETWEEN dateadd(dd,-day(dateadd(mm,1,getdate())),dateadd(mm,0,getdate()))+ 1和 DATEADD(DD,·天(DATEADD(毫米,1,GETDATE())),DATEADD(毫米,1,GETDATE()))

TKS, SK

答案 1 :(得分:0)

为此,请使用查询中的参数:

Select intervaldate as Datum, 
    intervaldateMonth as Monat,
    Sum(case when NameDefinition = 'Production' then calculationUnits else 0   
    end) as Prod
from CountDefinition
where IntervalDate >= @StartDate 
      AND IntervalDate < @EndDate
group by intervaldate, intervaldatemonth

然后在新查询中定义您的期间,您将根据当前月份定义需要的期间。

之后,您必须将@DefaulStartDate定义为内部文本参数,该参数将获取上一个查询的可用值和默认值,然后使用DefaultValue = CDate(Parameters!DefaulStartDate.Value)将@StartDate定义为日期参数。 / p>

@EndDate相同。