Función Lookup

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

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) Una 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 recuperará. Por ejemplo, =Fields!ProductName.Value.

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

Devolución

Devuelve Variant o Nothing si no hay ninguna coincidencia.

Notas

Use Lookup para recuperar el valor del conjunto de datos especificado correspondiente a un par de 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 realiza las operaciones siguientes:

  • 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 clave donde hay una relación de uno a varios, use Función LookupSet. Para llamar a Lookup para un conjunto de valores, use Función Multilookup.

Se aplican las siguientes restricciones:

  • Se evalúa Lookup 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.

    • Propiedad Report.Language.

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")

Vea también

Referencia

Ejemplos de expresiones (Reporting Services)

Conceptos

Trabajar con tipos de datos en expresiones (Reporting Services)

Calcular totales y otros agregados (Reporting Services)

Usar las funciones de informe y de agregado integradas en expresiones (Reporting Services)