BUG Excel power Query espandi tabella

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

Moderatore: Utilizzo_prof_Excel

Avatar utente

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

BUG Excel power Query espandi tabella

Messaggio da Andrea90 »

Giaxx,

se le due tabelle non hanno chiavi in comune tra loro che cosa “inverte” visto che a seguito dell espansione delle tabelle del merge escono solo valori null?

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
Giaxx
Messaggi: 11 | Topic creati
Iscritto il: gio 16 giu 2022, 22:17

BUG Excel power Query espandi tabella

Messaggio da Giaxx »

Ciao Andrea,
Escono valori null ma se tu guardi la " data inizio fornitura" inverte i valori ovvero mette erroneamente indice 1 alla riga sbagliata. E corretto che non trovi corrispondenza ma l indice associata alla data deve rimanere tale. Ho messo la merge per far capire proprio che nell esplodere la tabella anche se restituisce nulla mi inverte cmq l ordine dell'indice.
Grazie mille
G.

Autore del topic
Giaxx
Messaggi: 11 | Topic creati
Iscritto il: gio 16 giu 2022, 22:17

BUG Excel power Query espandi tabella

Messaggio da Giaxx »

Giusto per completezza
l'indice 1 dovrebbe essere collegato all'inizio validità listino 01/07/2021. Se apri il file con il codice nel passaggio precedente è corretto. Successivamente quanto esplodo, al di la che non trova nessuna corrispondenza, mi inverte le righe.

Immagine

Autore del topic
Giaxx
Messaggi: 11 | Topic creati
Iscritto il: gio 16 giu 2022, 22:17

BUG Excel power Query espandi tabella

Messaggio da Giaxx »

C'e qualcuno che ha riscontrato un errore del genere nel tempo?
grazie.
Avatar utente

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

BUG Excel power Query espandi tabella

Messaggio da Andrea90 »

Giaxx,

Nel passaggio prima del merge della query “Cartella1”, aggiungi uno step dove fai il Table.Buffer(#”Modificato tipo1”)

Qualcosa di simile:

Codice: Seleziona tutto

let
    Origine = Folder.Files("C:\Users\casadei\Desktop\Test\Cartella 1"),
    #"File nascosti filtrati1" = Table.SelectRows(Origine, each [Attributes]?[Hidden]? <> true),
    #"Richiama funzione personalizzata1" = Table.AddColumn(#"File nascosti filtrati1", "Trasforma file (6)", each #"Trasforma file (6)"([Content])),
    #"Rinominate colonne1" = Table.RenameColumns(#"Richiama funzione personalizzata1", {"Name", "Source.Name"}),
    #"Rimosse altre colonne1" = Table.SelectColumns(#"Rinominate colonne1", {"Source.Name", "Trasforma file (6)"}),
    #"Espansa colonna table1" = Table.ExpandTableColumn(#"Rimosse altre colonne1", "Trasforma file (6)", Table.ColumnNames(#"Trasforma file (6)"(#"File di esempio (6)"))),
    #"Modificato tipo" = Table.TransformColumnTypes(#"Espansa colonna table1",{{"Source.Name", type text}, {"Ene POD", type text}, {"TIPOLOGIA", type any}, {"DATA ATT-SW", type any}, {"DISTRIBUTORE", type any}, {"UDD", type any}, {"CONTROPARTE COMMER", type any}, {"Prodotto", type any}, {"PMA_POD", type any}, {"Ene Energia Anno", type any}, {"Data stipula-INSER.RESELLER", type any}, {"Tipologia Prezzo", type text}, {"Tipologia OFFERTA", type text}, {"Listino Acquisto", type text}, {"Inizio validità Listino", type date}, {"Fine validità Listino", type date}}),
    #"Ordinate righe" = Table.Sort(#"Modificato tipo",{{"Inizio validità Listino", Order.Ascending}}),
    #"Raggruppate righe" = Table.Group(#"Ordinate righe", {"Ene POD"}, {{"Conteggio", each _, type table [Source.Name=nullable text, Ene POD=nullable text, TIPOLOGIA=any, #"DATA ATT-SW"=any, DISTRIBUTORE=any, UDD=any, CONTROPARTE COMMER=any, Prodotto=any, PMA_POD=any, Ene Energia Anno=any, #"Data stipula-INSER.RESELLER"=any, Tipologia Prezzo=nullable text, Tipologia OFFERTA=nullable text, Listino Acquisto=nullable text, Inizio validità Listino=nullable date, Fine validità Listino=nullable date]}}),
    #"Aggiunta colonna personalizzata" = Table.AddColumn(#"Raggruppate righe", "Personalizzato", each Table.AddIndexColumn([Conteggio], "Indice", 1, 1, Int64.Type)),
    #"Rimosse colonne" = Table.RemoveColumns(#"Aggiunta colonna personalizzata",{"Conteggio"}),
    #"Tabella Personalizzato espansa" = Table.ExpandTableColumn(#"Rimosse colonne", "Personalizzato", {"Inizio validità Listino", "Fine validità Listino", "Indice"}, {"Personalizzato.Inizio validità Listino", "Personalizzato.Fine validità Listino", "Personalizzato.Indice"}),
    #"Modificato tipo1" = Table.TransformColumnTypes(#"Tabella Personalizzato espansa",{{"Personalizzato.Inizio validità Listino", type date}, {"Personalizzato.Fine validità Listino", type date}, {"Personalizzato.Indice", Int64.Type}}),
    Buffer = Table.Buffer(#"Modificato tipo1"),
    #"Merge di query eseguito" = Table.NestedJoin(Buffer, {"Ene POD", "Personalizzato.Indice"}, #"Tabella 2", {"Trasforma file (2).COD_POD", "Personalizzato.Indice"}, "Tabella 2", JoinKind.LeftOuter),
    #"Tabella Tabella 2 espansa" = Table.ExpandTableColumn(#"Merge di query eseguito", "Tabella 2", {"Personalizzato.Trasforma file (2).DATA_FINE_FORNITURA"}, {"Tabella 2.Personalizzato.Trasforma file (2).DATA_FINE_FORNITURA"})
in
    #"Tabella Tabella 2 espansa"
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
Giaxx
Messaggi: 11 | Topic creati
Iscritto il: gio 16 giu 2022, 22:17

BUG Excel power Query espandi tabella

Messaggio da Giaxx »

Ciao Andrea,
Dai primi test sembra che funzioni. Siccome sono 50.000 righe domani ti saprò dire con certezza. Intanto ti ringrazio tantissimo per la tua dritta, super utilissima.
Ma in sostanza cosa fa quell istruzione che mi hai fatto mettere? Mette la tabella in un buffer ?ma in che modo? Giusto per capire.
Grazie ancora

Autore del topic
Giaxx
Messaggi: 11 | Topic creati
Iscritto il: gio 16 giu 2022, 22:17

BUG Excel power Query espandi tabella

Messaggio da Giaxx »

Avrei potuto usare anche Table.StopFolding per risparmiare qualcosa sui dati?
Thx
Avatar utente

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

BUG Excel power Query espandi tabella

Messaggio da Andrea90 »

Giaxx,

Se il tuo dataset è presente su excel allora lo stop folding non serve poiché excel non è una fonte dati su cui il query folding funziona (in parole povere powerquery non tradurrà i tuoi step in delle query native con cui interrogare la fonte dati).

Il table.buffer salva i tuoi dati in memoria, così che le operazioni successive che andrai ad eseguire su di essi, non saranno soggette a cambiamenti durante la valorizzazione.

Il metodo con cui il motore di PowerQuery cerca di caricare i dati è alquanto “oscuro”, oltre che “lazy”, pertanto non è detto che i passaggi che lui va realmente ad eseguire siano nello stesso ordine di quelli che tu hai inserito (visto che ciascuna query si suddivide in diversi steps).

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

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

BUG Excel power Query espandi tabella

Messaggio da Enrico Galli »

Andrea90 ha scritto: mar 21 giu 2022, 6:21 Il metodo con cui il motore di PowerQuery cerca di caricare i dati è alquanto “oscuro”, oltre che “lazy”, pertanto non è detto che i passaggi che lui va realmente ad eseguire siano nello stesso ordine di quelli che tu hai inserito (visto che ciascuna query si suddivide in diversi steps).
Personalmente, ritengo che questo sia il più grosso punto debole dello strumento. Ci saranno sicuramente delle motivazioni per cui funziona così, ma che l'utente non sappia esattamente cosa avviene e in che ordine, per uno strumento di ETL, è un problema a dir poco macroscopico, e che in nessun altro linguaggio di scripting, a mia conoscenza, avviene
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
Giaxx
Messaggi: 11 | Topic creati
Iscritto il: gio 16 giu 2022, 22:17

BUG Excel power Query espandi tabella

Messaggio da Giaxx »

grazie per la spiegazione ragazzi,

Senza andare troppo fuori tema avrei lo stesso problema se utlizzassi Power BI anziche power Q.?

grazie
Rispondi