<< Back

Alteryx Dynamic Input Tool e tab excel

Il Dynamic Input Tool di Alteryx permette di connettersi automaticamente a tante tabelle, che si trovano “nello stesso posto”, aventi la stessa struttura, utilizzando un singolo tool.

Immaginate di avere un file excel con tanti fogli di lavoro/tab, una per ogni regione del nostro business, che potrebbero tranquillamente essere appesi uno sotto l’altro per formare un’unica tabella.

Il Dynamic Input ci permette di connetterci a svariate tabelle utilizzando un unico tool.

Ma prima di partire con il tutorial vero e proprio è doveroso soffermarsi sui due punti cardinali su cui si basa questo tool, per capirne a pieno il funzionamento.

Il tool non fa nient’altro che andare ad aprire in modo sequenziale tutte le tab che stanno nello stesso excel e le appende una sotto l’altra. Sarà quindi necessario specificare:

  1. una stringa di connessione che conterrà degli elementi fissi (il nome del file excel) e degli elementi dinamici (i nomi delle tab)
  2. caricare un template, ossia una dei tanti fogli di lavoro/tab che vogliamo appendere, che farà da modello. Questo perché quello che succede al di sotto è una vera e propria UNION SQL, quindi dobbiamo sottostare alle regole del linguaggio SQL e tutte le tab che vogliamo aprire dovranno avere lo stesso numero di colonne, gli stessi titoli e lo stesso data type.

Dynamic Input e fogli di lavoro excel

Partiamo da un file excel che si chiama “Prova tab diverse.xlsx”, che contiene un foglio di lavoro per ogni regione del nostro business. Le tabelle sono identiche, sono semplicemente suddivise in tab diverse:

tab

La stringa di connessione a questo file excel è:

C:\Users\feder\Desktop\Nuova cartella\Prova tab diverse.xlsx

Nel momento in cui andiamo a connetterci ad uno di questi fogli, ad esempio quello chiamato “Central”, la stringa diventerà:

C:\Users\feder\Desktop\Nuova cartella\Prova tab diverse.xlsx|||Central

Il nome della tab è quello che si trova dopo i 3 pipe |||.

Se vogliamo aprire in modo sequenziale – uno dopo l’altro – tutte le tab, possiamo considerare la prima parte dell’indirizzo fissa e la seconda parte dinamica.

C:\Users\feder\Desktop\Nuova cartella\Prova tab diverse.xlsx|||Central
C:\Users\feder\Desktop\Nuova cartella\Prova tab diverse.xlsx|||North
C:\Users\feder\Desktop\Nuova cartella\Prova tab diverse.xlsx|||South

Dobbiamo quindi procurarci un elenco dei nomi delle tab, di modo che Alteryx possa fare una generica e sequenziale sostituzione del tipo:

C:\Users\feder\Desktop\Nuova cartella\Prova tab diverse.xlsx|||Elenco tab

Questo elenco dei nomi delle tab ce lo fornisce il classico Input Tool:

sheet name

Connettiamo ora all’Input Tool il Dynamic Input che si trova nella TAB DEVELOPER:

dynamic input

Nel primo box dovremo andare a specificare una delle tab che farà da modello/template. Clicchiamo su “Edit…” e apriamo la prima delle nostre tab. La finestra che si presenta è uguale e identica a quella di un normale input tool:

template

Abbiamo  dichiarato qual è la stringa di connessione (C:\Users\feder\Desktop\Nuova cartella\Prova tab diverse.xlsx|||Central) e com’è la struttura delle colonne.

Ora passiamo alla parte sottostante. Dobbiamo scegliere la colonna che contiene l’elenco delle nostre tab e l’azione da compiere:

Nel menù a tendina “Field” andiamo a  selezionare la lista di Sheet Names che ci siamo fatti creare dall’input tool.

Nel menù a tendina “Action” impostiamo  che il tool debba cambiare il “Table Name” (ossia quello che viene dopo i tre pipe |||) dichiarato con il template con quello che trova scritto nella colonna Sheet Names.

Se mandiamo in esecuzione il workflow (CRTL+R), nella finestra di log potremo controllare che cosa il tool è riuscito ad aprire:

Se una delle tab dovesse avere delle differenze nella struttura dei dati (una colonna con un tipo di dato diverso rispetto al template scelto) il tool restituirà un messaggio di errore e non sarà possibile continuare.

Download Alteryx      Iscriviti alla newsletter 

Federica Ferrarini

Trainer - Milano

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.