我有点SSRS noob,并希望获得一些报告参数方面的帮助。
我有一个类似于以下内容的SQL查询:
SELECT [abc],[xyz],[etc]
FROM [database].[dbo].[db_view]
WHERE [Date] BETWEEN @StartDate AND @EndDate
通常这会导致创建两个报告参数,[开始日期]和[结束日期]。但是,对于之前期间多次运行报表的用户来说,默认的日期选择器方案会变得乏味,并且通常会选择不正确的开始和结束日期。
首选方法是为用户提供[Year]和[Month]等参数,并将这些参数默认为当前值,例如:Year:[2014] Month:[March],并使用这些选项设置SQL查询相应的参数,即后者的选择将用于设置@StartDate =' 2014/03/01'和@EndDate =' 2014/03/31'
我不确定如何设置参数如上所述;任何指导将不胜感激。
答案 0 :(得分:1)
在SSRS中,添加2个隐藏参数,开始和结束日期。将这些的默认值设置为表达式。使用可见年/月参数中的值构建日期字符串,并使用CDATE()将它们转换为日期类型。在SQL查询中使用这两个隐藏参数。
对于年/月参数,只需添加这些参数,导航到他们的"可用值"属性选项卡,以及您收集的月份中的硬编码和年,或连接数据集以提供参数的可用值。
答案 1 :(得分:0)
@Year
,@Month
,@StartDate
,@EndDate
使用DATEFROMPARTS在数据集中构建开始日期和结束日期
SELECT [abc],[xyz],[etc]
FROM [database].[dbo].[db_view]
WHERE [Date] BETWEEN DATEFROMPARTS(@Year, @Month, @StartDate)
AND DATEFROMPARTS(@Year, @Month, @EndDate)