Funzioni Generatore di report - Funzione CERCA in un report impaginato (Generatore di report)

Si applica a: Generatore di report Microsoft (SSRS) Power BI Report Builder Progettazione report in SQL Server Data Tools

Cerca restituisce il set di valori corrispondenti per il nome specificato da un set di dati contenente coppie nome/valore in un report impaginato.

Nota

È possibile creare e modificare file di definizioni di report impaginati (con estensione rdl) in Generatore report di Microsoft, Power BI Report Builder e Progettazione report di SQL Server Data Tools.

Sintassi

Lookup(source_expression, destination_expression, result_expression, dataset)  

Parametri

Parametro Definizione
source_expression (Variant) Espressione che valuta nell'ambito corrente e che specifica il nome o la chiave da ricercare. Ad esempio: =Fields!ProdID.Value.
destination_expression (Variant) Espressione che valuta per ogni riga in un set di dati e specifica il nome o la chiave con cui stabilire la corrispondenza. Ad esempio: =Fields!ProductID.Value.
result_expression (Variant) Espressione che valuta per la riga nel set di dati in cui source_expression = destination_expression, e che specifica il valore da recuperare. Ad esempio: =Fields!ProductName.Value.
set di dati Costante che specifica il nome di un set di dati nel report, "Products" può essere un esempio di set di dati usato.

Restituzione

Ricerca restituisce una Variante, oppure Niente se non viene rilevata alcuna corrispondenza.

Osservazioni:

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. Ad esempio, per un campo ID in una tabella è possibile usare Ricerca per recuperare il campo Nomecorrispondente da un set di dati non associato all'area dati.

Tramite la funzioneLookup 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 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, usare Funzione di Report Builder - Funzione LookupSet in un report impaginato (Generatore report). Per chiamare Ricerca per un set di valori, usare Funzioni Generatore report - Funzione Multilookup in un report impaginato (Generatore report).

Si applicano le seguenti restrizioni:

  • La funzioneLookup 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 funzioneRicerca 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à Lingua del report.

Per altre informazioni, vedere Funzioni di Report Builder - Riferimento a funzioni di aggregazione in report impaginati (Generatore report) e Ambito di espressioni per totali, aggregazioni e raccolte predefinite in report impaginati (Generatore report).

Esempio

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. Un set di dati separato denominato "Prodotto" contiene l'ID dell'identificatore del prodotto e il Nome del nome del prodotto corrispondenti.

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.

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