Ricerche nelle formule di PowerPivot

Nota:  Riteniamo importante fornire il contenuto della Guida più recente non appena possibile, nella lingua dell'utente. Questa pagina è stata tradotta automaticamente e potrebbe contenere errori di grammatica o imprecisioni. L'intento è quello di rendere fruibile il contenuto. Nella parte inferiore della pagina è possibile indicare se le informazioni sono risultate utili. Questo è l' articolo in lingua inglese per riferimento.

Una delle caratteristiche più potenti in PowerPivot è la possibilità di creare relazioni tra tabelle e di usare le tabelle correlate per cercare o filtrare i dati correlati. È possibile recuperare valori correlati da tabelle usando il linguaggio delle formule fornito con PowerPivot, cioè Data Analysis Expressions (DAX). In DAX viene usato un modello relazionale e pertanto è possibile recuperare facilmente e in modo accurato valori correlati o corrispondenti in un'altra tabella o colonna. Questa funzionalità di PowerPivot è simile alla funzione VLOOKUP di Excel, ma molto più semplice da implementare.

È possibile creare formule che eseguono ricerche come parte di una colonna calcolata o come parte di una misura per l'utilizzo in una tabella pivot o grafico pivot. Per ulteriori informazioni, vedere gli argomenti seguenti:

Campi calcolati in Power Pivot

Colonne calcolate in PowerPivot

In questa sezione vengono descritte le funzioni DAX fornite per la ricerca e vengono forniti alcuni esempi relativi all'utilizzo delle funzioni.

Nota: A seconda del tipo di operazione di ricerca o di formula di ricerca che si desidera utilizzare, potrebbe essere necessario prima creare una relazione tra le tabelle.

Informazioni sulle funzioni di ricerca

La possibilità di cercare dati corrispondenti o correlati di un'altra tabella è particolarmente utile nelle situazioni in cui nella tabella corrente è incluso solo un identificatore di qualche tipo, ma i dati necessari, ad esempio il prezzo del prodotto, il nome o altri valori dettagliati, sono archiviati in una tabella correlata. È inoltre utile quando vi sono più righe in un'altra tabella correlate alla riga o al valore corrente. Ad esempio, è possibile recuperare facilmente tutte le vendite associate a una particolare area, a un punto vendita o a un venditore.

A differenza delle funzioni di ricerca di Excel quali VLOOKUP, basate sulle matrici, o LOOKUP tramite cui viene ottenuto il primo di più valori corrispondenti, in DAX vengono seguite le relazioni esistenti tra le tabelle unite in base alle chiavi per ottenere il singolo valore correlato esattamente corrispondente. DAX consente inoltre di recuperare una tabella di record correlati al record corrente.

Nota: Se si ha familiarità con i database relazionali, è possibile pensare alle ricerche in PowerPivot come a un'istruzione di selezione secondaria annidata in Transact-SQL.

Recupero di un singolo valore correlato

Tramite la funzione RELATED viene restituito un solo valore di un'altra tabella correlata al valore corrente nella tabella corrente. Specificando la colonna in cui sono contenuti i dati desiderati, la funzione segue le relazioni esistenti tra tabelle per recuperare il valore dalla colonna specificata nella tabella correlata. In alcuni casi, la funzione deve seguire una catena di relazioni per recuperare i dati.

Si supponga, ad esempio, di disporre di un elenco delle spedizioni di oggi in Excel. Nell'elenco è contenuto tuttavia solo un numero di ID dipendente, un numero di ID ordine e un numero di ID spedizioniere, rendendo difficile la lettura del report. Per ottenere le informazioni aggiuntive che si desidera, è possibile convertire l'elenco in una tabella collegata di PowerPivot e quindi creare relazioni alle tabelle Dipendente e Rivenditore, abbinando EmployeeID al campo EmployeeKey e ResellerID al campo ResellerKey.

Per visualizzare le informazioni sulla ricerca nella tabella collegata, si aggiungono due nuove colonne calcolate, con le formule seguenti:

= RELATED('Employees'[EmployeeName])
= RELATED('Resellers'[CompanyName])

Spedizioni odierna prima della ricerca

IDOrdine

Campo ID dipendente

ResellerID

100314

230

445

100315

15

445

100316

76

108

Tabella dipendenti

Campo ID dipendente

Dipendente

Rivenditore

230

Kuppa Vamsi

Modular Cycle Systems

15

Pilar Ackeman

Modular Cycle Systems

76

Kim Ralls

Associated Bikes

Spedizioni odierna con ricerche

IDOrdine

Campo ID dipendente

ResellerID

Dipendente

Rivenditore

100314

230

445

Kuppa Vamsi

Modular Cycle Systems

100315

15

445

Pilar Ackeman

Modular Cycle Systems

100316

76

108

Kim Ralls

Associated Bikes

La funzione utilizza le relazioni tra la tabella collegata e la tabella dipendenti e dei rivenditori per ottenere il nome corretto per ogni riga nel report. È anche possibile utilizzare i valori correlati per i calcoli. Per ulteriori informazioni ed esempi, vedere Funzione correlata.

Recupero di un elenco di valori correlati

La funzione RELATEDTABLE segue una relazione esistente e viene restituita una tabella che contiene tutte le righe corrispondenti dalla tabella specificata. Si supponga ad esempio sapere quanti ordini ogni rivenditore posizionata anno corrente. È possibile creare una nuova colonna calcolata nella tabella dei rivenditori che include la seguente formula che cerca i record per ogni rivenditore descritti nella tabella ResellerSales_USD e conta il numero di singoli ordini per ogni rivenditore. Le tabelle seguenti includono fanno parte della cartella di lavoro di esempio DAX. Per ulteriori informazioni sui dati di esempio, vedere recuperare dati di esempio per esercitazioni su DAX e il modello di dati.

=COUNTROWS(RELATEDTABLE(ResellerSales_USD))

In questa formula tramite la funzione RELATEDTABLE viene innanzitutto ottenuto il valore ResellerKey per ogni rivenditore nella tabella corrente. Non è necessario specificare la colonna ID nella formula, in quanto PowerPivot usa la relazione esistente tra le tabelle. La funzione RELATEDTABLE ottiene quindi tutte le righe dalla tabella ResellerSales_USD correlata a ogni rivenditore e conta le righe. Se non esiste alcuna relazione (diretta o indiretta) tra le due tabelle, si otterranno tutte le righe dalla tabella ResellerSales_USD.

Per il rivenditore Modular Cycle Systems nel database di esempio, ci sono quattro ordini nella tabella delle vendite, pertanto la funzione restituisce il valore 4. Se per il rivenditore Associated Bikes non sono presenti vendite, pertanto la funzione restituisce un valore vuoto.

Rivenditore

Record nella tabella delle vendite per questo rivenditore

Modular Cycle Systems

Reseller ID

SalesOrderNumber

445

SO53494

445

SO71872

445

SO65233

445

SO59000

Reseller ID

SalesOrderNumber

Associated Bikes

Nota: Poiché la funzione RELATEDTABLE viene restituita una tabella, non un singolo valore, deve essere utilizzato come argomento di una funzione che consente di eseguire operazioni nelle tabelle. Per ulteriori informazioni, vedere Funzione RELATEDTABLE.

Torna all'inizio

Amplia le tue competenze su Office
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa al programma Office Insider

Queste informazioni sono risultate utili?

Grazie per il feedback!

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×