Buongiorno a tutti,
da un programma software per la preventivazione dei cicli/costi di lavorazione di assiemi meccanici ho la possibilità di estrarre su excel i dati, appunto, di tempo/costo lavorazione. Purtroppo i dati sono esposti in maniera, a mio parere, discutibile, o comunque "da trattare" per poter essere utilizzabili. In particolare un foglio, i cui dati sono quelli di mio interesse, riporta nelle prime colonne i codici dei vari componenti e altri dati ad essi relativi e nelle successive dati di tempo e costo divisi per macchina. A seconda delle macchine che vengono utilizzate o meno per lavorare quell'insieme di codici, mi ritrovo con più o meno colonne. Problema ulteriore, le macchine sono indicate nella riga "sopra" con un merge delle colonne dei vari dati ad esse afferenti.
Quello che vorrei è fare l'unpivot della tabella e per quello ho visto che si può fare "unpivot altre colonne" e così risolvo il problema delle colonne in numero variabile. Ho però bisogno di avere un campo con il nome macchina, in modo che i vari dati (tempo lavorazione, tempi accessori...) che si ripetono per le varie macchine, siano "contestualizzati" per ciascuna macchina.
L'ho scritto malissimo, ma allego file esempio, con due soli codici (con lavorazioni differenti), con foglio originale estratto dal software di preventivazione (input) e quello che poi vorrei ottenere io (output)
Grazie per un eventuale aiuto
Alessandro
Unpivot tabella con colonne variabili e colonne unite L’argomento è risolto
Moderatore: Utilizzo_prof_Excel
-
- Messaggi: 160 | Topic creati
- Iscritto il: sab 24 ott 2020, 23:04
- Luogo: Treviso
- Ringraziato: 11 volte
Unpivot tabella con colonne variabili e colonne unite
- Allegati
-
- Esempio.xlsx
- (22.77 KiB) Scaricato 21 volte
-
- Messaggi: 890 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:03
- Luogo: San Giovanni in Persiceto (BO)
- Ringraziato: 325 volte
- Contatta:
Unpivot tabella con colonne variabili e colonne unite
Ciao, prova questa query, dopo aver trasformato in tabella (con intestazioni) il tuo intervallo:
Codice: Seleziona tutto
// OutputPQ
let
Origine = Excel.CurrentWorkbook(){[Name="Tabella2"]}[Content],
#"Intestazioni abbassate di livello" = Table.DemoteHeaders(Origine),
#"Trasposta colonna" = Table.Transpose(#"Intestazioni abbassate di livello"),
#"Aggiunta colonna personalizzata" = Table.AddColumn(#"Trasposta colonna", "Macchina", each if Text.StartsWith([Column1], "Colonna") then null else [Column1]),
#"Ricopiato in basso" = Table.FillDown(#"Aggiunta colonna personalizzata",{"Macchina"}),
#"Inserita colonna combinata" = Table.AddColumn(#"Ricopiato in basso", "Sottoposto a merge", each Text.Combine({[Macchina], [Column2]}, "|"), type text),
#"Rimosse colonne" = Table.RemoveColumns(#"Inserita colonna combinata",{"Column1", "Column2", "Macchina"}),
#"Riordinate colonne" = Table.ReorderColumns(#"Rimosse colonne",{"Sottoposto a merge", "Column3", "Column4"}),
#"Trasposta colonna1" = Table.Transpose(#"Riordinate colonne"),
#"Intestazioni alzate di livello" = Table.PromoteHeaders(#"Trasposta colonna1", [PromoteAllScalars=true]),
#"Trasformate altre colonne tramite UnPivot" = Table.UnpivotOtherColumns(#"Intestazioni alzate di livello", {"LIVELLO", "TIPO", "CODICE", "QUANTITÀ ELEMENTO", "QUANTITÀ LOTTO REALE", "VALUTA", "UNITÀ DI MISURA TEMPO"}, "Attributo", "Valore"),
#"Suddividi colonna in base al delimitatore" = Table.SplitColumn(#"Trasformate altre colonne tramite UnPivot", "Attributo", Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv), {"Attributo.1", "Attributo.2"}),
#"Modificato tipo" = Table.TransformColumnTypes(#"Suddividi colonna in base al delimitatore",{{"Attributo.1", type text}, {"Attributo.2", type text}, {"QUANTITÀ ELEMENTO", type number}, {"QUANTITÀ LOTTO REALE", type number}, {"LIVELLO", type text}, {"TIPO", type text}, {"CODICE", type text}, {"VALUTA", type text}, {"UNITÀ DI MISURA TEMPO", type text}, {"Valore", type text}})
in
#"Modificato tipo"
- Allegati
-
- UnpivotPQ.xlsx
- (33.99 KiB) Scaricato 20 volte
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
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 - Messaggi: 160 | Topic creati
- Iscritto il: sab 24 ott 2020, 23:04
- Luogo: Treviso
- Ringraziato: 11 volte
Unpivot tabella con colonne variabili e colonne unite
Buongiorno Enrico Galli ,
grazie mille! Comincio a volervi bene, a voi, qua dentro! Quando ieri sera ho visto che avevi risposto, fremevo per arrivare in ufficio stamattina a provare (anche se ero certo funzionasse!)
Poi con il mio collega abbiamo convenuto di fare pivot degli "attributi.2" e relativi valori (tempi/costi), ma lì mi sono veramente arrangiato.
Grazie mille! Così ho anche imparato qualche trucchetto nuovo per trattare situazioni simili. Non avevo ben presente come utilizzare la trasposizione.
Buon weekend!
Alessandro
grazie mille! Comincio a volervi bene, a voi, qua dentro! Quando ieri sera ho visto che avevi risposto, fremevo per arrivare in ufficio stamattina a provare (anche se ero certo funzionasse!)
Poi con il mio collega abbiamo convenuto di fare pivot degli "attributi.2" e relativi valori (tempi/costi), ma lì mi sono veramente arrangiato.
Grazie mille! Così ho anche imparato qualche trucchetto nuovo per trattare situazioni simili. Non avevo ben presente come utilizzare la trasposizione.
Buon weekend!
Alessandro
-
Autore del topic - Messaggi: 160 | Topic creati
- Iscritto il: sab 24 ott 2020, 23:04
- Luogo: Treviso
- Ringraziato: 11 volte
Unpivot tabella con colonne variabili e colonne unite
Enrico Galli , Ah dimenticavo, siccome ho file con magari 50-100-150 codici, può essere un problema per PQ quando fa la trasposta avere tutte queste colonne?
Ri buon weekend!
A.
Ri buon weekend!
A.
-
- Messaggi: 890 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:03
- Luogo: San Giovanni in Persiceto (BO)
- Ringraziato: 325 volte
- Contatta:
Unpivot tabella con colonne variabili e colonne unite
No no, nessun problema (se non qualche secondo in più di attesa!)
Buon weekend anche a te!
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
Link utili: I nostri tutorial | Come inserire: Immagini - Codice - Risolto
Se il forum ti è stato utile, considera di supportarlo con una libera donazione