Insights / Blog

Il tool Text to Columns di Alteryx

Il tool Text to Columns di Alteryx permette di dividere il contenuto di una stringa di testo a ogni singola occorrenza di uno o più caratteri, detti caratteri delimitatori, in colonne o righe separate.

Configurazione

text to columns2

  1. Field to split: è la colonna che contiene le stringhe di testo che vogliamo splittare
  2. Delimiters: è il box in cui specificare i caratteri delimitatori. Si può scrivere qualsiasi carattere digitabile sulla tastiera (lettere, numeri, punteggiatura) più i caratteri speciali \s, \t, \n che corrispondono a spazio, tab e a capo.
  3. Split to columns e # of columns oppure Split to rows: possiamo scegliere se creare delle nuove colonne (e anche quante crearne) oppure nuove righe.

Esempio split to columns e split to rows

Supponiamo di avere delle stringhe di testo così composte:

28100 Novara NO Via Cavour 28

È abbastanza semplice stabilire già solo guardando le stringhe, che se facessimo uno split to column sullo spazio, ci verrebbero create 6 colonne:

Immagine

Il tool ha creato 6 colonne, che hanno come titolo Stringa1, Stringa2, Stringa3, StringaN, dove N rappresenta via via il numero di colonna creata. Di default nel campo “Output Root Name” viene messo lo stesso titolo della colonna originale che andiamo a splittare. Se vogliamo, possiamo cambiare titolo.

Ma se avessimo delle stringhe talmente lunghe che stare a contare quante colonne verrebbero sarebbe più complicato che altro? Non sarebbe forse più comodo splittarle in righe e poi riportarle in colonna con un Cross Tab Tool?

Oppure se stessimo facendo lo split di numeri che successivamente vanno sommati con un Summarize? Non sarebbe più comodo averli già tutti in riga, uno sotto l’altro, già pronti per essere processati dal Summarize Tool?

Ci basterà selezionare “Split to Rows”:

Immagine2

Le stringhe di testo sono state separate nella colonna orignale (perdiamo le stringhe originali) e avremo ogni singola parte in una nuova riga. Oltre alle stringhe originali, viene perso anche il riferimento al record originario, motivo per cui (se si tratta di un’informazione necessaria) bisogna crearsi un ID di riga univoco che ci permetta di capire quali nuove righe facevano parte del primo record, quali del secondo, quali del terzo, e così via…

Extra columns

Cosa succede se faccio uno split in colonne e sbaglio a impostare il numero di nuove colonne da creare?

Se imposto un numero di colonne maggiore rispetto al necessario, ad esempio 8, non succede nulla di “grave”. Mi ritroverò 2 colonne che contengono tutti valori nulli.

Se invece imposto un numero di colonne minore rispetto al necessario, ad esempio 3, abbiamo quattro scenari differenti:

Error: verrà mostrato un messaggio d’errore (quindi l’esecuzione del workflow non va a buon fine, non viene restituito nessun risultato) che ci avvisa che la stringa splittata sullo spazio ci crea 6 sottostringhe, che non entrano in 3 colonne. Sono troppe:

error

Drop extra with warning: verrà mostrato un messaggio di warning (l’esecuzione del workflow va a buon fine) che ci avvisa che la stringa splittata sullo spazio crea 6 sottostringhe, ma noi abbiamo impostato 3 colonne, quindi quelle 3 colonne me le fa vedere, quello che avanza viene troncato:

warning

Drop extra without warning: come sopra, ma non ci verrà restituito alcun messaggio di warning. Supponiamo di voler splittare la stringa, ma che ci servano solo le informazioni su CAP, città e provincia. Anziché farmi creare 6 colonne e poi deselezionare le altre 3 che non mi servono con un Select Tool, posso utilizzare questa opzione, senza farci restituire nessun warning, perché tanto sappiamo esattamente cosa stiamo facendo.

Leave Extra in Last Field: il tool andrà a creare il numero di colonne da noi specificato e tutto quello che avanza, resterà attaccato all’ultima colonna, non verrà splittato. Supponiamo di voler fare uno split sullo spazio, ma solo su CAP, città e provincia. L’indirizzo vorremmo che restasse tutto assieme. Questa è l’opzione adatta. Impostiamo 4 colonne: la 1a per il CAP, la 2a per la città, la 3a per la provincia e la 4a per la parola “Via” + tutto quello che avanza:

leave

Blog
banking analytics

Banking analytics? Il solo modo per prendere decisioni informate

L’evoluzione del settore bancario passa dai banking analytics. Gli istituti finanziari ogni giorno gestiscono migliaia...

Blog
Databricks vs Snowflake

Databricks vs Snowflake: pro e contro delle piattaforme

Snowflake e Databricks sono leader tra le piattaforme cloud. Si tratta di servizi di Data...