reporting-services - parámetro - parametros en cascada reporting services
Hacer un parámetro de filtro opcional (1)
Estoy usando SSRS 2005. Creé un parámetro de informe llamado icVar. ¿Qué debo hacer para permitir que este filtro sea opcional? Es decir, si el usuario ingresa algo en el cuadro de texto, se mostrará el resultado de acuerdo con lo que se ingrese, pero si no se ingresa nada, solo se tratará de mostrarlo todo. Esta es la consulta en mi conjunto de datos.
SELECT PASS_M, ENTRY_DT, EXIT_DT, WORKED_HRS, ACCESS_LOCATION_X, IC_N, COMPANY_M,
CONSECUTIVE_D
FROM TEMP_TARGET
WHERE (CONSECUTIVE_D >= @consecDays) AND (ENTRY_DT BETWEEN @startDate AND @endDate) AND
(ACCESS_LOCATION_X LIKE @accessVar) AND
(IC_N LIKE @icVAr)
Estoy haciendo uso del comodín% para mi icVar. Entonces, si el usuario ingresa S123 para ese filtro, el informe mostrará el resultado donde los valores de IC_N comienzan con S123 ... Sin embargo, cuando no se ingresa nada para ese filtro, no obligue al usuario a ingresar nada. Mostrará IC_N Like% (significa todo) si no se ingresa nada.
Cualquier ayuda es apreciada. Gracias.
Solo use el cortocircuito de evaluación de expresión: primero pruebe Null y solo si no es Null evalúa la siguiente parte de la expresión, probando LIKE
(vea la condición en la última línea):
SELECT PASS_M, ENTRY_DT, EXIT_DT, WORKED_HRS, ACCESS_LOCATION_X, IC_N, COMPANY_M, CONSECUTIVE_D
FROM TEMP_TARGET
WHERE (CONSECUTIVE_D >= @consecDays)
AND (ENTRY_DT BETWEEN @startDate AND @endDate)
AND (ACCESS_LOCATION_X LIKE @accessVar)
AND ((@icVar IS NULL) OR (IC_N LIKE @icVAr))