Parameters 从Declare Year、Month和Day Integer传递参数值

Parameters 从Declare Year、Month和Day Integer传递参数值,parameters,integer,declare,Parameters,Integer,Declare,我需要设置一个SSRS报告,其中包含年、月和日的参数 以下代码在SMS中工作(与我的所有其他代码一起),并为这些声明的值提取数据 Declare @Year int = 2017, @Month int = 05, @Day int = 05; Where YEAR([Time Stamp]) = @Year and MONTH([Time Stamp]) = @Month and Day([Time Stamp]) = @Day 但是,在

我需要设置一个SSRS报告,其中包含年、月和日的参数

以下代码在SMS中工作(与我的所有其他代码一起),并为这些声明的值提取数据

Declare
    @Year int = 2017,
    @Month int = 05,
    @Day int = 05;


 Where
    YEAR([Time Stamp]) = @Year
    and MONTH([Time Stamp]) = @Month
    and Day([Time Stamp]) = @Day
但是,在SSRS中,我需要最终用户能够选择他们输入并返回数据的任何年、月和日值。当我将声明的值更改为:

DECLARE
    @Year int = null,
    @Month int = null,
    @Day int = null;
感谢您的帮助。

将参数(命名为DATE)设置为没有可用值或默认值的日期

在数据集查询中,将声明更改为

DECLARE
    @Year int = YEAR(@DATE),
    @Month int = MONTH(@DATE),
    @Day int = DAY(@DATE);
SSRS应自动将查询中的@DATE参数映射到数据集属性的“参数”选项卡中的日期参数

但是为什么不直接使用日期而不进行转换呢

Where CAST([Time Stamp] AS DATE) = @DATE

汉诺威·菲斯特,请看我的屏幕截图。你可能不得不点击它们,因为我没有足够的分数。谢谢