Compartir vía


Referencias integradas a Globals y User en un informe paginado (Generador de informes)

Se aplica a: Generador de informes de Microsoft (SSRS) Power BI Report Builder Diseñador de informes en SQL Server Data Tools

La colección de campos integrados, que incluye las colecciones Globals y User, representa valores globales proporcionados por Reporting Services al procesar un informe paginado. 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 los archivos de definición de informes paginados (.rdl) en el Generador de informes de Microsoft, en Power BI Report Builder y en el Diseñador de informes de SQL Server Data Tools.

Uso de 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 siguiente tabla, 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 Entero 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 usar 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. Este elemento 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 Entero Número total de páginas relativo a los saltos de página que restablecen PageNumber. Si no se establece ningún salto de página, este valor es igual que OverallTotalPages.

TotalPages solo se puede usar 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 usar en una expresión en un encabezado o pie de página.
OverallPageNumber Entero Número de página de la página actual para el informe completo. ResetPageNumber no afecta a este valor.

OverallPageNumber solo se puede usar en una expresión en un encabezado o pie de página.
OverallTotalPages Entero Número total de páginas de todo el informe. ResetPageNumber no afecta a este valor.

OverallTotalPages solo se puede usar 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, consulte Tipos de datos en expresiones (Generador de informes).

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 Indica 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ó. La hora se presenta con la cadena de formato de .NET Framework de Microsoft para fechas cortas:

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

  • Esta expresión, ubicada en el cuadro de diálogo Visibilidad de columna para una columna seleccionada, muestra la columna solo cuando el informe se exporta a Excel. De lo contrario, la columna está oculta.

    EXCELOPENXML hace referencia al formato de Excel que se incluye en Office 2007. EXCEL hace referencia al formato de Excel que se incluye en Office 2003.

    =IIF(Globals!RenderFormat.Name = "EXCELOPENXML" OR Globals!RenderFormat.Name = "EXCEL", false, true)

Uso de la colección User

La colección User contiene datos acerca del usuario que ejecuta el informe. Puede utilizar esta colección para filtrar los datos que aparecen en un informe. Por ejemplo, solo puede mostrar los datos del usuario actual o mostrar userID, como en un título de 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
Lenguaje 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. La extensión de seguridad del Generador de informes determina el valor, que puede utilizar la autenticación de Windows o una autenticación personalizada.

Uso de la configuración regional

Para determinar la apariencia 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 UserID para instantáneas o informes de historial

En algunas ocasiones, los informes que incluyen la variable User!UserID no pueden mostrar los datos de informe específicos del usuario que está viendo el informe en ese momento.