Pagina 1 di 1
Merge con criteri diversi
Inviato: lun 20 mar 2023, 15:11
da AntonioP
Ciao,
ho due tabelle da mettere in merge: 'Fatti' e 'Condizioni'. Devo riportare con un merge sulla tabella 'Fatti' il valore del campo 'Valore' della tabella 'Condizioni'.
Per alcuni prodotti la condizione di merge è vera se rispetta 2 criteri (Forn+Cat Sconto), per altri solo Forn in quanto lo sconto è valido per tutte le categorie prodotto.
Si può fare?
In allegato un semplice file di esempio con il risultato aspettato ed il merge che non funziona correttamente.
Grazie mille in anticipo
Merge con criteri diversi
Inviato: lun 20 mar 2023, 15:58
da Enrico Galli
Ciao, la mia soluzione sarebbe questa :
Codice: Seleziona tutto
let
Origine = Excel.CurrentWorkbook(){[Name="Fatti"]}[Content],
#"Modificato tipo" = Table.TransformColumnTypes(Origine,{{"Cod. Art.", Int64.Type}, {"Categoria", type text}, {"Fornitore", type text}, {"Acquisto", Int64.Type}}),
#"Aggiunta colonna personalizzata" = Table.AddColumn(#"Modificato tipo", "Join", (x) => Table.SelectColumns(Table.SelectRows(Condizioni, each [Forn] = x[Fornitore] and ([Cat Sconto] = x[Categoria] or [Cat Sconto] = "Tutto")), "Sconto")),
#"Tabella Join espansa" = Table.ExpandTableColumn(#"Aggiunta colonna personalizzata", "Join", {"Sconto"}, {"Sconto"})
in
#"Tabella Join espansa"
Praticamente, anziché utilizzare il merge classico, ho creato una colonna personalizzata in cui sono andato a inserire la colonna "Sconto" della tabella Condizioni, filtrata per uguaglianza del Fornitore e (uguaglianza della Categoria o Categoria = "Tutto"). Poi ho espanso la tabella
Merge con criteri diversi
Inviato: lun 20 mar 2023, 16:16
da AntonioP
Funziona meravigliosamente. Qui però siamo nel linguaggio M avanzato. Adesso il compito per me arduo è metterlo in produzione.
Grazie Enrico
Merge con criteri diversi
Inviato: mar 21 mar 2023, 10:19
da AntonioP
Ciao Enrico, la messa in produzione mi sta creando problemi che non so gestire. La nuova colonna Join restituisce il valore 'Fuction' anzichè 'Table'.
Secondo te da cosa può dipendere? Tieni conto che la mia tabella 'Fatti' ha come origine un database sql server. Può influenzare?
Grazie
Merge con criteri diversi
Inviato: mar 21 mar 2023, 10:22
da Andrea90
AntonioP,
L'origine non influenza il calcolo.
Avrai commesso qualche errore di sintassi nell'implementare il codice M scritto da Enrico.
Andrea
Merge con criteri diversi
Inviato: mer 22 mar 2023, 16:55
da AntonioP
Ciao @Andrea90, controllato e ricontrollato, ma non ne esco.
Ho rinominato le colonne con delle lettere per semplificare il codice M.
In allegato degli screenshot.
Spero riusciate ad aiutarmi.
Grazie
Merge con criteri diversi
Inviato: mer 22 mar 2023, 17:00
da AntonioP
Ciao
Andrea90 ,
pardon ... c'era un each di troppo.
Ho risolto.
Grazie mille
Merge con criteri diversi
Inviato: gio 23 mar 2023, 7:39
da Andrea90
AntonioP,
Se hai risolto, segna la discussione come tale.
Andrea