Compartir a través de


Funciones del Generador de informes: función Lookup 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

Lookup devuelve el primer valor coincidente para el nombre especificado de un conjunto de datos que contiene pares nombre/valor en un informe paginado.

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.

Sintaxis

Lookup(source_expression, destination_expression, result_expression, dataset)  

Parámetros

Parámetro Definición
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 va a recuperar. Por ejemplo, =Fields!ProductName.Value.
conjunto de datos Una constante que especifica el nombre de un conjunto de datos del informe. "Productos" puede ser un ejemplo de un conjunto de datos que se usa.

Return

Lookup devuelve un valor Variant, o devuelve Nothing si no hay coincidencias.

Comentarios

Use Lookup para recuperar el valor del conjunto de datos especificado correspondiente a un par de nombre y valor donde hay una relación de uno a uno. Por ejemplo, para un campo ID en una tabla, 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 de clave donde hay una relación de uno a varios, use Funciones de Report Builder: función LookupSet en un informe paginado (Report Builder). Para llamar a Lookup para un conjunto de valores, use la Funciones de Report Builder: función Multilookup en un informe paginado (Report Builder).

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

  • Se evalúaLookup 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 obtener más información, consulte la Funciones de Report Builder: referencia de funciones de agregado (Report Builder) y Ámbito de expresión para los totales, agregados y colecciones integradas en un informe paginado (Report Builder).

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 y el nombre de producto.

En la expresión siguiente, Lookup compara el valor de ProductID con el identificador 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")