Usar parámetros para controlar los datos de los informes

Los parámetros de informe se usan normalmente para filtrar los datos de informe que se recuperan de un origen de datos. Filtrar los datos en el origen de datos puede mejorar el rendimiento durante el procesamiento y la visualización de un informe. Si no puede filtrar los datos en el origen, use parámetros para filtrar los datos de informe después de haberlos recuperado. También puede ordenar y agrupar los datos de un informe en función de los parámetros de informe.

Filtrar datos en el origen de datos

Para filtrar los datos en el origen de datos, use parámetros de consulta en la consulta de conjunto de datos. Para cada parámetro de consulta, Reporting Services crea el correspondiente parámetro de informe. Cuando el usuario selecciona valores para el parámetro de informe, estos se pasan a la consulta. Cuando la consulta se ejecuta en el origen de datos, solo se recuperan para el informe los valores especificados por el usuario. Al parámetro de informe se aplican propiedades tales como el mensaje para el usuario y los valores predeterminados.

Parámetros de consulta

Los parámetros de informe se crean automáticamente al definir los parámetros de consulta. En el Generador de informes, los parámetros de informe se crean automáticamente cuando se establece un símbolo del sistema en una cláusula de filtro.

Cuando se define un conjunto de datos, se debe especificar un tipo determinado de origen de datos; por ejemplo, MicrosoftSQL Server. El Diseñador de informes abre un diseñador de consultas específico para ese tipo de origen de datos. Cuando se define la consulta para cada origen de datos, el diseñador de consultas identifica variables en el texto del comando de la consulta y crea un parámetro de consulta para cada uno de ellos. No todas las combinaciones de origen de datos y proveedor de datos admiten consultas con variables. Para obtener más información acerca de la sintaxis de consulta esperada por el origen de datos, vea Usar parámetros de consulta con orígenes de datos específicos (Reporting Services).

En el caso de los orígenes de datos de SQL Server, las consultas suelen incluir variables en la cláusula WHERE de una instrucción de Transact-SQL para limitar el ámbito de los datos devueltos al ejecutar la consulta. De forma similar, una consulta de origen de datos de Analysis Services suele incluir variables MDX utilizadas en una cláusula FILTER. Las consultas también pueden incluir variables pasadas como entradas a procedimientos almacenados o funciones definidas por el usuario.

Cada vez que se modifica la consulta de un conjunto de datos, se vuelve a procesar la consulta. Si se modifica una consulta al quitar una variable o cambiarle el nombre, los parámetros de consulta reflejarán esos cambios.

Puede crear parámetros de conjunto de datos adicionales en la página Parámetros del cuadro de diálogo Propiedades del conjunto de datos. Los parámetros creados no cambian cuando cambia la consulta.

El valor predeterminado de cada parámetro de consulta se establece en una expresión que devuelve el parámetro de informe correspondiente. Para cambiar el valor predeterminado, use la página Parámetros del cuadro de diálogo Propiedades del conjunto de datos. Por ejemplo, en un origen de datos de SQL Server, si el parámetro de consulta es @MyParameter, el parámetro de informe será MyParameter y el valor de @MyParameter será la expresión [@MyParameter]. Para obtener más información, vea Propiedades del conjunto de datos (cuadro de diálogo), Parámetros. Se pueden editar los parámetros de consulta y establecer sus valores predeterminados de forma manual. Para obtener más información, vea Cómo asociar un parámetro de consulta a un parámetro de informe.

Los parámetros de informe que se crean automáticamente usan los valores predeterminados siguientes:

  • Un solo valor

  • Tipo de datos Text

  • El mensaje para el usuario es el nombre del parámetro

  • No hay valores predeterminados

  • No hay valores disponibles

Es posible que necesite cambiar estas propiedades en función del tipo de datos que representa el parámetro de consulta. Para obtener más información, vea Crear parámetros de informe y establecer sus propiedades.

[!NOTA]

Cuando se quita o cambia el nombre de un parámetro de consulta, no se quita ni se cambia automáticamente el parámetro de informe correspondiente. Si quita un parámetro de consulta y no necesita el parámetro de informe correspondiente, deberá eliminarlo manualmente. Si cambia el nombre de un parámetro de consulta, al guardar la consulta, se crea un nuevo parámetro de informe que corresponde al nombre cambiado. Puede cambiar el nombre del parámetro de informe para que coincida con el nuevo nombre del parámetro de consulta y actualizar las propiedades del parámetro de conjunto de datos para vincular el parámetro de consulta al parámetro de informe.

Parámetros dependientes o en cascada

Si crea una consulta que usa varios parámetros de consulta, puede crear un conjunto de parámetros en cascada. Los parámetros en cascada permiten filtrar un número muy elevado de valores de parámetros y reducirlo a un número más fácil de administrar. Por ejemplo, imagine que una consulta incluye los parámetros @Category, @Subcategory y @Product, donde la lista de subcategorías depende de @Category y la lista de productos depende de @Subcategory. Si un usuario elige un valor para el parámetro de informe Category, los valores para Subcategory se limitarán a los valores válidos para la categoría elegida. Cuando el usuario selecciona un valor para Subcategory, las opciones para Product ya han sido filtradas para Category y Subcategory. Con esta técnica, puede reducir el número de opciones válidas para un parámetro y dejarlas en un número razonable de valores.

Para diseñar parámetros en cascada, debe incluir los elementos siguientes en el informe:

  • La consulta de conjunto de datos principal, que contiene varios parámetros de consulta relacionados.

  • Una lista ordenada de parámetros de informe, cada uno de los cuales está enlazado a un parámetro de consulta. Normalmente, estos se crean automáticamente a partir de la consulta principal. Cada parámetro dependiente debe seguir al parámetro del que depende. El orden de los parámetros se puede cambiar en el panel Datos de informe, donde puede mover hacia arriba y hacia abajo los parámetros de la colección. Para obtener más información, vea Cómo cambiar el orden de un parámetro de informe (Reporting Services).

  • Un conjunto de datos independiente para cada parámetro de informe que proporcione los valores disponibles. Para que los parámetros de consulta y los parámetros de informe se vinculen correctamente, es importante usar la misma ortografía con distinción de mayúsculas y minúsculas para cada parámetro de consulta. La consulta correspondiente a cada conjunto de valores disponibles para cada parámetro de informe solo debe proporcionar valores que tengan sentido en el contexto de la consulta principal.

En el ejemplo, el parámetro de informe Product depende de Subcategory, y este, a su vez, depende de Category. Category debe aparecer en primer lugar, seguido de Subcategory y de Product. La consulta correspondiente al conjunto de datos que proporciona los valores disponibles para Category debe mostrar todas las categorías que son válidas para la consulta principal. La consulta que proporciona los valores disponibles para Subcategory una vez elegida una categoría debe proporcionar valores que sean válidos para la categoría especificada, además de cualquier restricción que exista en la consulta principal.

Para obtener más información, vea Cómo agregar parámetros en cascada a un informe (Reporting Services).

Filtrar datos de informe después de ejecutar una consulta

También puede crear parámetros de informe y usarlos en expresiones de filtro para filtrar los datos de un conjunto de datos de informe, de una región de datos o de un grupo de Tablix. Para obtener más información, vea Filtrar datos en un informe y Cómo agregar un filtro (Reporting Services).

Los parámetros de informe forman parte de una definición de informe cuando se crea un informe, pero se pueden administrar de forma independiente después de publicar un informe. Una vez publicada la definición de informe, se pueden modificar las propiedades de los parámetros mediante el Administrador de informes. Para obtener más información, vea Establecer propiedades en un informe publicado.

Trabajar con valores válidos de un parámetro que cambian con rapidez

Cuando se especifican valores disponibles que cambian con rapidez, los valores pueden llegar a ser obsoletos incluso antes de que se ejecute el informe. Esta situación puede dar lugar a que el usuario seleccione un valor de la lista que haya dejado de ser válido para cuando el usuario lo envíe y ejecute el informe. Para evitarlo, escriba consultas que devuelvan conjuntos de datos para listas de valores válidos que no cambien durante el tiempo que un usuario tarda en seleccionar un valor y ejecutar el informe.

Evite también los valores no consultados que cambian con rapidez. Por ejemplo, si proporciona la fecha actual como un valor disponible, escriba una expresión que utilice la propiedad DateTime.Today en lugar de DateTime.Now. De esta forma, se elimina la parte temporal de cambio rápido del valor. También puede usar una variable de informe o una variable de grupo para calcular un valor una sola vez y mantenerlo constante mientras se procesa el informe. Para obtener más información, vea Usar referencias a las colecciones de variables de informe y de grupo en expresiones (Reporting Services).