Usar parámetros en expresiones

Nuevo: 17 de julio de 2006

En este tema se muestran ejemplos de la sintaxis necesaria para incluir referencias a parámetros de informe en una expresión. Los parámetros de informe son una de las colecciones globales a las que se puede hacer referencia desde una expresión. Para obtener más información, vea Usar colecciones globales en expresiones (Reporting Services).

Los parámetros se evalúan cuando se procesa un informe. Las expresiones se pueden utilizar en cualquier lugar de una propiedad de elemento de informe o de cuadro de texto que proporcione la opción (Fx) o <Expresión>. Para obtener ejemplos de casos en los que se pueden utilizar expresiones, vea Ejemplos de expresiones en Reporting Services.

Los parámetros de informe pueden ser de uno de los tipos siguientes: Boolean, DateTime, Integer, Float o String. Los parámetros de informe son de uno o de varios valores. Puede establecer la propiedad multivalor para todos los tipos, excepto los booleanos. Un parámetro de varios valores es una matriz de valores basada en cero. Para obtener más información acerca del establecimiento de las propiedades de un informe, vea Crear parámetros de informe y establecer sus propiedades.

Parámetros de un solo valor

En la tabla siguiente se muestran ejemplos de uso de un parámetro de un solo valor en una expresión.

Usar un parámetro de un solo valor en una expresión

En la tabla siguiente se muestran ejemplos de la sintaxis que se debe utilizar cuando se incluye una referencia a un parámetro de un solo valor de cualquier tipo de datos en una expresión.

Ejemplo Descripción

=Parameters!<ParameterName>.IsMultiValue

Devuelve False.

Comprueba si un parámetro es de varios valores. Si el valor es True, el parámetro es de varios valores y es una colección de objetos. Si el valor es False, el parámetro es de un solo valor y es un solo objeto.

=Parameters!<ParameterName>.Count

Devuelve el valor entero 1. Para un parámetro de un solo valor, el recuento es siempre 1.

=Parameters!<ParameterName>.Label

Devuelve la etiqueta del parámetro, se suele utilizar como nombre para mostrar de una lista desplegable de valores disponibles.

=Parameters!<ParameterName>.Value

Devuelve el valor del parámetro. Si no se ha establecido la propiedad Label, este valor aparece en la lista desplegable de valores disponibles.

=CStr(Parameters! <ParameterName>.Value)

Devuelve el valor del parámetro como una cadena.

=Fields(Parameters!<ParameterName>.Value).Value

Devuelve el valor del campo que tiene el mismo nombre que el parámetro.

Establecer un filtro mediante un parámetro de un solo valor

Los filtros se establecen en la ficha Filtro de las páginas de propiedades de los conjuntos de datos, las regiones de datos o las agrupaciones de datos. Las expresiones de filtro se definen al especificar valores en la cuadrícula de filtro de la ficha Filtro. La tabla siguiente representa la cuadrícula de filtro. En el ejemplo siguiente se da por supuesto que los valores de Fields!EmployeeID.Value y Parameters!EmployeeID.Value son del mismo tipo de datos.

Expresión (Filtro) Operador Valor Y/O

= Fields!<FieldName>.Value

Cualquier operador que compara un valor con otro. Por ejemplo:

=

>=

<

=Parameters!<ParameterName>.Value

Valor predefinido que se habilita cuando se especifica más de una expresión.

Parámetros de varios valores

En la tabla siguiente se muestran ejemplos de uso de un parámetro de varios valores en una expresión.

Usar un parámetro de varios valores en una expresión

Las expresiones se pueden utilizar en cualquier lugar de una propiedad de elemento de informe o de cuadro de texto que proporcione la opción (Fx) o <Expresión>.

Ejemplo Descripción

=Parameters!<MultivalueParameterName>.IsMultiValue

Devuelve True o False.

Comprueba si un parámetro es de varios valores. Si el valor es True, el parámetro es de varios valores y es una colección de objetos. Si el valor es False, el parámetro es de un solo valor y es un solo objeto.

=Parameters!<MultivalueParameterName>.Count

Devuelve un valor entero.

Consulte el número de valores. Para un parámetro de un solo valor, el recuento es siempre 1. Para un parámetro de varios valores, el recuento es 0 o más.

=Parameters!<MultivalueParameterName>.Value(0)

Devuelve el primer valor de un parámetro de varios valores.

=Parameters!<MultivalueParameterName>.Value(Parameters!<MultivalueParameterName>.Count-1)

Devuelve el último valor de un parámetro de varios valores.

=Split("Value1,Value2,Value3",",")

Devuelve una matriz de valores.

Cree una matriz de valores para un parámetro de varios valores del tipo String. Puede utilizar cualquier delimitador del segundo parámetro para Split. Esta expresión puede utilizarse para establecer valores predeterminados para un parámetro de varios valores o para crear un parámetro de varios valores que se enviará a un informe integrado o de obtención de detalles.

=Join(Parameters!<MultivalueParameterName>.Value,", ")

Devuelve una cadena formada por una lista de valores delimitada por comas en un parámetro de varios valores. Puede utilizar cualquier delimitador del segundo parámetro para Join.

Establecer un filtro mediante un parámetro de varios valores

Los filtros se establecen en la ficha Filtro de las páginas de propiedades de los conjuntos de datos, las regiones de datos o las agrupaciones de datos. En el ejemplo siguiente se da por supuesto que los valores de Fields!EmployeeID.Value y Parameters!EmployeeID.Value son del mismo tipo de datos. Los parámetros de varios valores sólo pueden aparecer en la columna Valor.

Expresión Operador Valor Y/O

= Fields!<FieldName>.Value

Operador que prueba la inclusión del conjunto. La única opción disponible es IN

=Parameters!<MultivalueParameterName>.Value

Valor predefinido que se establece cuando se especifica más de una expresión.

Ejemplos de parámetros de referencia de código personalizado

Se puede hacer referencia a la colección global Parameters mediante código personalizado en un bloque de código de la definición de informe o en un ensamblado personalizado proporcionado por el usuario. La colección Parameters es de sólo lectura y no tiene iteradores públicos. No se puede utilizar una construcción For Each de Visual Basic para recorrer la colección. Debe conocer el nombre de un parámetro definido en una definición de informe para poder hacer referencia al mismo en el código. No obstante, puede repetir todos los valores de un parámetro de varios valores. Para obtener más información, vea Usar referencias de código personalizado en expresiones (Reporting Services).

Descripción Referencia en expresión Definición de código personalizado

Pasa la totalidad de la colección global Parameters al código personalizado. Esta función devuelve el valor de un parámetro de informe MyParameter determinado.

=Code.DisplayAParameterValue(Parameters)

Public Function DisplayAParameterValue(

ByVal parameters as Parameters) as Object

Return parameters("MyParameter").Value

End Function

Pasa un parámetro individual al código personalizado. Este ejemplo devuelve el valor del parámetro pasado. Si se trata de un parámetro de varios valores, la cadena devuelta es una concatenación de todos los valores.

=Code.ShowParametersValues(Parameters!DayOfTheWeek)

Public Function ShowParameterValues(ByVal parameter as Parameter)
 as String
   Dim s as String 
   If parameter.IsMultiValue then
      s = "Multivalue: " 
      For i as integer = 0 to parameter.Count-1
         s = s + CStr(parameter.Value(i)) + " " 
      Next
   Else
      s = "Single value: " + CStr(parameter.Value)
   End If
   Return s
End Function

Vea también

Tareas

Cómo agregar, editar o eliminar un parámetro de informe (Diseñador de informes)

Referencia

Ejemplos de expresiones en Reporting Services

Conceptos

Usar parámetros de uno y varios valores

Otros recursos

Using Custom Assemblies with Reports
Tutorial: Agregar parámetros a un informe tabular básico
Tutorial: Características avanzadas mediante el uso de parámetros

Ayuda e información

Obtener ayuda sobre SQL Server 2005