SSRS每日订阅月报

时间:2015-04-20 06:16:15

标签: reporting-services subscription

我有一份SSRS报告,每天都会执行并发送给电子邮件。该报告计算该月的第一个日期到第(d-1)个日期的某些数字(d是执行日期)。因此,此报告中的默认参数值为:

  • Start_date:= DateSerial(Year(Date.Now),Month(Date.Now),1)
  • End_date:= DateAdd(" d", - 1,Today())

问题出在每个新月的第1天,开始日期评估为新月的第1天,结束日期为上个月的最后日期。这使得报告在每个月的第1天都不合情理。 我们该怎么做才能避免这种情况并强制表达式将新月的第一天评估为开始日期和结束日期?

1 个答案:

答案 0 :(得分:0)

对于结束日期,或许检查它是否是该月的第一天,然后默认为当前日期(即第一个),如果是:

=Iif(
    Day(DateTime.Today) = 1,
    DateTime.Today,
    DateAdd("d",-1,DateTime.Today)
    )

但是我假设您使用今天-1作为结束日期是有原因的,所以这可能意味着您的报告在本月的第1天没有显示任何内容......