Compartir a través de


Función Lookup (Generador de informes y SSRS)

Devuelve el primer valor coincidente para el nombre especificado de un conjunto de datos que contiene pares nombre/valor.

Nota:

Puede crear y modificar las definiciones de informe (.rdl) en el Generador de informes y en el Diseñador de informes en SQL Server Data Tools. Cada entorno de creación proporciona varias maneras de crear, abrir y guardar informes y elementos relacionados. Para obtener más información, vea Diseño de informes en Diseñador de informes y Report Builder (SSRS) en la Web en microsoft.com.

Sintaxis

  
Lookup(source_expression, destination_expression, result_expression, dataset)  

Parámetros

source_expression
(Variant) Una expresión que se evalúa en el ámbito actual y que especifica el nombre o la clave que se buscará. Por ejemplo, =Fields!ProdID.Value.

destination_expression
(Variant) Una expresión que se evalúa para cada fila de un conjunto de datos y que especifica el nombre o la clave que se hará coincidir. Por ejemplo, =Fields!ProductID.Value.

result_expression
(Variant) Expresión que se evalúa para la fila del conjunto de datos donde source_expression = destination_expression y que especifica el valor que se va a recuperar. Por ejemplo, =Fields!ProductName.Value.

conjunto de datos
Una constante que especifica el nombre de un conjunto de datos del informe. Por ejemplo, "Productos".

Valor devuelto

Devuelve Variant o Nothing si no hay ninguna coincidencia.

Observaciones

Use Lookup para recuperar el valor del conjunto de datos especificado correspondiente a un par nombre/valor donde hay una relación de uno a uno. Por ejemplo, para un campo de identificador, puede usar Lookup para recuperar el campo Name correspondiente de un conjunto de datos que no está enlazado a la región de datos.

Lookup hace lo siguiente:

  • Evalúa la expresión de origen en el ámbito actual.

  • Evalúa la expresión de destino para cada fila del conjunto de datos especificado una vez aplicados los filtros, según la intercalación del conjunto de datos especificado.

  • En la primera coincidencia de las expresiones de origen y de destino, evalúa la expresión de resultado para dicha fila del conjunto de datos.

  • Devuelve el valor de la expresión de resultado.

Para recuperar varios valores para un único nombre o campo de clave donde hay una relación de uno a varios, use la función LookupSet (Generador de informes y SSRS). Para llamar Lookup a un conjunto de valores, use la función Multilookup (Report Builder y SSRS).

Se aplican las restricciones que se indican a continuación:

  • Lookup se evalúa después de aplicar todas las expresiones de filtro.

  • Solo se admite un nivel de búsqueda. Un origen, un destino o una expresión de resultado no pueden incluir una referencia a una función de búsqueda.

  • Las expresiones de origen y de destino deben dar el mismo tipo de datos. El tipo de devolución es el mismo que el tipo de datos de la expresión de resultado evaluada.

  • Las expresiones de origen, destino y resultado no pueden incluir referencias a variables de informe o de grupo.

  • Lookup no se puede usar como una expresión para los siguientes elementos de informe:

    • Cadenas de conexión dinámicas para un origen de datos.

    • Campos calculados de un conjunto de datos.

    • Parámetros de consulta de un conjunto de datos.

    • Filtros de un conjunto de datos.

    • Parámetros de informe.

    • La propiedad Report.Language.

Para más información, consulte Funciones del generador de informes - referencia de funciones de agregado (Generador de informes y SSRS) y Ámbito de expresión para los totales, agregados y colecciones integradas (Generador de informes y SSRS).

Ejemplo

En el ejemplo siguiente, se supone que una tabla está enlazada a un conjunto de datos que incluye un campo para el identificador de producto ProductID. Un conjunto de datos independiente denominado "Product" contiene el identificador de producto, ID, y el nombre de producto, Name.

En la expresión siguiente, Lookup compara el valor de ProductID con ID en cada fila del conjunto de datos denominado "Product" y, cuando se encuentra una coincidencia, devuelve el valor del campo Name para dicha fila.

=Lookup(Fields!ProductID.Value, Fields!ID.Value, Fields!Name.Value, "Product")  

Consulte también

Usar expresiones en informes (Generador de informes y SSRS)
Ejemplos de expresiones (Generador de informes y SSRS)
Tipos de datos en expresiones (Generador de informes y SSRS)
Ámbito de expresión para los totales, agregados y colecciones integradas (Generador de informes y SSRS)