Merge con criteri diversi 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

AntonioP
Messaggi: 79 | Topic creati
Iscritto il: gio 30 lug 2020, 13:18
Ringraziato: 10 volte
Contatta:

Merge con criteri diversi

Messaggio 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
Allegati
Merge Multiplo.xlsx
(22.32 KiB) Scaricato 18 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:

Merge con criteri diversi

Messaggio 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 :wave:
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

Autore del topic
AntonioP
Messaggi: 79 | Topic creati
Iscritto il: gio 30 lug 2020, 13:18
Ringraziato: 10 volte
Contatta:

Merge con criteri diversi

Messaggio da AntonioP »

Funziona meravigliosamente. Qui però siamo nel linguaggio M avanzato. Adesso il compito per me arduo è metterlo in produzione.
Grazie Enrico

Autore del topic
AntonioP
Messaggi: 79 | Topic creati
Iscritto il: gio 30 lug 2020, 13:18
Ringraziato: 10 volte
Contatta:

Merge con criteri diversi

Messaggio 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
Avatar utente

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

Merge con criteri diversi

Messaggio da Andrea90 »

AntonioP,

L'origine non influenza il calcolo.

Avrai commesso qualche errore di sintassi nell'implementare il codice M scritto da Enrico.

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

Autore del topic
AntonioP
Messaggi: 79 | Topic creati
Iscritto il: gio 30 lug 2020, 13:18
Ringraziato: 10 volte
Contatta:

Merge con criteri diversi

Messaggio 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
Allegati
Editor errore.docx
Screenshot
(150.57 KiB) Scaricato 12 volte

Autore del topic
AntonioP
Messaggi: 79 | Topic creati
Iscritto il: gio 30 lug 2020, 13:18
Ringraziato: 10 volte
Contatta:

Merge con criteri diversi

Messaggio da AntonioP »

Ciao Andrea90 ,
pardon ... c'era un each di troppo.
Ho risolto.

Grazie mille
Avatar utente

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

Merge con criteri diversi

Messaggio da Andrea90 »

AntonioP,

Se hai risolto, segna la discussione come tale.

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
Rispondi