我在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'
....
但我想显示仅实际日期,而不显示之前的日期数据。
答案 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相同。