Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql SSRS单报表参数,用于设置数据集查询参数_Sql_Reporting Services_Parameters - Fatal编程技术网

Sql SSRS单报表参数,用于设置数据集查询参数

Sql SSRS单报表参数,用于设置数据集查询参数,sql,reporting-services,parameters,Sql,Reporting Services,Parameters,我有点像SSRS的noob,希望能在报告参数方面得到一些帮助 我有一个类似于以下内容的SQL查询: SELECT [abc],[xyz],[etc] FROM [database].[dbo].[db_view] WHERE [Date] BETWEEN @StartDate AND @EndDate 通常这将导致创建两个报告参数,[开始日期]和[结束日期]。但是,对于用户来说,在以前的期间多次运行报告时,默认的日期选择器场景会变得单调乏味,并且通常会选择不正确的开始和结束日期 首选方法是向用

我有点像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'


我不确定如何设置上述参数;任何指导都将不胜感激。

在SSRS中,添加2个隐藏参数,开始和结束日期。将这些参数的默认值设置为表达式。使用可见年/月参数中的值构建日期字符串,并使用CDATE()将其转换为日期类型。在SQL查询中使用这两个隐藏参数

对于年/月参数,只需添加这些参数,导航到其“可用值”属性选项卡,然后在月和年的集合中硬编码,或者连接数据集以提供参数的可用值。

不带参数表达式(需要SQL Server 2012数据源)
  • 在SSRS中,确保创建了单独的参数:
    @Year
    @Month
    @StartDate
    @EndDate
  • 用于在数据集中生成开始日期和结束日期

    SELECT [abc],[xyz],[etc]
    FROM [database].[dbo].[db_view]
    WHERE [Date] BETWEEN DATEFROMPARTS(@Year, @Month, @StartDate)
                 AND DATEFROMPARTS(@Year, @Month, @EndDate)

  • 什么版本的SQL Server?使用SQL Server 2012银行作为反馈,我完成了以下操作:删除StartDate和EndDate参数,添加带有默认值的年份和月份参数,并设置可用值,使用DateSerial函数将数据集上的StartDate和EndDate参数配置为引用年份和月份。测试并按要求工作:-)