SSRS 2008参数日期和空值

时间:2016-03-03 18:02:37

标签: reporting-services ssrs-2008

我有一份客户报告,希望在SSRS中运行。我想要返回的报告是针对特定时期的(例如2016年1月1日和2016年2月29日)。该参数针对日期字段(End_Date)。

我想要返回的是客户列表WHERE End_Date是BETWEEN上面的日期(或任何其他期间)和WHERE End_Date也是NULL。

我能够创建一个参数,列出在我想要的日期之间使用End_Date的客户,但是如何让参数也列出NULL值。

希望这很清楚但是以防万一 - 我需要一个客户列表,其中End_Date在两个日期之间或NULL。

谢谢

1 个答案:

答案 0 :(得分:1)

您需要在END_DATE使用OR来计算评估中出现空值的可能性。

您是在查询中还是在数据集中使用参数? SQL与SSRS表达式略有不同。

SQL

WHERE DATE_FIELD >= @START_DATE AND (DATE_FIELD <= @END_DATE OR @END_DATE IS NULL)

SSRS

=IIF(Fields!DATE_FIELD.Value >= Parameters!START_DATE.Value AND (Fields!DATE_FIELD.Value <= Parameters!END_DATE.Value OR ISNOTHING(Parameters!END_DATE.Value), 1, 0)

在其他过滤器属性中,将类型设置为整数,将运算符设置为 = ,将值设置为 1

这将评估表达式,如果匹配则返回1,否则返回0 - 然后它过滤1。