Condividi tramite


Funzione Lookup (Generatore report e SSRS)

Viene restituito il primo valore corrispondente per il nome specificato da un set di dati contenente coppie nome/valore.

[!NOTA]

È possibile creare e modificare definizioni del report (con estensione rdl) in Generatore report e in Progettazione report di SQL Server Data Tools. Ogni ambiente di creazione offre modalità differenti per creare, aprire e salvare report ed elementi correlati. Per ulteriori informazioni, vedere Progettazione di report tramite Progettazione report e Generatore report (SSRS) nel Web all'indirizzo microsoft.com.

Sintassi

Lookup(source_expression, destination_expression, result_expression, dataset)

Parametri

  • source_expression
    (Variant) Espressione valutata nell'ambito corrente che specifica il nome o la chiave da ricercare, ad esempio =Fields!ProdID.Value.

  • destination_expression
    (Variant) Espressione valutata per ogni riga in un set di dati che specifica il nome o la chiave con cui eseguire la corrispondenza, ad esempio =Fields!ProductID.Value.

  • result_expression
    (Variant) Espressione valutata per la riga nel set di dati in cui source_expression = destination_expression che specifica il valore da recuperare, ad esempio =Fields!ProductName.Value.

  • dataset
    Costante che specifica il nome di un set di dati nel report, ad esempio, "Prodotti".

Return

Restituisce Variant o Nothing se non viene rilevata alcuna corrispondenza.

Osservazioni

Utilizzare la funzione Lookup per recuperare il valore dal set di dati specificato per una coppia nome/valore in cui esiste una relazione uno-a-uno. Ad esempio per un campo ID in una tabella, è possibile utilizzare la funzione Lookup per recuperare il campo Name corrispondente da un set di dati non associato all'area dati.

Tramite la funzione Lookup vengono effettuate le operazioni seguenti:

  • Valuta l'espressione di origine nell'ambito corrente.

  • 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.

  • Nella prima corrispondenza di espressione di origine ed espressione di destinazione, valuta l'espressione di risultato per quella riga nel set di dati.

  • Restituisce il valore dell'espressione di risultato.

Per recuperare più valori per un solo nome o un campo chiave in cui esiste una relazione uno-a-molti, utilizzare Funzione LookupSet (Generatore report e SSRS). Per chiamare Lookup per un set di valori, utilizzare Funzione Multilookup (Generatore report e SSRS).

Sono previste le restrizioni seguenti:

  • La funzione Lookup viene valutata dopo l'applicazione di tutte le espressioni di filtro.

  • È supportato solo un livello di ricerca. Un'espressione di origine, destinazione o risultato non può includere un riferimento a una funzione di ricerca.

  • Le espressioni di origine e di destinazione devono restituire lo stesso tipo di dati. Il tipo restituito è lo stesso del tipo di dati dell'espressione di risultato valutata.

  • Le espressioni di origine, di destinazione e di risultato non possono includere riferimenti a variabili di report o di gruppo.

  • La funzione Lookup non può essere utilizzata come espressione per gli elementi del report seguenti:

    • Stringhe di connessione dinamiche per un'origine dati.

    • Campi calcolati in un set di dati.

    • Parametri di query in un set di dati.

    • Filtri in un set di dati.

    • Parametri di report.

    • Proprietà Report.Language.

Per ulteriori 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).

Esempio

Nell'esempio seguente, si supponga che una tabella sia associata a un set di dati in cui è incluso un campo per l'identificatore del prodotto ProductID. In un set di dati separato denominato "Prodotto" è contenuto l'ID dell'identificatore del prodotto e il Name del nome del prodotto corrispondenti.

Nell'espressione seguente, tramite la funzione Lookup il valore di ProductID viene confrontato con l'ID in ogni riga del set di dati denominato "Prodotto" e, quando viene rilevata una corrispondenza, viene restituito il valore del campo Name per quella riga.

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

Vedere anche

Riferimento

Esempi di espressioni (Generatore report e SSRS)

Concetti

Utilizzo delle espressioni nei report (Generatore report e SSRS)

Tipi di dati nelle espressioni (Generatore report e SSRS)

Ambito di espressioni per totali, aggregazioni e raccolte predefinite (Generatore report e SSRS)