Share via


Lección 2: Agregar parámetros para filtrar por fecha

Nuevo: 17 de julio de 2006

Al incluir parámetros para una fecha de inicio y de finalización en una consulta del informe, se puede especificar un intervalo de fechas para limitar los datos recuperados del origen de datos. Se pueden crear parámetros adicionales para filtrar los datos recuperados del origen de datos.

En esta lección, agregará los parámetros de consulta @StartDate y @EndDate. Observe que los parámetros de informe que distinguen mayúsculas de minúsculas StartDate y EndDate (sin el indicador de parámetro de consulta @) se crean automáticamente. Tenga en cuenta que los diferentes proveedores de datos utilizan diferentes indicadores de parámetros de consulta; por ejemplo, el proveedor de datos de Oracle utiliza dos puntos (:) en lugar del símbolo de arroba (@).

Establecerá el tipo de datos de los parámetros en DateTime y verá que aparece un control de calendario con el cuadro de texto del parámetro en la barra de herramientas. Establecerá valores predeterminados para los parámetros de manera que el informe se ejecute automáticamente. Finalmente, creará un parámetro de informe DayofWeek que no está enlazado a un parámetro de consulta y lo utilizará para filtrar los datos recuperados desde el origen de datos.

Para agregar parámetros de fecha a la consulta

  1. En la vista Datos, seleccione el conjunto de datos AdventureWorks.

  2. Reemplace la consulta existente por la siguiente consulta:

    SELECT S.OrderDate, S.SalesOrderNumber, S.TotalDue, C.FirstName, 
        C.LastName
    FROM  HumanResources.Employee E INNER JOIN
          Person.Contact C ON E.ContactID = C.ContactID INNER JOIN
          Sales.SalesOrderHeader S ON E.EmployeeID = S.SalesPersonID
    WHERE (S.OrderDate BETWEEN (@StartDate) AND (@EndDate))
    -- Accurate Enddate would be '20020228 23:59:59.997'
    

    [!NOTA] SQL Server almacena datos DATETIME con una precisión de tres centésimas de segundo. Para obtener más información, vea Date y Time (Transact-SQL). Si no recibe los resultados filtrados esperados utilizando una variable DateTime, es posible que necesite utilizar una cantidad de tiempo más precisa en el parámetro de consulta.

    En este tutorial, utilizará valores datetime aproximados.

  3. Haga clic en Ejecutar (!) en la barra de herramientas. Se abrirá el cuadro de diálogo Definir los parámetros de la consulta.

  4. En la columna Valor de parámetro, escriba un valor para @StartDate. Por ejemplo, 20010101.

  5. En la columna Valor de parámetro, escriba un valor para @EndDate. Por ejemplo, 20030101.

  6. Haga clic en Aceptar. Los parámetros de informe StartDate y EndDate se crean automáticamente y se predeterminan en el tipo de datos String. En los tres pasos siguientes, establecerá estos parámetros en el tipo de datos DateTime.

  7. En el menú Informe, haga clic en Parámetros del informe. Se abrirá el cuadro de diálogo Parámetros del informe.

  8. En el cuadro de lista Parámetros, compruebe que StartDate aparezca resaltado. En la lista desplegable Tipo de datos, seleccione DateTime.

  9. En el cuadro de lista Parámetros, seleccione EndDate. En la lista desplegable Tipo de datos, seleccione DateTime.

  10. Haga clic en Aceptar.

  11. Haga clic en Vista previa. Los parámetros StartDate y EndDate aparecen en la barra de herramientas con un control de calendario. Los controles de calendario aparecen automáticamente cuando el parámetro es del tipo de datos DateTime y no se ha definido una lista de valores disponibles. Al definir una lista de valores disponibles, se crea una lista desplegable de valores en lugar de un control de calendario.

    En este tutorial, escribirá un valor para los datos en lugar de utilizar un control de calendario.

  12. En el cuadro de texto del parámetro StartDate, escriba la fecha 2001-01-01.

  13. En el cuadro de texto del parámetro EndDate, escriba la fecha 2003-01-01.

  14. Haga clic en Ver informe. El informe muestra sólo los registros de datos comprendidos entre los valores de parámetros del informe.

Una vez que ha creado parámetros de consulta para el informe, puede agregar valores predeterminados para esos parámetros. Los parámetros predeterminados permiten que el informe se ejecute automáticamente; en caso contrario, el usuario debe escribir valores de parámetro para la ejecución del informe.

Para establecer los valores predeterminados para parámetros de fecha

  1. En el menú Informe de la vista Diseño, haga clic en Parámetros del informe. Se abrirá el cuadro de diálogo Parámetros del informe.

  2. En el cuadro de lista Parámetros, compruebe que StartDate aparezca resaltado.

  3. En la sección de valores predeterminados, seleccione No consultado y escriba 2001-01-01. Presione la tecla de tabulación para salir del cuadro de texto.

  4. En el cuadro de lista Parámetros, seleccione EndDate.

  5. En la sección de valores predeterminados, seleccione No consultado y escriba 2003-01-01. Presione la tecla de tabulación para salir del cuadro de texto.

  6. Haga clic en Aceptar.

  7. Haga clic en Vista previa. El informe se ejecuta inmediatamente dado que hay valores predeterminados definidos para todos los parámetros.

    Cuando los usuarios del informe ejecutan el informe, pueden establecer los valores predeterminados con valores de parámetro comprendidos dentro del alcance de los parámetros de la consulta. Por ejemplo, puede proporcionar valores de parámetro del informe que limitan los datos representados a un mes.

Para agregar un nuevo campo a la consulta que se utiliza para filtrar

  1. En la vista Datos, seleccione el conjunto de datos AdventureWorks.

  2. En la consulta, defina una columna calculada adicional para el día de la semana que ocurrió una venta agregando el siguiente comando a la instrucción SELECT: DATENAME(weekday, S.OrderDate) as Weekday.

    Reemplace la consulta existente por el siguiente texto:

    SELECT S.OrderDate, DATENAME(weekday, S.OrderDate) as Weekday,
          S.SalesOrderNumber, S.TotalDue, C.FirstName, C.LastName
    FROM  HumanResources.Employee E INNER JOIN
          Person.Contact C ON E.ContactID = C.ContactID INNER JOIN
          Sales.SalesOrderHeader S ON E.EmployeeID = S.SalesPersonID
    WHERE (S.OrderDate BETWEEN (@StartDate) AND (@EndDate))
    
  3. Haga clic en Ejecutar (!). Debería ver una nueva columna con la etiqueta Weekday y el nombre de los días de la semana.

  4. En la ventana Conjuntos de datos, compruebe que Weekday es un campo.

    [!NOTA] Si la ventana Conjuntos de datos no está visible, en el menú Ver, seleccione Conjuntos de datos.

    Ahora ha agregado un campo de conjunto de datos adicional Weekday. Cuando crea manualmente crea un parámetro de informe y lo enlaza a este campo, los usuarios pueden los filtrar datos del informe por día de la semana.

Para agregar un nuevo parámetro de informe

  1. Haga clic en la ficha Diseño.

  2. En el menú Informe, seleccione Parámetros del informe. Se abrirá el cuadro de diálogo Parámetros del informe.

  3. Haga clic en Agregar. Aparece un nuevo parámetro, Report_Parameter_2, con valores predeterminados.

  4. En la sección Propiedades, en el cuadro de texto Nombre, reemplace Report_Parameter_2 por DayoftheWeek. Compruebe que el tipo de datos es String.

  5. En Pedir datos, escriba Filter on which day of the week:.

  6. Desactive la opción Permitir valor en blanco.

  7. En la sección Valores disponibles, haga clic en No consultado. Deje las entradas en blanco.

  8. En la sección Valores predeterminados, haga clic en No consultado. En el cuadro de texto, escriba Sunday.

  9. Haga clic en Aceptar.

Para establecer un filtro de tabla con una expresión de parámetro

  1. En la vista Diseño, seleccione la tabla. Aparece la tabla con un contorno gris.

  2. Haga clic con el botón secundario en el contorno de la tabla y seleccione Propiedades. Se abrirá el cuadro de diálogo Propiedades de la tabla.

  3. Haga clic en la ficha Filtros.

  4. En la columna Expression, seleccione =Fields!Weekday.Value en la lista desplegable.

  5. Compruebe que el Operador es el signo igual (=).

  6. Haga clic en el cuadro de texto Valor y seleccione <Expresión> en la lista desplegable. Se abrirá el cuadro de diálogo Editar expresión.

  7. En el panel de variables globales, haga clic en Parámetros. Aparecerá la lista actual de parámetros en el panel opuesto.

  8. Haga doble clic en DayoftheWeek. La expresión de parámetro se agrega al cuadro de texto de la expresión. Ahora aparece la siguiente expresión en el cuadro de texto de la expresión: =Parameters!DayoftheWeek.Value.

  9. Haga clic en Aceptar.

  10. Haga clic en Aceptar.

    El filtro de la tabla ahora se establece para comparar el valor del campo Weekday con el valor de parámetro para DayoftheWeek. Por ejemplo, cuando escribe el valor Sunday en la barra de herramientas del informe para DayoftheWeek, el procesador de informes sólo procesará las filas de la tabla en las que el valor del campo Weekday es Sunday.

  11. Haga clic en Vista previa. El informe se ejecuta automáticamente, dado que todos los parámetros poseen valores predeterminados. La tabla sólo muestra valores comprendidos en el intervalo de fechas definido por StartDate y EndDate, y que son Sunday.

  12. En el siguiente procedimiento opcional, agregará formato al encabezado de tabla.

(Opcional) Para establecer el color de fuente y de fondo para la fila de encabezado de tabla

  1. Haga clic en la ficha Diseño.

  2. Haga clic en la tabla. Aparecen las asas de la tabla.

  3. Haga clic en la fila de encabezado de tabla. En la barra de herramientas de diseño, haga clic en el botón Color de fondo. Se abrirá el cuadro de diálogo Elegir color.

  4. En la ficha Web, seleccione Rojo oscuro.

  5. Haga clic en Aceptar.

    A continuación, seleccione el color de fuente.

  6. En la barra de herramientas de diseño, haga clic en el botón Color de primer plano. Se abrirá el cuadro de diálogo Elegir color.

  7. En la ficha Web, seleccione Blanco.

  8. Haga clic en Aceptar.

  9. Haga clic en Vista previa. La tabla se presenta con los colores seleccionados para la fila de encabezado de tabla.

Pasos siguientes

Cuando haya definido correctamente los parámetros de consulta y del informe, establezca valores predeterminados para los parámetros y enlace un parámetro del informe a un campo calculado. En la siguiente lección, aprenderá a crear una lista de valores disponibles, o de valores válidos, para un parámetro. Vea Lección 3: Agregar un parámetro de valor único con una lista de valores disponibles.

Vea también

Tareas

Lección 1: Crear un proyecto del servidor de informes para el tutorial de parámetros

Otros recursos

Formato ISO 8601

Ayuda e información

Obtener ayuda sobre SQL Server 2005