我有一份客户报告,希望在SSRS中运行。我想要返回的报告是针对特定时期的(例如2016年1月1日和2016年2月29日)。该参数针对日期字段(End_Date)。
我想要返回的是客户列表WHERE End_Date是BETWEEN上面的日期(或任何其他期间)和WHERE End_Date也是NULL。
我能够创建一个参数,列出在我想要的日期之间使用End_Date的客户,但是如何让参数也列出NULL值。
希望这很清楚但是以防万一 - 我需要一个客户列表,其中End_Date在两个日期之间或NULL。
谢谢
答案 0 :(得分:1)
您需要在END_DATE使用OR来计算评估中出现空值的可能性。
您是在查询中还是在数据集中使用参数? SQL与SSRS表达式略有不同。
WHERE DATE_FIELD >= @START_DATE AND (DATE_FIELD <= @END_DATE OR @END_DATE IS NULL)
=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。