Salta al contenuto principale

Excel: Ricavare lo stato spedizione più aggiornato per ogni cliente

In questo tutorial vediamo un'applicazione delle Power Query

Premessa

Abbiamo un file con i seguenti dati.

Dati per la power query con data unica

Notiamo che innanzitutto il file è di tipo CSV.

Le informazioni contenute sono:

  • ID_Cliente - identificativo del cliente in ordine crescente
  • Data_ordine - Data in cui è stato fatto l'ordine. Lo stesso cliente può aver fatto più ordini.
  • Stato - Stato dell'ordine che può essere: ricevuto, in preparazione, spedito

Il file contiene 20.000 ordini.

Obiettivo

Ricavare per ogni cliente l'ultimo ordine e lo stato.

ES per il cliente 9495: la data più recente è 02/06/2020 con lo stato ricevuto

Risoluzione

Per ottenere il nostro obiettivo utilizziamo le Power Query di Excel.

Cominciamo importare il file CSV importandolo in Excel.

Andiamo su Dati > Recupera Dati > Da File > Da testo/CSV

Power Query importare foglio CSV

 

Selezioniamo il file CVS, verifichiamo che i dati siano letti correttamente e facciamo click su Importa.

Power Query importare foglio CSV. Verifica

Excel ci mostra un'anteprima dei dati, mostrandoci un'anteprima come verranno importati.

Importante qui fare click su Trasforma Dati in modo da procedere con la Power Query

Power Query importare foglio CSV. Trasformazione dei dati

A questo punto si apre la finestra dell'Editor di Power Query.

Nel terzo passaggio, la colonna Data_ordine è stata riconosciuta di tipo data

Power Query Editor

Facciamo click sul pulsante Raggruppa per.

Indichiamo di raggruppare per ID_cliente. Creiamo così una nuova colonna Data_ultima che conterrà il valore più alto (massimo) della Data_ordine. In questo modo otteniamo, per ogni cliente, l'ordine più recente.

Power Query Raggruppare per colonne

Diamo un nome alla Query cliente_data_ultima e andiamo a salvare facendo click su Chiudi e carica > Chiudi e carica in...

Power Query - Salvataggio della Query

Selezioniamo Crea solo connessione e diamo OK

Power Query - Creazione della Connessione

Nella colonna di destra compare la nostra connessione cliente_data_ultima

Power Query - Finestra delle connessioni

Se andiamo con il mouse sopra la connessione appare un'anteprima dei risultati. come si può vedere manca la colonna dello status.

Power Query - Anteprima della connessione

Per ottenere questo dato occorre lavorare con un'altra connessione.

Possiamo duplicare quella che abbiamo già creato facendo click sopra con il tasto destro e scegliendo "duplica"

Power Query - Duplicazione di una connessione

Diamo il nome cliente_data_stato alla connessione ed eliminiamo l'ultimo passaggio Raggruppate righe

Power Query - duplicare query

In questo modo ritorniamo ad avere i dati come nel foglio CSV.

Possiamo salvare questa connessione sempre con Chiudi e carica > Chiudi e carica in... > Solo connessione

Power Query - Salvataggio nuova query

È ora il momento di unire le due query.

Power Query - Finestra delle query

Facciamo click con il tasto destru sulla prima connessione cliente_data_ultima e scegliamo Unione

Power Query - Unione Query

Scegliamo la seconda query cliente_data_stato nell'elenco a tendina.

Facciamo click su entrambi i campi ID_Cliente delle due tabelle in modo da collegarle.

Per prendere anche lo stato corretto, occorre collegare anche i campi Data_ordine, tenendo premuto il tasto MAIUSC e facendo click su entrambi i campi. Come si può notare compaiono i numeri 1 e 2 ad indicare l'ordine con cui vengono collegati i campi in entrambe le tabelle.

 

Power Query

Terminiamo con OK

Si apre la finestra dell'editor e come possiamo notare, la terza colonna non visualizza i dati ma la parola Table. Diamo intanto il nome alla query cliente_data_ultima_stato

Power Query - Unione tabelle

Facciamo click sul simbolo Power Query - espandi colonne nella terza colonna.

Selezioniamo solo il campo Stato e spegniamo Usa il nome della colonna originale come prefisso

Power Query - Espandere una colonna

A questo punto abbiamo anche la colonna Stato con lo stato relativo al cliente e all'ultima data di ordine

Power Query - Unione query

Questa volta salviamo anche il risultato della connessione con Chiudi e carica > Chiudi e carica in...

Power Query - Creazione della tabella

Indichiamo di mettere il risultato in una tabella

Power Query - Creazione della tabella

Otteniamo infine un nuovo foglio di Excel con i nostri dati in un oggetto Tabella cliente_data_ultima_stato

Power Query - Creazione della tabella con i risultati

Note

Se i dati nel foglio CSV cambiano, occorrerà riaggiornare i risultati di Excel andando nel menù Dati > Aggiorna tutti

Power Query - Aggiornare tutti i dati

 

In allegato il file CSV