Usar referencias a colecciones Globals y User integradas (Generador de informes 3.0 y SSRS)

La colección integrada de campos, que incluye las colecciones Globals y User, representa valores globales proporcionados por Reporting Services cuando se procesa un informe. La colección Globals proporciona valores como el nombre del informe, la hora a la que comenzó el procesamiento del informe y el número de la página actual para el encabezado o el pie de página del informe. La colección User proporciona el identificador de usuario y la configuración de idioma. Estos valores se pueden usar en expresiones para filtrar los resultados de un informe.

Nota

Puede crear y modificar las definiciones de informe (.rdl) en el Generador de informes 3.0 y en el Diseñador de informes en Business Intelligence Development Studio. Cada entorno de creación proporciona varias maneras de crear, abrir y guardar informes y elementos relacionados. Para obtener más información, vea la información sobre el diseño de informes en el Generador de informes 3.0 y el Administrador de informes (SSRS) en el sitio web microsoft.com.

Usar la colección Globals

La colección Globals contiene las variables globales del informe. En la superficie de diseño, estas variables aparecen con el prefijo & (y comercial); por ejemplo, [&ReportName]. En la tabla siguiente se describen los miembros de la colección Globals.

Miembro

Tipo

Descripción

ExecutionTime

DateTime

Fecha y hora en que se empezó a ejecutar el informe.

PageNumber

Integer

Número de página actual relativo a los saltos de página que restablecieron el número de página. Al principio del procesamiento del informe, el valor inicial está establecido en 1. El número de página aumenta en cada página representada.

Para numerar las páginas dentro de los saltos de página para un rectángulo, una región de datos, un grupo de regiones de datos o una asignación, en la propiedad PageBreak, establezca la propiedad ResetPageNumber en True. No se admite en grupos de jerarquías de columnas de Tablix.

PageNumber solo se puede utilizar en una expresión en un encabezado o pie de página.

ReportFolder

String

Ruta de acceso completa a la carpeta en la que se halla el informe. No incluye la dirección URL del servidor de informes.

ReportName

String

Nombre del informe tal como se almacena en la base de datos del servidor de informes.

ReportServerUrl

String

Dirección URL del servidor de informes en el que se ejecuta el informe.

TotalPages

Integer

Número total de páginas relativo a los saltos de página que restablecieron PageNumber. Si no se establece ningún salto de página, este valor es igual que OverallTotalPages.

TotalPages solo se puede utilizar en una expresión en un encabezado o pie de página.

PageName

String

Nombre de la página. Al comenzar el procesamiento del informe, el valor inicial se establece desde InitialPageName, una propiedad de informe. Cuando se procesa cada elemento de informe, el valor correspondiente de PageName reemplaza este valor de un rectángulo, una región de datos, un grupo de regiones de datos o una asignación. No se admite en grupos de jerarquías de columnas de Tablix.

PageName solo se puede utilizar en una expresión en un encabezado o pie de página.

OverallPageNumber

Integer

Número de página de la página actual para el informe completo. ResetPageNumber no afecta a este valor.

OverallPageNumber solo se puede utilizar en una expresión en un encabezado o pie de página.

OverallTotalPages

Integer

Número total de páginas de todo el informe. ResetPageNumber no afecta a este valor.

OverallTotalPages solo se puede utilizar en una expresión en un encabezado o pie de página.

RenderFormat

RenderFormat

Información sobre la solicitud de representación actual.

Para obtener más información, vea la sección "RenderFormat" más adelante.

Los miembros de la colección Globals devuelven datos de tipo variant. Si desea usar un miembro de esta colección en una expresión que requiere un tipo de datos específico, primero deberá convertir la variable. Por ejemplo, para convertir los datos de tipo variant de la fecha y hora de ejecución a formato de fecha, utilice =CDate(Globals!ExecutionTime). Para obtener más información, vea Trabajar con tipos de datos en expresiones (Generador de informes 3.0 y SSRS).

RenderFormat

En esta tabla se describen los miembros de RenderFormat.

Miembro

Tipo

Descripción

Nombre

String

Nombre del representador como está registrado en el archivo de configuración de RSReportServer.

Está disponible durante el ciclo de procesamiento o representación de partes concretas del informe.

IsInteractive

Boolean

Si la solicitud de representación actual utiliza un formato de representación interactivo.

DeviceInfo

Colección nombre/valor de solo lectura

Pares clave/valor para los parámetros de deviceinfo para la solicitud de representación actual.

Los valores de cadena se pueden especificar utilizando la clave o un índice en la colección.

Ejemplos

En los ejemplos siguientes se muestra cómo usar una referencia a la colección Globals en una expresión:

  • Esta expresión, ubicada en un cuadro de texto en el pie de página de un informe, devuelve el número de página y el número total de páginas del informe:

    =Globals.PageNumber & " of " & Globals.TotalPages

  • Esta expresión devuelve el nombre del informe y la hora a la que se ejecutó. A la hora se le aplica formato con la cadena de formato de Microsoft .NET Framework para fechas cortas:

    =Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")

Usar la colección User

La colección User contiene datos acerca del usuario que ejecuta el informe. Puede usar esta colección para filtrar los datos que aparecen en un informe; por ejemplo, para mostrar solo los datos del usuario actual o para mostrar el identificador de usuario (UserID) en el título de un informe. En la superficie de diseño, estas variables aparecen con el prefijo & (y comercial); por ejemplo, [&UserID].

En la siguiente tabla se describen los miembros de la colección User.

Miembro

Tipo

Descripción

Language

String

Idioma del usuario que ejecuta el informe. Por ejemplo, en-US.

UserID

String

Identificador del usuario que ejecuta el informe. Si está utilizando la autenticación de Windows, este valor será la cuenta de dominio del usuario actual. El valor viene determinado por la extensión de seguridad de Reporting Services, que puede utilizar la autenticación de Windows o una autenticación personalizada.

Para obtener más información sobre el uso de varios idiomas en un informe, vea "Consideraciones de diseño de soluciones para las implementaciones plurilingües o globales" en la documentación de Reporting Services en los Libros en pantalla de SQL Server.

Usar la configuración regional

Para determinar el aspecto de un informe, puede usar expresiones que hagan referencia a la configuración regional en un equipo cliente mediante el valor de User.Language. Por ejemplo, puede crear un informe que utilice una expresión de consulta diferente basada en el valor de configuración regional. La consulta puede cambiar para obtener información traducida de otra columna según el idioma devuelto. También se puede utilizar una expresión en la configuración de idioma del informe o elementos del informe basados en esta variable.

Nota

Aunque es posible cambiar la configuración de idioma de un informe, es preciso ser muy consciente de los problemas de visualización que esto puede provocar. Por ejemplo, si se cambia la configuración regional de un informe, puede cambiar no solo el formato de fecha del informe, sino también el formato de moneda. A menos que exista algún proceso de conversión de moneda, este cambio puede provocar que el informe muestre un símbolo de moneda incorrecto. Para evitar esta situación, establezca la información de idioma en cada uno de los elementos que desee cambiar, o establezca el elemento con los datos de moneda en un idioma determinado.

Identificar el identificador de usuario para informes de historial o instantánea

En algunas ocasiones, los informes que incluyen la variable User!UserID no podrán mostrar los datos de informe específicos del usuario que está viendo el informe en ese momento. Para obtener más información, vea Solucionar problemas: procesamiento de informes.