2016-03-07 97 views
0

今天早上大部分时间我都被困在这个问题上......我试图通过关于我的“截至日期”的SSRS报告来解决显示问题。这份报告背后的数据是每晚加载的,这意味着数据只与昨天的实际日期一样好。我的问题是我的报告目前默认参数为[email protected] = Today()。 但是,为了准确反映这一点,每当用户想要更改此报告的日期时,我需要“截至日期”以始终反映昨天。因此,如果我们今天在3/7/16上运行此报告,报告背后的数据是从2016年3月6日起的,因此报告应该显示“截至”2016年3月6日,如果他们选择了2/29,在查看报告中,它应该显示为2/28/16等。“截至日期”报告逻辑

我在报告中的SQL语句使用了一个名为CurrentDate的报告表中的一列,它只保存夜间加载日期。它指出...

WHERE @AsofDate = CurrentDate 

没有人有任何想法我怎么能准确脚本这使用户可以随时知道数据是前一天晚上?

谢谢!

+1

您应该存储上次更新表格的实际日期,以便您可以报告该日期而不是昨天 – Lamak

+0

您可以在SSRS表达式中使用DATEADD函数。 –

+0

@拉马克这是最有意义的事情。我无法按照建议使用Today -1,因为如果用户选择3/5/16,As Of Date应显示3/4。我的问题是,如果我的AsOfDate反映了我的表中的CurrentDate列,是否有更具体的我可以写入,无论用户选择了什么,我的标题中的AsOfDate都始终显示-1? – Geo

回答

2

试试你AdOfDate设置为昨天的默认值(计算值):

@AsOfDate = DateAdd(DateInterval.Day, -1, Today()) 

否则,你可以设置你的SQL查询做同样的

WHERE AsOfDate = DateAdd(d, -1, GetDate()) 
+0

最上面的一块是我在找的,谢谢! – Geo