2016-06-10 81 views
0

我目前有一组下拉参数可将日期传递给查询。有一个显示值可供每个工作周选择。SSRS可选下拉式参数传递日期

创建日期参数2016 01(2016年1月3日),P01-16 Q1-16

值传递给SQL是WEEK_BEGIN_DATE:

在下拉显示: 2016年1月3日

新船日期参数:

显示在下拉:2016 01(2016年12月27日)P12-15 Q4-15

值被传递到SQL是SHIP_WEEK_BEGIN_DATE:2016年12月27日

我希望能够使这两个可选。

我试着在参数值SQL中得到下面的参数来允许空值,但是我得到了一个数据类型错误。我确实开始沿着varchar()路线向下投下阵容,但是它很快变得混乱。

SELECT 'NULL' AS WEEK_BEGIN_DATE 
UNION 
SELECT d.WEEK_BEGIN_DATE FROM DATE d 

任何建议,非常感谢。让我知道如果我可以提供任何其他有用的信息。

回答

0

这应该工作,你不需要单引号

SELECT NULL AS WEEK_BEGIN_DATE 
UNION 
SELECT d.WEEK_BEGIN_DATE FROM DATE d 

使参数可选您在where子句中写类似

where (WEEK_BEGIN_DATE = @date or @date is null) 
+0

卸下单引号是我的问题的答案。这种简单的修复,我只是忽略了。谢谢! – ISW

0

可以,如果您的日期参数是一个VARCHAR()你需要做Kostya所说的。但由于它不是,你可以点击“允许空值”下的报表参数属性(右击你的参数,并选择属性)

enter image description here

+0

感谢您的建议。虽然,除非您从参数源值传递空值,否则“允许空值”选项不起作用。 – ISW

+0

暗示 – scsimon