Trabajar con expresiones en Reporting Services

Nuevo: 5 de diciembre de 2005

En Reporting Services, las expresiones sirven para proporcionar flexibilidad dinámica a la hora de controlar el contenido y la apariencia de un informe. Algunas expresiones se crean automáticamente. Por ejemplo, al crear un nuevo informe y arrastrar campos desde los conjuntos de datos hasta los elementos del informe, los valores de los cuadros de texto se establecerán automáticamente en las expresiones que hacen referencia a los campos del conjunto de datos por nombre. Durante el procesamiento de informes, cada expresión se evalúa como un valor individual que sustituye a la expresión cuando se representa un informe. Las expresiones también se utilizan a lo largo de la definición de informe para especificar o calcular valores para propiedades de elementos de informe, propiedades de cuadros de texto, parámetros, consultas, marcadores, mapas de documento, filtros y definiciones de grupos y ordenación.

Para crear expresiones en elementos de informe, puede insertar texto en cuadros de texto, en propiedades o en un cuadro de diálogo. Las expresiones se escriben en Microsoft Visual Basic. Una expresión comienza con un signo igual (=) y está compuesta por referencias a constantes, operadores, funciones y colecciones globales de informes integradas, incluidos los campos y los parámetros. También puede crear referencias a clases .NET Framework, código personalizado y ensamblados externos al procesamiento de informes. Para obtener más información acerca de la creación de expresiones, vea Crear expresiones en Reporting Services.

Este tema ofrece información general acerca de dónde utilizar expresiones en las definiciones de informe. Los ejemplos de este tema se basan en el conjunto de datos AdventureWorks creado en el tutorial, Crear un informe básico. Para empezar con los ejemplos, vea Ejemplos de expresiones en Reporting Services.

Usar expresiones de campo

Puede usar expresiones para referirse a un campo de un conjunto de datos y mostrar su valor en un cuadro de texto. Para vincular los datos recuperados con un elemento de informe, la expresión de campo debe utilizar la colección global Fields, el nombre del campo y la propiedad Value.

  • Al arrastrar un campo desde una ventana del conjunto de datos hasta un elemento de informe, automáticamente se agrega una expresión de campo al cuadro de texto.
    Ejemplo:
    =Fields!LastName.Value
    Resultado:
    Reiter
    Reiter
    Saraiva
  • Puede combinar datos de varios campos o constantes.
    Ejemplo:
    =Fields!FirstName.Value & " " & Fields!LastName.Value
    Resultado:
    Tsvi Reiter
    Tsvi Reiter
    Jose Saraiva

Para obtener una lista de todos los tipos de referencias que puede utilizar en una expresión, vea Crear expresiones en Reporting Services.

Usar funciones integradas de Reporting Services

Puede utilizar expresiones para hacer referencia a multitud de funciones de informe integradas desde una expresión. Éstas van desde funciones estándar de agregado como Sum, Min, Max y Count, que se utilizan para calcular valores para un grupo de filas, hasta funciones como RowNumber y RunningValue, que se pueden utilizar en filas de detalles para proporcionar valores para cada fila.

  • Cuente el número de apellidos en el campo LastName del conjunto de datos llamado SalesOrder utilizando la función de agregado Count. Aunque puede colocar la expresión en la fila de detalles de la tabla, vería el mismo valor en cada una de las 3906 filas. Las funciones de agregado se han diseñado para resumir filas de detalles y suelen utilizarse en cuadros de texto en las filas de encabezado o pie de una región de datos o una agrupación de regiones de datos.
    Ejemplo:
    ="Number of Names: " & Count(Fields!LastName.Value)
    Resultado:
    Number of Names: 3906
  • Sume el campo TotalDue utilizando la función de agregado Sum. Colóquelo en la fila de pie de la tabla. Observe que el valor no tiene formato.
    Ejemplo:
    ="Total Sold: " & Sum(Fields!TotalDue.Value)
    Resultado:
    Total Sold: 108266245.7018
  • Asigne formato a un valor numérico utilizando la función Format y una cadena de formato de Microsoft .NET Framework, C.
    Ejemplo:
    ="Total Sold: " & Format(Sum(Fields!TotalDue.Value),"C")
    Resultado:
    Total Sold: $108,266,245.70
  • Número de filas que utilizan la función RowNumber.
    Ejemplo:
    =RowNumber(Nothing)
    Resultado:
    1
    2
    3
  • Utilice RunningValue para agregar un total acumulativo para el ámbito dado.
    Ejemplo:
    =Format(RunningValue(Fields!TotalDue.Value,Sum,Nothing),"C")
    Resultado:
    $27,231.55
    $28,947.73

Para obtener una lista completa de funciones de informe integradas a las que se pueda hacer referencia desde una expresión, vea Usar funciones de informe en expresiones (Reporting Services).

Ámbito

Dado que puede tener varios grupos definidos, puede especificar el ámbito que va a utilizar una función de agregado. Los ámbitos son nombres que puede pasar a funciones de agregado para indicar cómo desea calcular los agregados. Por ejemplo, para tablas que tienen más de un grupo definido, puede hacer referencia a un grupo externo desde una fila de encabezado de grupo interno. El ámbito Nothing le indica a una función que utilice el ámbito más externo. Para una región de datos de tabla sencilla sin agrupación, sólo hay un ámbito.

Para identificar ámbitos que sean válidos para una agrupación de elementos de informe, seleccione el elemento, abra el cuadro de diálogo Propiedades, haga clic en la ficha Grupos y vea la lista de etiquetas de grupo que pueden utilizarse para identificar ámbitos.

Usar .NET Framework y espacios de nombres del sistema

Puede utilizar expresiones para hacer referencia a los espacios de nombres integrados para la biblioteca de tiempo de ejecución Microsoft.VisualBasic y los espacios de nombres System.Convert y System.Math de .NET Framework. Para referirse a otros espacios de nombres de .NET Framework CLR (Common Language Runtime), debe utilizar el espacio de nombres completo, como por ejemplo System.Text.StringBuilder. Para hacer referencia a ensamblados externos, debe identificar el ensamblado mediante las propiedades del informe y asegurarse de que esté disponible en el servidor de informes. Para obtener más información, vea Cómo agregar una referencia de ensamblado a un informe (Diseñador de informes) y Referencing Assemblies in an RDL File.

Usar código personalizado y referencias a clases

Puede utilizar expresiones para hacer referencia a sus propias instancias personalizadas y de clases. Para ello, agregue código directamente al informe mediante las propiedades del informe o generando un ensamblado personalizado y, a continuación, haciendo referencia a ese ensamblado desde una expresión. Para obtener más información, vea Usar referencias de código personalizado en expresiones (Reporting Services).

Usar formato condicional

Puede utilizar expresiones para controlar la apariencia de un elemento de informe. Por ejemplo, se puede escribir una expresión para la propiedad Color de un cuadro de texto para que los datos se muestren con un color distinto según el tipo de datos. El ejemplo siguiente muestra el valor en rojo si el campo TotalDue es inferior a 10000. Si la condición no se cumple, el texto aparece en negro.

=Iif(Fields!TotalDue.Value < 10000,"Red","Black")

Para utilizar expresiones de formato para un elemento de informe, abra la ventana Propiedades y escriba la expresión en el campo de valor para la propiedad a la que desea dar formato. Para obtener más información acerca del formato condicional, vea Agregar formato condicional.

Usar expresiones de consulta

Puede utilizar expresiones de consulta para definir la consulta contenida en un conjunto de datos. Esta característica se puede utilizar para diseñar informes cuyas consultas cambien en función de la información facilitada por el usuario, datos de otros conjuntos de datos u otras variables. Para obtener más información acerca de las consultas, vea Definir conjuntos de datos de informe.

Usar expresiones de filtrado, agrupación y ordenación

Puede utilizar expresiones para definir filtros que limiten la cantidad y el tipo de datos que aparecerán en el informe. Los filtros se aplican a los datos después de recuperarlos del origen de datos. Puede definir filtros en conjuntos de datos, regiones de datos y agrupaciones de regiones de datos. Para obtener más información acerca de los filtros, vea Cómo agregar un filtro (Diseñador de informes) y Filtrar datos en un informe.

Puede usar expresiones para definir grupos para regiones de datos. Con frecuencia, utilizará expresiones para calcular funciones de agregado en datos agrupados. Los grupos se definen creando encabezados de grupo en regiones de datos. Para obtener más información acerca de la agrupación de datos, vea Agrupar datos en un informe y Cómo agregar un grupo a una tabla (Diseñador de informes).

Puede usar expresiones para definir la ordenación de regiones de datos. Puede ordenar conjuntos de datos, filas de detalles en regiones de datos y grupos en regiones de datos. Para obtener más información acerca de la ordenación de datos, vea Ordenar datos en un informe y Cómo ordenar los datos de una tabla (Diseñador de informes).

Usar colecciones de informe integradas

Puede utilizar expresiones para hacer referencia a clases de colecciones de informe integradas. Además de la colección Fields tratada anteriormente, puede crear expresiones que hagan referencia a elementos de las colecciones siguientes: Globals, User, Parameters, ReportItems, DataSets y DataSources. Cuando se utilizan en una expresión, estas colecciones proporcionan acceso a propiedades de informe y datos determinados dinámicamente durante el procesamiento de informes. Para obtener más información, vea Usar colecciones globales en expresiones (Reporting Services).

Usar la configuración regional

Puede utilizar expresiones para hacer referencia a la configuración regional en un equipo cliente mediante el valor User.Language para determinar la apariencia con la que el usuario verá el informe. 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 sólo 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 hacer que en el informe muestre un símbolo de moneda incorrecto. Para evitar esta situación, configure la información de idioma en cada uno de los elementos que desee cambiar, o bien defina el elemento con los datos de moneda en un idioma determinado.

Vea también

Tareas

Cómo agregar una expresión (Diseñador de informes)

Referencia

Ejemplos de expresiones en Reporting Services

Conceptos

Temas de procedimientos del diseño de informes

Otros recursos

Editar expresión (Diseñador de informes)

Ayuda e información

Obtener ayuda sobre SQL Server 2005