Ultimo intervento di sostituzione sul campo

Non è propriamente un programma di BI, ma nelle sue versioni più recenti anche Excel può fare grandi cose!

Moderatore: Utilizzo_prof_Excel

Rispondi

AlessandroCardinali
Messaggi: 7 | Topic creati
Iscritto il: ven 10 set 2021, 14:29

Ultimo intervento di sostituzione sul campo

Messaggio da AlessandroCardinali »

Buongiorno a tutti, sono nuovo a questo forum e vi prego di perdonarmi se sto aprendo un nuovo argomento in modo improprio.

Ho un problema da risolvere e non so come fare, ma pensavo di risolverlo scrivendo del codice nell'ambiente di query ma ripeto, non so come. In breve, ci sono dei prodotti sul mercato dove sono stati fatti degli interventi utilizzando delle parti di ricambio, ogni intervento è stato fatto ad una certa data. Il mio file excel ( in allegato ) è strutturato cosi (foglio2):

Nella colonna A ci sono i nomi dei “prodotti padre”
Nella colonna B sono riportati i ricambi utilizzati nell'intervento sui “prodotti padre”
Nella colonna C sono riportate le date dell'intervento

In mente avevo di utilizzare l’ambiente Power Query per visualizzare, per ogni parte di ricambio (colonna B ) solo l’ultimo intervento fatto (colonna C) e il nome del prodotto padre su cui l’intervento è stato fatto (colonna A). Credo sia necessario scrivere del codice, ma non so come fare ( ho guardato qualche tutorial..ma non sono riuscito a trovare qualcosa di utile ).

Un esempio di quello che mi servirebbe ottenere come risultato è riportato nelle colonne H,I,J (sempre foglio2)

Considerate che il file excel riporta solo un esempio, in realtà sono + di 100.000 le righe del file originale.

Grazie in anticipo,
Ditemi pure se devo reindirizzare il post su un altra area del forum (#Utilizzo_prof_Excel)
Allegati
Ultimo intervento sul campo.xlsx
(24.87 KiB) Scaricato 10 volte


Avatar utente

Andrea90
Messaggi: 2187 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 665 volte
Contatta:

Ultimo intervento di sostituzione sul campo

Messaggio da Andrea90 »

Ciao AlessandroCardinali,

Non mi è chiaro il risultato che vuoi ottenere. Filtrando la tabella di output per il componente "AUTO AIR VENT" vedo queste due righe:

Immagine

Quindi da come avevi impostato la discussione sembrava che tu volessi la lista dei singoli pezzi di ricambio, con l'ultima data disponibile, ed il prodotto padre in cui era stato utilizzato. Dunque mi sarei aspettato di vedere solo una riga per ciascun componente, in questo caso la seconda visto che è stato usato quasi un anno dopo il primo.

A presto,
Andrea
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link
Avatar utente

Utilizzo_prof_Excel
Messaggi: 27 | Topic creati
Iscritto il: gio 16 lug 2020, 10:55
Luogo: Torino
Ringraziato: 16 volte
Contatta:

Ultimo intervento di sostituzione sul campo

Messaggio da Utilizzo_prof_Excel »

Penso che la soluzione sia quella proposta nella seconda query di questo allegato.
In buona sostanza, ordini, poi raggruppi (sia massimo di data dia tutte le righe)
E poi estrai il prodotto padre della prima riga con la funzione List.First

Codice: Seleziona tutto

let
    Origine = Excel.CurrentWorkbook(){[Name="Tabella1"]}[Content],
    #"Modificato tipo" = Table.TransformColumnTypes(Origine,{{"Product Type", type text}, {"Intervention with spare part", type text}, {"Intervention date", type date}}),
    #"Ordinate righe" = Table.Sort(#"Modificato tipo",{{"Intervention date", Order.Descending}}),
    #"Raggruppate righe" = Table.Group(#"Ordinate righe", {"Intervention with spare part"}, {{"Ultima data", each List.Max([Intervention date]), type nullable date}, {"Dati", each _, type table [Product Type=nullable text, Intervention with spare part=nullable text, Intervention date=nullable date]}}),
    #"Aggiunta colonna personalizzata" = Table.AddColumn(#"Raggruppate righe", "Prodotto padre", each List.First([Dati][Product Type]))
in
    #"Aggiunta colonna personalizzata"
Allegati
Copia di Test.xlsx
(25.15 KiB) Scaricato 7 volte
Avatar utente

Alieno86
Messaggi: 47 | Topic creati
Iscritto il: mer 9 giu 2021, 16:36
Ringraziato: 5 volte

Ultimo intervento di sostituzione sul campo

Messaggio da Alieno86 »

Buonasera,
a parer mio il risultato ricercato può essere ottenuto con una pivot o con una power pivot a seconda delle modalità d'aggiornamento dei dati.

allego un file dove la prima soluzione è una semplice pivot con risultato max di data intervento in formato data, e la seconda una Ppivot con una misura che restituisce lo stesso risultato.

Codice: Seleziona tutto

=MAXX(Tabella1;[Intervention date])
Allegati
Ultimo intervento sul campo1.xlsx
(126.94 KiB) Scaricato 9 volte

Autore del topic
AlessandroCardinali
Messaggi: 7 | Topic creati
Iscritto il: ven 10 set 2021, 14:29

Ultimo intervento di sostituzione sul campo

Messaggio da AlessandroCardinali »

Esattamente! grazie per il supporto!
Avatar utente

Alieno86
Messaggi: 47 | Topic creati
Iscritto il: mer 9 giu 2021, 16:36
Ringraziato: 5 volte

Ultimo intervento di sostituzione sul campo

Messaggio da Alieno86 »

AlessandroCardinali ha scritto: lun 13 set 2021, 8:57 Esattamente! grazie per il supporto!
Si ma quale soluzione?

Autore del topic
AlessandroCardinali
Messaggi: 7 | Topic creati
Iscritto il: ven 10 set 2021, 14:29

Ultimo intervento di sostituzione sul campo

Messaggio da AlessandroCardinali »

Mi riferisco a quella ricevuta su questo forum da "Utilizzo_Prof_Excel" di domenica 12 settembre, ore 14:38
Rispondi