Funzioni di Generatore report - funzione di ricercaReport Builder Functions - Lookup Function

Viene restituito il primo valore corrispondente per il nome specificato da un set di dati contenente coppie nome/valore.Returns the first matching value for the specified name from a dataset that contains name/value pairs.

Nota

È possibile creare e modificare file di definizioni report impaginati (con estensione rdl) in Generatore report e in Progettazione report di SQL Server Data Tools.You can create and modify paginated report definition (.rdl) files in Report Builder and in Report Designer in SQL Server Data Tools. Ogni ambiente di creazione offre modalità differenti per creare, aprire e salvare report ed elementi correlati.Each authoring environment provides different ways to create, open, and save reports and related items.

SintassiSyntax


Lookup(source_expression, destination_expression, result_expression, dataset)  

ParametriParameters

source_expressionsource_expression
(Variant) Espressione valutata nell'ambito corrente che specifica il nome o la chiave da ricercare.(Variant) An expression that is evaluated in the current scope and that specifies the name or key to look up. Ad esempio, =Fields!ProdID.Value.For example, =Fields!ProdID.Value.

destination_expressiondestination_expression
(Variant) Espressione valutata per ogni riga in un set di dati che specifica il nome o la chiave con cui stabilire la corrispondenza.(Variant) An expression that is evaluated for each row in a dataset and that specifies the name or key to match on. Ad esempio, =Fields!ProductID.Value.For example, =Fields!ProductID.Value.

result_expressionresult_expression
(Variant) Espressione valutata per la riga nel set di dati in cui source_expression = destination_expression, e che specifica il valore da recuperare.(Variant) An expression that is evaluated for the row in the dataset where source_expression = destination_expression, and that specifies the value to retrieve. Ad esempio, =Fields!ProductName.Value.For example, =Fields!ProductName.Value.

set di datidataset
Costante che specifica il nome di un set di dati nel report,A constant that specifies the name of a dataset in the report. ad esempio, "Prodotti".For example, "Products".

ReturnReturn

Restituisce Varianto Nothing se non viene rilevata alcuna corrispondenza.Returns a Variant, or Nothing if there is no match.

OsservazioniRemarks

Usare la funzione Ricerca per recuperare il valore dal set di dati specificato per una coppia nome-valore in cui esista una relazione uno-a-uno.Use Lookup to retrieve the value from the specified dataset for a name/value pair where there is a 1-to-1 relationship. Ad esempio, per un campo ID in una tabella è possibile usare Ricerca per recuperare il campo Nome corrispondente da un set di dati non associato all'area dati.For example, for an ID field in a table, you can use Lookup to retrieve the corresponding Name field from a dataset that is not bound to the data region.

Tramite la funzioneLookup vengono effettuate le operazioni seguenti:Lookup does the following:

  • Valuta l'espressione di origine nell'ambito corrente.Evaluates the source expression in the current scope.

  • Valuta l'espressione di destinazione per ogni riga del set di dati specificato dopo che sono stati applicati i filtri, in base alle regole di confronto del set di dati specificato.Evaluates the destination expression for each row of the specified dataset after filters have been applied, based on the collation of the specified dataset.

  • Nella prima corrispondenza di espressione di origine ed espressione di destinazione, valuta l'espressione di risultato per quella riga nel set di dati.On the first match of source expression and destination expression, evaluates the result expression for that row in the dataset.

  • Restituisce il valore dell'espressione di risultato.Returns the result expression value.

    Per recuperare più valori per un solo nome o un campo chiave in cui esiste una relazione uno-a-molti, usare Funzione LookupSet (Generatore report e SSRS).To retrieve multiple values for a single name or key field where there is a 1-to-many relationship, use LookupSet Function (Report Builder and SSRS). Per chiamare ricerca per un set di valori, utilizzare funzione Multilookup ( Generatore report e SSRS ) .To call Lookup for a set of values, use Multilookup Function (Report Builder and SSRS).

    Sono previste le restrizioni seguenti:The following restrictions apply:

  • La funzioneLookup viene valutata dopo l'applicazione di tutte le espressioni di filtro.Lookup is evaluated after all filter expressions are applied.

  • È supportato solo un livello di ricerca.Only one level of lookup is supported. Un'espressione di origine, destinazione o risultato non può includere un riferimento a una funzione di ricerca.A source, destination, or result expression cannot include a reference to a lookup function.

  • Le espressioni di origine e di destinazione devono restituire lo stesso tipo di dati.Source and destination expressions must evaluate to the same data type. Il tipo restituito è lo stesso del tipo di dati dell'espressione di risultato valutata.The return type is the same as the data type of the evaluated result expression.

  • Le espressioni di origine, di destinazione e di risultato non possono includere riferimenti a variabili di report o di gruppo.Source, destination, and result expressions cannot include references to report or group variables.

  • La funzioneLookup non può essere utilizzata come espressione per gli elementi del report seguenti:Lookup cannot be used as an expression for the following report items:

    • Stringhe di connessione dinamiche per un'origine dati.Dynamic connection strings for a data source.

    • Campi calcolati in un set di dati.Calculated fields in a dataset.

    • Parametri di query in un set di dati.Query parameters in a dataset.

    • Filtri in un set di dati.Filters in a dataset.

    • Parametri di report.Report parameters.

    • Proprietà Report.Language.The Report.Language property.

    Per altre informazioni, vedere Riferimento a funzioni di aggregazione (Generatore report e SSRS) e Ambito di espressioni per totali, aggregazioni e raccolte predefinite (Generatore report e SSRS).For more information, see Aggregate Functions Reference (Report Builder and SSRS) and Expression Scope for Totals, Aggregates, and Built-in Collections (Report Builder and SSRS).

EsempioExample

Nell'esempio seguente, si supponga che una tabella sia associata a un set di dati che include un campo per l'identificatore del prodotto ProductID.In the following example, assume that a table is bound to a dataset that includes a field for the product identifier ProductID. Un set di dati separato denominato "Prodotto" contiene l'ID dell'identificatore del prodotto e il Nome del nome del prodotto corrispondenti.A separate dataset called "Product" contains the corresponding product identifier ID and the product name Name.

Nell'espressione seguente, la funzione Ricerca confronta il valore di ProductID con l'ID in ogni riga del set di dati denominata "Prodotto" e, quando viene rilevata una corrispondenza, restituisce il valore del campo Nome per quella riga.In the following expression, Lookup compares the value of ProductID to ID in each row of the dataset called "Product" and, when a match is found, returns the value of the Name field for that row.

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

Vedere ancheSee Also

Utilizzo delle espressioni nei report ( Generatore report e SSRS ) Expression Uses in Reports (Report Builder and SSRS)
Esempi di espressioni ( Generatore report e SSRS ) Expression Examples (Report Builder and SSRS)
Tipi di dati in espressioni ( Generatore report e SSRS ) Data Types in Expressions (Report Builder and SSRS)
Ambito di espressioni per totali, aggregazioni e raccolte predefinite ( Generatore report e SSRS )Expression Scope for Totals, Aggregates, and Built-in Collections (Report Builder and SSRS)