Buonasera,
cerco una soluzione per risolvere il seguente problema.
Ho una colonna composta dalla concatenazione di vari codici dimensione.
Facendo il "Dividi Colonna in base al delimitatore", mi ritrovo i codici corrispondenti diverse dimensioni sotto la stessa colonna.
Vorrei che il risultato fosse quello riportato nella tabella che ho creato manualmente!
Qualcuno saprebbe aiutarmi o indicarmi una possibile soluzione.
grazie a tutti.
Stringa Concatenata
Moderatore: Utilizzo_prof_Excel
-
- Messaggi: 30 | Topic creati
- Iscritto il: mar 11 ago 2020, 14:21
- Ringraziato: 1 volta
-
- Messaggi: 2193 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:41
- Luogo: Bologna
- Ringraziato: 666 volte
- Contatta:
Stringa Concatenata
Ciao domemarti93,
Non ho compreso come fai a sapere a priori sotto quale colonna andranno i vari campi a seguito dell'operazione di splitbydelimiter (o meglio quale logica utilizzare per l'assegnazione).
Andrea
Non ho compreso come fai a sapere a priori sotto quale colonna andranno i vari campi a seguito dell'operazione di splitbydelimiter (o meglio quale logica utilizzare per l'assegnazione).
Andrea
-
Autore del topic - Messaggi: 30 | Topic creati
- Iscritto il: mar 11 ago 2020, 14:21
- Ringraziato: 1 volta
Stringa Concatenata
Ogni codice dimensione può assumere dei valori predefiniti. Ad esempio d01 può essere 01d1, 02d2 e così via per le altre dimensioni.
-
- Messaggi: 2193 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:41
- Luogo: Bologna
- Ringraziato: 666 volte
- Contatta:
Stringa Concatenata
Ciao domemarti93 ,
Ti giro un esempio di come intendo io per logica di funzionamento.
Il codice utilizzato è il seguente:
Nell'esempio che ti ho girato la logica per assegnare la colonna è fornita dal numero finale di ciascun valore presente nelle celle a seguito dell'operazione di split.
Andrea
Ti giro un esempio di come intendo io per logica di funzionamento.
Il codice utilizzato è il seguente:
Codice: Seleziona tutto
let
Origine = Excel.CurrentWorkbook(){[Name="Tabella1"]}[Content],
#"Modificato tipo" = Table.TransformColumnTypes(Origine,{{"Stringa", type text}}),
#"Aggiunta colonna indice" = Table.AddIndexColumn(#"Modificato tipo", "Indice", 1, 1, Int64.Type),
#"Suddividi colonna in base al delimitatore" = Table.ExpandListColumn(Table.TransformColumns(#"Aggiunta colonna indice", {{"Stringa", Splitter.SplitTextByDelimiter("-", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Stringa"),
#"Modificato tipo1" = Table.TransformColumnTypes(#"Suddividi colonna in base al delimitatore",{{"Stringa", type text}}),
#"Testo inserito dopo il delimitatore" = Table.AddColumn(#"Modificato tipo1", "Column", each Text.AfterDelimiter([Stringa], "d"), type text),
#"Prefisso aggiunto" = Table.TransformColumns(#"Testo inserito dopo il delimitatore", {{"Column", each "col_" & _, type text}}),
#"Ordinate righe" = Table.Sort(#"Prefisso aggiunto",{{"Column", Order.Ascending}}),
#"Colonna trasformata tramite Pivot" = Table.Pivot(#"Ordinate righe", List.Distinct(#"Ordinate righe"[Column]), "Column", "Stringa")
in
#"Colonna trasformata tramite Pivot"
Andrea
- Allegati
-
- TestSplit.xlsx
- (18.3 KiB) Scaricato 19 volte
-
Autore del topic - Messaggi: 30 | Topic creati
- Iscritto il: mar 11 ago 2020, 14:21
- Ringraziato: 1 volta
Stringa Concatenata
Buongiorno,
è possibile inserire un indice quando viene fatto il testsplit sulle righe?
Allego esempio del risultato che vorrei ottenere.
Grazie!
è possibile inserire un indice quando viene fatto il testsplit sulle righe?
Allego esempio del risultato che vorrei ottenere.
Grazie!
- Allegati
-
- TestSplit.xlsx
- (22.24 KiB) Scaricato 12 volte
-
- Messaggi: 2193 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:41
- Luogo: Bologna
- Ringraziato: 666 volte
- Contatta:
Stringa Concatenata
Ciao domemarti93,
Ti consiglio di aprire una nuova discussione quando hai nuove richieste, a beneficio degli altri utenti che visitano il forum.
Così da riuscire ad avere discussioni separate per ciascun problema.
Per la tua richiesta:
A presto,
Andrea
Ti consiglio di aprire una nuova discussione quando hai nuove richieste, a beneficio degli altri utenti che visitano il forum.
Così da riuscire ad avere discussioni separate per ciascun problema.
Per la tua richiesta:
Codice: Seleziona tutto
let
Origine = Excel.CurrentWorkbook(){[Name="Tabella1"]}[Content],
#"Modificato tipo" = Table.TransformColumnTypes(Origine,{{"Stringa", type text}}),
#"Aggiunta colonna indice" = Table.AddIndexColumn(#"Modificato tipo", "Indice", 1, 1),
#"Riordinate colonne" = Table.ReorderColumns(#"Aggiunta colonna indice",{"Indice", "Stringa"}),
#"Suddividi colonna in base al delimitatore" = Table.ExpandListColumn(Table.TransformColumns(#"Riordinate colonne", {{"Stringa", Splitter.SplitTextByDelimiter("-", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Stringa"),
#"Raggruppate righe" = Table.Group(#"Suddividi colonna in base al delimitatore", {"Indice"}, {{"TempTable", each Table.AddIndexColumn(_, "Indice2",1,1), type table [Indice=number, Stringa=nullable text]}}),
#"Rimosse colonne" = Table.RemoveColumns(#"Raggruppate righe",{"Indice"}),
#"Tabella TempTable espansa" = Table.ExpandTableColumn(#"Rimosse colonne", "TempTable", {"Indice", "Stringa", "Indice2"}, {"Indice", "Stringa", "Indice2"}),
#"Modificato tipo1" = Table.TransformColumnTypes(#"Tabella TempTable espansa",{{"Indice2", type number}})
in
#"Modificato tipo1"
Andrea