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.
Abbiamo già visto nell’ultimo articolo come utilizzare il tool per connettersi a tante tab che si trovano nello stesso file excel. Immaginiamo ora di avere una cartella con dentro tanti file csv, uno per ogni combinazione anno/mese, che potrebbero tranquillamente essere appesi uno sotto l’altro per formare un’unica tabella.
Il Dynamic Input ci permetterà di connetterci a tutti i file csv contenuti nella cartella 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 tutti i file che stanno nella stessa cartella e li appende uno sotto l’altro. Sarà quindi necessario specificare:
- una stringa di connessione che conterrà degli elementi fissi (il nome del file excel) e degli elementi dinamici (i nomi delle tab)
- 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 tanti file
Partiamo da una cartella che contiene tanti file csv, uno per ogni combinazione anno/mese. I file sono identici come struttura, sono semplicemente salvati in file separati e in cartelle separate. I 12 csv del 2014 si trovano tutti nella cartella 2014, quelli del 2015 nella cartella 2015…. mentre quelli del 2017 sono nella root principale in quanto la cartella 2017 verrà creata solo a fine anno:
La stringa di connessione al primo di questi csv è:
C:\Users\feder\Desktop\Nuova cartella\2014\2014 01.csv
La stringa di connessione all’ultimo di questi csv è:
C:\Users\feder\Desktop\Nuova cartella\2017 08.csv
A differenza del caso delle tab excel, dove potevamo individuare una parte fissa e una dinamica del percorso, in questo caso ogni singolo file csv ha il suo intero percorso (path) che differisce rispetto al percorso dagli altri.
Dovremo quindi procurarci un elenco dei percorsi dei file csv, di modo che Alteryx possa andare ad aprire uno dopo l’altro i differenti percorsi in modo sequenziale:
C:\Users\feder\Desktop\Nuova cartella\2014\2014 01.csv
C:\Users\feder\Desktop\Nuova cartella\2015\2015 01.csv
C:\Users\feder\Desktop\Nuova cartella\2016\2016 01.csv
C:\Users\feder\Desktop\Nuova cartella\2017 01.csv
Questo elenco dei nomi delle tab ce lo fornisce il Directory Tool che ci crea un elenco di tutti i file contenuti in una determinata cartella ed eventualmente nelle sottocartelle:
Ci basterà specificare la cartella per la quale vogliamo l’elenco dei file contenuti e, se necessario, forzare un determinato formato (nel nostro esempio .csv) per evitare di far finire nell’elenco eventuali file di sistema nascosti (.ini) e se necessario, spuntare l’opzione per andare alla ricerca di file presenti in eventuali sottocartelle. Il risultato sarà questo:
La colonna che interessa a noi è quella che si chiama “Full Path” che riporta l’intero percorso di ogni singolo file.
Connettiamo ora al Directory Tool il Dynamic Input che si trova nella TAB DEVELOPER:
Nel primo box dovremo andare a specificare uno dei csv che farà da modello/template. Clicchiamo su “Edit…” e apriamo il primo file. La finestra che si presenta è uguale e identica a quella di un normale input tool:
Abbiamo dichiarato qual è la stringa di connessione (C:\Users\feder\Desktop\Nuova cartella\2017 01.csv) e com’è la struttura delle colonne.
Ora passiamo alla parte sottostante. Dobbiamo scegliere la colonna che contiene l’elenco dei percorsi dei nostri file e l’azione da compiere:
Nel menù a tendina “Field” andiamo a selezionare la colonna Full Path.
Nel menù a tendina “Action” impostiamo che il tool debba cambiare l’intero percorso (Change Entire File Path) dichiarato con il template con quello che trova scritto nella colonna Full Path.
Se mandiamo in esecuzione il workflow (CRTL+R), nella finestra di log potremo controllare che cosa il tool è riuscito ad aprire:
[button URL=”https://pages.alteryx.com/free-trial.html?partner_lead_src=WebsiteFreeTrial&partner_id=A209452&crp=A209452″]Download Alteryx[/button] [button URL=”https://www.theinformationlab.it/newsletter-2/”]Iscriviti alla newsletter[/button]