Listini fornitore e lotto di riordino L’argomento è risolto

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

Moderatore: Utilizzo_prof_Excel

Rispondi
Avatar utente

alex77
Messaggi: 160 | Topic creati
Iscritto il: sab 24 ott 2020, 23:04
Luogo: Treviso
Ringraziato: 11 volte

Listini fornitore e lotto di riordino

Messaggio da alex77 »

Buongiorno a tutti,
ho questo problema:
ho i listini fornitori datati, alcuni di questi sono a lotto (quindi multiriga). Per scegliere quale riga prendere uso come riferimento il lotto di riordino preso dall'anagrafica (dato non storicizzato).
I passaggi che faccio:
- seleziono le righe di listino con lotto inferiore o uguale a quello di riordino
- raggruppo le righe per fornitore, codice, data, calcolo il lotto massimo e conservo anche tutte le righe
- espando la tabella con tutte le righe e filtro quelle in cui lotto massimo e lotto corrispondono

tutto bene, solo che:
posso avere dei listini del passato (che comunque mi servono, per successive elaborazioni) che hanno solo lotti più alti dell'attuale lotto di riordino.
In quel caso avrei bisogno di prendere il lotto più basso (pur superiore al lotto riordino).
Qualcuno sa come aiutarmi? Allego file di esempio con tabella di input, tabella che ottengo adesso (nel file c'è anche il power query) e infine quello che vorrei ottenere.

Grazie per eventuali suggerimenti

Alessandro
Allegati
Cartel1.xlsx
(19.34 KiB) Scaricato 23 volte


Avatar utente

Enrico Galli
Messaggi: 890 | Topic creati
Iscritto il: dom 28 giu 2020, 19:03
Luogo: San Giovanni in Persiceto (BO)
Ringraziato: 325 volte
Contatta:

Listini fornitore e lotto di riordino

Messaggio da Enrico Galli »

Ciao, prova così:

Codice: Seleziona tutto

let
    Origine = Excel.CurrentWorkbook(){[Name="TblListino"]}[Content],
    #"Modificato tipo" = Table.TransformColumnTypes(Origine,{{"cdana", type text}, {"cdart", type text}, {"dtlis", type datetime}, {"lotto", Int64.Type}, {"prezn", type number}, {"Lotto Riordino", type number}}),
    #"Raggruppate righe" = Table.Group(#"Modificato tipo", {"cdana", "cdart", "dtlis"}, {{"minlt", each List.Min([lotto]), type nullable number}, {"ar", each _, type table [cdana=nullable text, cdart=nullable text, dtlis=nullable datetime, lotto=nullable number, prezn=nullable number, Lotto Riordino=nullable number]}}),
    #"Tabella ar espansa" = Table.ExpandTableColumn(#"Raggruppate righe", "ar", {"lotto", "prezn", "Lotto Riordino"}, {"lotto", "prezn", "Lotto Riordino"}),
    #"Filtrate righe" = Table.SelectRows(#"Tabella ar espansa", each ([lotto] <= [Lotto Riordino] or [lotto] = [minlt])),
    #"Rimosse colonne" = Table.RemoveColumns(#"Filtrate righe",{"minlt", "Lotto Riordino"})
in
    #"Rimosse colonne"
Enrico Galli
Link utili: I nostri tutorial | Come inserire: Immagini - Codice - Risolto
Se il forum ti è stato utile, considera di supportarlo con una libera donazione
Avatar utente

Autore del topic
alex77
Messaggi: 160 | Topic creati
Iscritto il: sab 24 ott 2020, 23:04
Luogo: Treviso
Ringraziato: 11 volte

Listini fornitore e lotto di riordino

Messaggio da alex77 »

Grazie Enrico Galli!
funziona perfettamente. Questa volta mi ero perso in un bicchiere d'acqua... non c'erano "grandi manovre" da fare.
Rispondi