通过声明年,月和日整数的参数值

时间:2018-07-30 00:53:28

标签: 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中,我需要最终用户能够选择他们输入并返回数据的任何Year,Month和Day值。当我将“声明的”值更改为:

时,该方法不起作用
DECLARE
    @Year int = null,
    @Month int = null,
    @Day int = null;

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

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

Parameter Properties

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

DECLARE
    @Year int = YEAR(@DATE),
    @Month int = MONTH(@DATE),
    @Day int = DAY(@DATE);

SSRS应该自动将查询中的@DATE参数映射到“数据集属性”的“ 参数”标签中的DATE参数。

Dataset Properties Parameter expression

尽管为什么不使用没有转换的日期呢?

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