【发布时间】:2017-03-30 14:33:35
【问题描述】:
我有这个 T-SQL 存储过程:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE dbo.datealter
@LastChangeDate AS date
AS
BEGIN
SELECT
s.[DivNo]as Division,
SUM(CASE WHEN s.Date = @LastChangeDate
THEN s.SELLINC ELSE 0 END) ActualSales
FROM
[dbo].[NewLayerReports] s
WHERE
s.BRN = 1
GROUP BY
s.[DivNo]
END
GO
当我执行它时它工作正常。
我在 SSRS 报告中使用此存储过程。当我执行 SSRS 报告时,它要求我输入或选择日期。
在这里,我一直想要一个显示去年当前月份的日历。例如,如果我在 2016 年 11 月运行报告,则日历应显示 2015 年 11 月。
请问我们该怎么做?
在 SSRS 参数中,如果我设置默认值,我无法编辑日期值。请看图,
【问题讨论】:
-
那么您希望
Last Change Date参数的默认值是这一天但上一年? -
@iamdave 不,我希望用户选择日期。所以日期会有所不同。
-
日期选择器最初会显示默认值,然后显示用户选择的任何日期。您不能让用户选择一个日期,然后在仍然使用日期选择器的同时显示另一个日期。如果您只想显示相对日期,请参阅下面我编辑的答案。
标签: sql-server tsql datetime stored-procedures reporting-services