Report Builder 3.0 可选参数

Report Builder 3.0 optional parameter

是否有机会在报表生成器中使用可选参数?

例如: 我有一个包含 3 个参数的查询

@Pa1 date
@Pa2 date
@Pa3 varchar(3)

如果我 运行 查看报告而不通知其中之一然后我收到消息:

Select参数@Pa3的值(例如)

可能吗?

我尝试使用空字段,但没有得到任何数据

select a.legajo,c.nombres,e.Descripcion,CONVERT (char(10), a.fecha, 103) as Fecha,a.hora as ENTRADA,
b.hora as SALIDA,
DATEDIFF(HOUR,a.hora,b.hora) as Horas_trabajadas,
c.hor_x_jor Horas_jornada,
 DATEDIFF(HOUR,a.hora,b.hora) -hor_x_jor as Diferencia
 from fichadas_in a, fichadas_out b, empleados c,sucursales d,Clasificacion e
where a.Legajo=b.Legajo
and a.fecha=b.fecha
and a.fecha between @fecha1 and @fecha2
and d.codigo=@sucursal
and a.legajo=c.legajo
and c.CCO=d.Codigo
and e.Codigo=c.Clasif
Order by a.fecha,legajo 

您的参数允许空值或空白值。

如前所述,您需要 select 允许空白值和允许空值。但您还必须确保 SQL 知道如何处理 WHERE 子句中的这些值。

AND (
       ((@Pa3 IS NOT NULL AND @Pa3 != '') AND d.codigo = @Pa3)
     OR
       ((@Pa3 IS NULL OR @Pa3 = '') AND d.codigo LIKE '%'))
    )

还有其他方法可以做到这一点,但请确保您考虑了那些 values/lack 的值。

对于日期范围,我建议在 运行 SELECT 语句之前声明另一个计算日期值的变量。如果值为空、空或已输入。

变量可能进入@Pa1,然后计算到@fecha1,然后在WHERE子句中你使用@fecha1。