Tutorial: agregar un parámetro a un informe (Generador de informes 3.0)
Agregue un parámetro a un informe para permitir que los usuarios filtren los datos del informe desde el origen de datos o el informe. Los parámetros del informe se crean automáticamente para cada parámetro de la consulta que incluya en una consulta del conjunto de datos. El tipo de datos de parámetro determina cómo aparece en la barra de herramientas de visualización de informe.
Aprendizaje
En este tutorial, aprenderá a realizar las siguientes tareas:
Crear un informe de matriz y un conjunto de datos con el asistente para tablas o matrices
Organizar datos, elegir el diseño y el estilo con el asistente para tablas o matrices
Agregar un parámetro de consulta para crear un parámetro de informe
Cambiar el tipo de datos predeterminado y otras propiedades de un parámetro de informe
Agregar un conjunto de datos para proporcionar los valores disponibles y nombres para mostrar
Especificar valores disponibles para crear una lista desplegable de valores
Especificar valores predeterminados para que el informe se ejecute automáticamente
Buscar un valor de un conjunto de datos que tiene pares de name y valor
Mostrar el valor de parámetro seleccionado en el informe
Utilizar el parámetro de informe en un filtro
Cambiar el parámetro de informe a fin de que acepte varios valores
Agregar un parámetro booleano para obtener visibilidad condicional
Agregar un título de informe
Guardar el informe
Nota
En este tutorial, los pasos del asistente se encuentran reunidos en un único procedimiento. Para obtener instrucciones paso a paso sobre cómo ir hasta un servidor de informes, elegir y crear un conjunto de datos, vea el primer tutorial de esta serie: Tutorial: Crear un informe de tabla básico (Generador de informes 3.0).
Tiempo estimado para completar este tutorial: 25 minutos.
Requisitos
Para obtener más información acerca de los requisitos, vea Requisitos previos para los tutoriales (Generador de informes 3.0).
1. Crear un informe de matriz y un conjunto de datos con el asistente para tablas o matrices
Cree un informe de matriz, un origen de datos y un conjunto de datos.
Nota
En este tutorial, la consulta contiene los valores de datos, de forma que no necesita un origen de datos externo. Esto hace que la consulta requiera bastante tiempo. En un entorno empresarial, la consulta no contendría los datos. Esto es solo con fines de aprendizaje.
Para crear un nuevo informe de matriz
Haga clic en Inicio, seleccione Programas, Microsoft SQL Server 2008 R2 Report Builder 3.0 y, a continuación, haga clic en Generador de informes 3.0.
Aparecerá el cuadro de diálogo Introducción.
Nota
Si el cuadro de diálogo Introducción no aparece, en el botón Generador de informes, haga clic en Nuevo.
En el panel de la izquierda, compruebe que está seleccionada la opción Informe.
En el panel de la derecha, haga clic en Asistente para tablas o matrices.
Haga clic en Crear.
En la página Elegir un conjunto de datos, haga clic en Crear un conjunto de datos.
Haga clic en Siguiente.
En la página Elegir una conexión a un origen de datos, seleccione un origen de datos del tipo SQL Server. Seleccione un origen de datos en la lista o vaya al servidor de informes para seleccionar uno.
Haga clic en Siguiente.
En la página Diseñar una consulta, haga clic en Editar como texto.
Pegue la siguiente consulta en el panel de consulta:
;WITH CTE (StoreID, Subcategory, Quantity) AS ( SELECT 200 AS StoreID, 'Digital SLR Cameras' AS Subcategory, 2002 AS Quantity UNION SELECT 200 AS StoreID, 'Camcorders' AS Subcategory, 1954 AS Quantity UNION SELECT 200 AS StoreID, 'Accessories' AS Subcategory, 1895 AS Quantity UNION SELECT 199 AS StoreID, 'Digital Cameras' AS Subcategory, 1849 AS Quantity UNION SELECT 306 AS StoreID, 'Digital SLR Cameras' AS Subcategory, 1579 AS Quantity UNION SELECT 306 AS StoreID, 'Camcorders' AS Subcategory, 1561 AS Quantity UNION SELECT 306 AS StoreID, 'Digital Cameras' AS Subcategory, 1553 AS Quantity UNION SELECT 306 AS StoreID, 'Accessories' AS Subcategory, 1534 AS Quantity UNION SELECT 307 AS StoreID, 'Accessories' AS Subcategory, 1755 AS Quantity UNION SELECT 307 AS StoreID, 'Camcorders' AS Subcategory, 1631 AS Quantity UNION SELECT 307 AS StoreID, 'Digital SLR Cameras' AS Subcategory, 1772 AS Quantity) SELECT StoreID, Subcategory, Quantity FROM CTE
Esta consulta combina los resultados de varias instrucciones SELECT de Transact-SQL dentro de una expresión de tabla común para especificar los valores que están basados en datos simplificados de la base de datos de ejemplo Contoso. Los datos de ventas de Contoso representan los datos de ventas internacionales de bienes de consumo. En este tutorial se utilizan los datos de ventas de cámaras. Las subcategorías representan cámaras digitales, cámaras réflex digitales de una sola lente (SLR), cámaras de vídeo y accesorios.
La consulta especifica los nombres de columna que incluyen un identificador del almacén, una subcategoría de artículos de venta y la cantidad ordenada de los pedidos de ventas de tres almacenes. En esta consulta, el nombre del almacén no forma parte del conjunto de resultados. Más adelante en este tutorial, buscará en otro conjunto de datos el nombre del almacén que corresponde al identificador del almacén.
Esta consulta no contiene parámetros de consulta. Agregará los parámetros de consulta posteriormente en este tutorial.
En la barra de herramientas del diseñador de consultas, haga clic en Ejecutar (!). El conjunto de resultados muestra 11 filas de datos que muestran la cantidad de elementos vendidos para cada subcategoría de cuatro almacenes e incluye las columnas siguientes: StoreID, Subcategory, Quantity.
Haga clic en Siguiente.
2. Organizar datos, elegir el diseño y el estilo con el asistente para tablas o matrices
Utilice el asistente para proporcionar un diseño inicial en el que mostrar los datos. El panel de vista previa del asistente le ayudará a visualizar el resultado de las agrupaciones de datos antes de completar la tabla o el diseño de la matriz.
Para organizar los datos en grupos
En la página Organizar campos, arrastre Subcategory a Grupos de filas.
Arrastre StoreID a Grupos de columnas.
Arrastre Quantity a Valores.
Ha organizado los valores de cantidad vendida en filas agrupadas por subcategoría. Habrá una columna para cada almacén.
Haga clic en Siguiente.
En la página Elegir el diseño, en Opciones, compruebe que esté seleccionada la opción Mostrar subtotales y totales generales.
Al ejecutar el informe, la última columna mostrará la cantidad total de cada subcategoría para todos los almacenes y la última fila mostrará la cantidad total para todas las subcategorías de cada almacén.
Haga clic en Siguiente.
En la página Elegir un estilo, en el panel Estilos, seleccione un estilo.
Haga clic en Finalizar.
La matriz se agrega a la superficie de diseño. La matriz muestra tres columnas y tres filas. El contenido de las celdas de la primera fila es Subcategory, [StoreID] y Total. El contenido de las celdas de la segunda fila muestra expresiones que representan la subcategoría, la cantidad de artículos vendidos de cada almacén y el total de cada subcategoría de todos los almacenes. Las celdas de la última fila muestran los totales de cada almacén.
Haga clic en la matriz, mantenga el mouse sobre el borde de la primera columna, agarre el controlador y expanda el ancho de la columna.
Haga clic en Ejecutar para obtener la vista previa del informe.
El informe se ejecuta en el servidor de informes y muestra el título y la hora en que tuvo lugar el procesamiento del informe.
En esta situación, los encabezados de columna muestran el identificador del almacén, pero no su nombre. Más adelante agregará una expresión para buscar el nombre del almacén en un conjunto de datos que contiene pares identificador/nombre de almacén.
3. Agregar un parámetro de consulta para crear un parámetro de informe
Al agregar un parámetro de consulta a una consulta, el Generador de informes crea automáticamente un parámetro de informe de un solo valor con propiedades predeterminadas para el nombre, mensaje y tipo de datos.
Para agregar un parámetro de consulta
Cambie a la vista de diseño.
En el panel Datos de informe, expanda la carpeta Conjuntos de datos, haga clic con el botón secundario en DataSet1 y haga clic en Consulta.
Agregue la siguiente cláusula WHERE de Transact-SQL como última línea de la consulta:
WHERE StoreID = (@StoreID)
La cláusula WHERE limita los datos recuperados al identificador del almacén que se especifica mediante el parámetro de consulta @StoreID.
En la barra de herramientas del diseñador de consultas, haga clic en Ejecutar (!). Se abre el cuadro de diálogo Definir parámetros de consulta y se solicita un valor para el parámetro de consulta @StoreID.
En Valor de parámetro, escriba 200.
Haga clic en Aceptar.
El conjunto de resultados muestra las cantidades vendidas de accesorios, cámaras de vídeo y cámaras digitales SLR para el identificador de almacén 200.
Haga clic en Aceptar.
En el panel Datos de informe, expanda la carpeta Parámetros.
Observe que ahora hay un parámetro de informe denominado @StoreID. De forma predeterminada, el parámetro tiene el tipo de datos Text. Como el identificador de almacén es un entero, va a cambiar el tipo de datos a Entero en el procedimiento siguiente.
4. Cambiar el tipo de datos predeterminado y otras propiedades de un parámetro de informe
Después de crear un parámetro, puede ajustar los valores predeterminados de las propiedades.
Para cambiar el tipo de datos predeterminado para un parámetro de informe
En el panel Datos de informe debajo del nodo Parámetros, haga clic con el botón secundario en @StoreID y, a continuación, haga clic en Propiedades del parámetro.
En Prompt, escriba ¿Identificador del almacén? Este texto aparece en la barra de herramientas del visor de informes al ejecutar el informe.
En Tipo de datos, en la lista desplegable, seleccione Integer.
Acepte los valores predeterminados restantes del cuadro de diálogo.
Haga clic en Aceptar.
Obtenga una vista previa del informe. El visor de informes muestra el mensaje para @StoreID.
En la barra de herramientas del visor de informes, al lado de Store ID, escriba 200 y, a continuación, haga clic en Ver informe.
4a. Agregar un conjunto de datos para proporcionar los valores disponibles y nombres para mostrar
Para asegurarse de que un usuario solo puede escribir valores válidos para un parámetro, puede crear una lista desplegable de valores entre los que elegir. Los valores pueden proceder de un conjunto de datos o de una lista que se especifique. Se deben proporcionar valores disponibles de un conjunto de datos que tenga una consulta que no contenga una referencia al parámetro.
Para crear un conjunto de datos para los valores válidos de un parámetro
Cambie a la vista de diseño.
En el panel Datos de informe, haga clic con el botón secundario en la carpeta Conjuntos de datos y, a continuación, haga clic en Agregar conjunto de datos.
En Nombre, escriba Almacenes.
Seleccione la opción Usar un conjunto de datos insertado en el informe.
En Origen de datos, en la lista desplegable, elija el origen de datos que creó en el primer procedimiento.
En Tipo de consulta, compruebe que la opción Texto está seleccionada.
En Consulta, pegue el texto siguiente:
SELECT 200 AS StoreID, 'Contoso Catalog Store' as StoreName UNION SELECT 199 AS StoreID, 'Contoso North America Online Store' as StoreName UNION SELECT 307 AS StoreID, 'Contoso Asia Online Store' as StoreName UNION SELECT 306 AS StoreID, 'Contoso Europe Online Store' as StoreName
Haga clic en Aceptar.
El panel Datos del informe muestra los campos StoreID y StoreName bajo el nodo de conjunto de datos Almacenes.
4b. Especificar valores disponibles para crear una lista desplegable de valores
Después de crear un conjunto de datos para proporcionar los valores disponibles, debe cambiar las propiedades de informe para especificar qué conjunto de datos y qué campo utilizar para llenar la lista desplegable de valores válidos de la barra de herramientas del visor de informes.
Para proporcionar los valores disponibles para un parámetro desde un conjunto de datos
En el panel Datos de informe, haga clic con el botón secundario en el parámetro @StoreID y, a continuación, haga clic en Propiedades del parámetro.
Haga clic en Valores disponibles y, a continuación, haga clic en Obtener valores de una consulta.
En Conjunto de datos, haga clic en Almacenes en la lista desplegable.
En Campo de valor, en la lista desplegable, haga clic en StoreID.
En Campo de etiqueta, en la lista desplegable, haga clic en StoreName. El campo de etiqueta especifica el nombre para mostrar del valor.
Haga clic en General.
En Prompt, escriba ¿Nombre del almacén?
El usuario seleccionará ahora en una lista de nombres de almacén en lugar de entre los identificadores de almacén. Observe que el tipo de datos de parámetro sigue siendo Entero, porque el parámetro está basado en el identificador del almacén, no el nombre del almacén.
Haga clic en Aceptar.
Obtenga una vista previa del informe.
En la barra de herramientas del visor de informes, el cuadro de texto del parámetro es ahora una lista desplegable que muestra <Seleccione un valor>.
En la lista desplegable, seleccione Contoso Catalog Store y, a continuación, haga clic en Ver informe.
El informe muestra la cantidad vendida de accesorios, cámaras de vídeo y cámaras digitales SLR para el identificador de almacén 200.
4c. Especificar valores predeterminados para que el informe se ejecute automáticamente
Puede especificar un valor predeterminado para cada parámetro de modo que el informe se ejecute automáticamente.
Para especificar un valor predeterminado de un conjunto de datos
Cambie a la vista de diseño.
En el panel Datos de informe, haga clic con el botón secundario en @StoreID y, a continuación, haga clic en Propiedades del parámetro.
Haga clic en Valores predeterminados y, a continuación, haga clic en Obtener valores de una consulta.
En Conjunto de datos, haga clic en Almacenes en la lista desplegable.
En Campo de valor, en la lista desplegable, haga clic en StoreID.
Haga clic en Aceptar.
Obtenga una vista previa del informe.
Para @StoreID, el visor de informes muestra el valor "Contoso North America Online Store". Se trata del primer valor del conjunto de resultados para el conjunto de datos Almacenes. El informe muestra la cantidad vendida de cámaras digitales para el identificador del almacén 199.
Para especificar un valor predeterminado personalizado
Cambie a la vista de diseño.
En el panel Datos de informe, haga clic con el botón secundario en @StoreID y, a continuación, haga clic en Propiedades del parámetro.
Haga clic en Valores predeterminados y haga clic en Especificar valores y, a continuación, haga clic en Agregar. Se agrega una nueva fila de valor.
En Valor, escriba 200.
Haga clic en Aceptar.
Obtenga una vista previa del informe.
Para @StoreID, el visor de informes muestra el valor "Contoso Catalog Store". Es el nombre para mostrar del identificador de almacén 200. El informe muestra la cantidad vendida de accesorios, cámaras de vídeo y cámaras digitales SLR para el identificador de almacén 200.
4d. Buscar un valor de un conjunto de datos que tiene pares de name y valor
Un conjunto de datos podría contener el identificador y el campo de nombre correspondiente. Si solo tiene un identificador, puede buscar el nombre correspondiente en un conjunto de datos que haya creado y que tenga pares de nombre/valor.
Para buscar un valor de un conjunto de datos
Cambie a la vista de diseño.
En la superficie de diseño, en la matriz, en el encabezado de columna de la primera fila, haga clic con el botón secundario en [StoreID] y, a continuación, haga clic en Expresión.
En el panel de expresión, elimine todo el texto excepto el equals (=) inicial.
En Categoría, expanda Funciones comunes y haga clic en Varios. El panel de elementos muestra un conjunto de funciones.
En Elemento, haga doble clic en Búsqueda. En el panel de expresión se muestra =Lookup(. En el panel de ejemplo se muestra un ejemplo de sintaxis de búsqueda.
Escriba la siguiente expresión: =Lookup(Fields!StoreID.Value,Fields!StoreID.Value,Fields!StoreName.Value,"Stores")
La función de búsqueda toma el valor de StoreID, lo busca en el conjunto de datos "Almacenes" y devuelve el valor de StoreName.
Haga clic en Aceptar.
El encabezado de columna del almacén contiene el texto para mostrar de una expresión compleja: <<Expr>>.
Obtenga una vista previa del informe.
El cuadro de texto de la parte superior de cada página muestra el nombre del almacén en lugar del identificador del almacén.
5. Mostrar el valor de parámetro seleccionado en el informe
Cuando los usuarios tienen preguntas sobre un informe, resulta útil saber qué valores de parámetro eligieron. Puede conservar los valores seleccionados por el usuario para cada parámetro del informe. Una forma de hacerlo es mostrar los parámetros en un cuadro de texto en el pie de página.
Para mostrar el valor del parámetro seleccionado y etiquetarlo en un pie de página
Cambie a la vista de diseño.
Haga clic con el botón secundario en el pie de página, seleccione Insertar y, a continuación, haga clic en Cuadro de texto. Arrastre el cuadro de texto junto al cuadro de texto que tiene la marca de tiempo. Agarre el controlador lateral del cuadro de texto y expanda el ancho.
En el panel Datos del informe, arrastre el parámetro @StoreID al cuadro de texto. El cuadro de texto presenta [@StoreID].
Para mostrar la etiqueta de parámetro, haga clic en el cuadro de texto hasta que el cursor de inserción aparezca después de la expresión existente, escriba un espacio y, a continuación, arrastre otra copia del parámetro en el panel Datos del informe al cuadro de texto. El cuadro de texto presenta [@StoreID] [@StoreID].
Haga clic con el botón secundario en la primera expresión y haga clic en Expresión. Se abre el cuadro de diálogo Expresión. Reemplace el texto Value con Label.
Haga clic en Aceptar.
El texto indica: [@StoreID.Label] [@StoreID].
Obtenga una vista previa del informe.
6. Utilizar el parámetro de informe en un filtro
Los filtros ayudan a controlar qué datos se deben usar en un informe una vez que se han recuperado de un origen de datos externo. Para permitir que un usuario controle los datos que desea ver, puede incluir el parámetro de informe en un filtro para la matriz.
Para especificar un parámetro en un filtro de la matriz
Cambie a la vista de diseño.
Haga clic con el botón secundario en una fila o identificador del encabezado de columna de la matriz y, a continuación, haga clic en Propiedades de Tablix.
Haga clic en Filtros y luego en Agregar. Aparece una nueva fila de filtro.
En el cuadro Expresión, en la lista desplegable, seleccione el StoreId del campo de conjunto de datos. El tipo de datos indica Integer. Cuando el valor de expresión es un campo de un conjunto de datos, el tipo de datos se establece automáticamente.
En Operador, compruebe que está seleccionado equals (=).
En Valor, escriba [@StoreID]. [@StoreID] es la sintaxis de expresión simple que representa =Parameters!StoreID.Value.
Haga clic en Aceptar.
Obtenga una vista previa del informe.
La matriz solo muestra los datos de "Contoso Catalog Store".
On the report viewer toolbar, for Store name?, select Contoso Asia Online Store, and then click View Report.
La matriz muestra los datos correspondientes al almacén que había seleccionado.
7. Cambiar el parámetro de informe a fin de que acepte varios valores
Para cambiar un parámetro de un solo valor a varios valores, debe cambiar la consulta y todas las expresiones que contienen una referencia al parámetro, incluidos los filtros. Un parámetro de varios valores es una matriz de valores. En una consulta de conjunto de datos, la sintaxis de la consulta debe comprobar la inclusión de un valor en un conjunto de valores. En una expresión de informe, la sintaxis de la expresión debe tener acceso a una matriz de valores y no a un valor individual.
Para cambiar un parámetro de un solo valor a varios valores
Cambie a la vista de diseño.
En el panel Datos de informe, haga clic con el botón secundario en @StoreID y, a continuación, haga clic en Propiedades del parámetro.
Seleccione Permitir varios valores.
Haga clic en Aceptar.
En el panel Datos de informe, expanda la carpeta Conjuntos de datos, haga clic con el botón secundario en DataSet1 y haga clic en Consulta.
Cambie equals (=) a IN en la cláusula Transact-SQLWHERE en la última línea de la consulta:
WHERE StoreID IN (@StoreID)
El operador IN prueba un valor para su inclusión en un conjunto de valores.
Haga clic en Aceptar.
Haga clic con el botón secundario en una fila o identificador del encabezado de columna de la matriz y, a continuación, haga clic en Propiedades de Tablix.
Haga clic en Filtros.
En Operador, seleccione In.
Haga clic en Aceptar.
En el cuadro de texto que muestra el parámetro en el pie de página, elimine todo el texto.
Haga clic con el botón secundario en el cuadro y, a continuación, haga clic en Expresión. Escriba la siguiente expresión: =Join(Parameters!StoreID.Label, ", ")
Esta expresión concatena todos los nombres de almacén seleccionados por el usuario.
Haga clic en Aceptar.
Haga clic en el cuadro de texto que hay delante de la expresión que acaba de crear y, a continuación, escriba lo siguiente: Parameter Values Selected:.
Obtenga una vista previa del informe.
Haga clic en la lista desplegable al lado de ¿Nombre del almacén?
Cada valor válido aparece al lado de una casilla.
Haga clic en Seleccionar todo y, a continuación, en Ver informe.
El informe muestra la cantidad vendida para todas las subcategorías en todos los almacenes.
En la lista desplegable, haga clic en Seleccionar todo para borrar la lista, haga clic en "Contoso Catalog Store" y en "Contoso Asia Online Store" y, a continuación, haga clic en Ver informe.
8. Agregar un parámetro booleano para obtener visibilidad condicional
Para agregar un parámetro booleano
En la superficie de diseño, en el panel Datos de informe, haga clic con el botón secundario en Parámetros y haga clic en Agregar parámetro.
En Nombre, escriba ShowSelections.
En Pedir datos, escriba Show selections?
En Tipo de datos, en la lista desplegable, haga clic en Booleano.
Haga clic en Valores predeterminados.
Haga clic en Especificar el valor y, a continuación, haga clic en Agregar.
En Valor, escriba False.
Haga clic en Aceptar.
Para establecer la visibilidad en función de un parámetro booleano
En la superficie de diseño, haga clic con el botón secundario en el cuadro de texto del pie de página que muestra los valores de parámetro y, a continuación, haga clic en Propiedades de cuadro de texto.
Haga clic en Visibilidad.
Seleccione la opción Mostrar u ocultar en función de una expresión y, a continuación, haga clic en el botón de expresión Fx.
Escriba la siguiente expresión: =Not Parameters!ShowSelections.Value
La propiedad Hidden controla la opción Visibilidad del cuadro de texto. Aplique el operador Not para que cuando el parámetro esté seleccionado, la propiedad Hidden sea falsa y, así, se mostrará el cuadro de texto.
Haga clic en Aceptar.
Haga clic en Aceptar.
Obtenga una vista previa del informe.
El cuadro de texto que muestra las opciones de parámetro no aparece.
En la barra de herramientas de visor de informes, al lado de Mostrar selecciones, haga clic en True.
Obtenga una vista previa del informe.
El cuadro de texto del pie de página muestra todos los nombres de almacén que haya seleccionado.
9. Agregar un título de informe
Para agregar un título de informe
En la superficie de diseño, haga clic en Haga clic para agregar título.
Escriba Parameterized Product Sales y, a continuación, haga clic fuera del cuadro de texto.
10. Guardar el informe
Para guardar el informe en un servidor de informes
En el botón Generador de informes, haga clic en Guardar como.
Haga clic en Sitios y servidores recientes.
Seleccione o escriba el nombre del servidor de informes donde tiene el permiso para guardar los informes.
Aparece el mensaje Conectando con el servidor de informes. Una vez completada la conexión, se mostrará el contenido de la carpeta de informes que el administrador del servidor de informes especificó como ubicación predeterminada para los informes.
En Nombre, reemplace el nombre predeterminado con Parameterized Product Sales.
Haga clic en Guardar.
El informe se guarda en el servidor de informes. El servidor de informes al que está conectado aparece en la barra de estado en la parte inferior de la ventana.
Pasos siguientes
De esta forma se concluye el tutorial sobre cómo agregar un parámetro a un informe. Para obtener más información sobre parámetros, vea Parámetros (Generador de informes 3.0 y SSRS).
Vea también