<< Back

Alteryx Macro Series: macro di batch

—————————————————–

ALTERYX MACRO SERIES:

MACRO STANDARD

MACRO DI BATCH senza Group By

MACRO DI BATCH Group By

MACRO ITERATIVE: numero iterazioni

MACRO ITERATIVE: clausola until

—————————————————–

 

Che cos’è una macro di batch?

Una batch macro non è altro che un workflow racchiuso in un singolo tool che effettua una certa operazione con una clausola FOR EACH, per ogni… per ogni cosa? Per ogni riga di database o per gruppi di linee.

A cosa serve una batch macro?

Il principale utilizzo delle match macro è quello di creare dei loop che eseguono una certa opearazione, abbinando riga per riga (o gruppi di righe per gruppi di righe) finché le righe non finiscono e che potranno essere trascinati nell’area di lavoro sotto forma di singolo tool.

Come si costruisce una macro di batch?

Una macro di batch è un insieme di tool classici (Input, output, data preparation…) con l’aggiunta almeno di un Interface Tool che si chiama Parameter Control. E, a differenza dalle macro standard, sono costruite in funzione dell’operazione che vogliamo effettuare in batch.

Ad esempio, vogliamo calcolare una serie di percentili dei nostri dati: 10°, 20°, 30°, 40°, 50°, 60°, 70°, 80°, 90°, 100° percentile.

Sappiamo che il percentile è un’operazione che si trova nel Summarize Tool:

decimo percentile

Abbiamo calcolato il 10° percentile. E adesso vogliamo calcolare anche tutti gli altri? Dobbiamo inserire nel workflow altri 9 Summarize Tool, calcolare in modo separato tutti i percentili e poi andare a rimettere i dati insieme in un’unica tabella?

Volendo sì, ma in realtà possiamo semplificarci la vita con una batch macro che svolga tutto il lavoro tramite un solo Summarize Tool e ci restituisca i valori appesi uno sotto l’altro con una union.

Creiamo una tabellina che riporti tutti i percentili che vogliamo calcolare:

tabella lookup

Quindi vogliamo che la nostra macro in un primo “giro” (batch) inserisca per noi nel summarize tool 10, nel secondo batch inserisca 20, nel terzo 30, ecc, ecc, ecc…

Come facciamo a dire al Summarzie Tool che deve prendere, una alla volta, tutte le righe della tabellina?

Con il Prameter Control. Il Parameter Control tool è lo strumento che prende i valori, una riga alla volta, e li inserisce nelle configurazioni del Summarize al posto nostro.

Interface: Parameter tool

Copiamo i primi 3 tool e incolliamoli in un nuovo foglio di lavoro, che diventerà la nostra macro. E trasciniamo nell’area di lavoro il parametro che si trova nella tab “Interface”:

Il tool non ha alcuna configurazione. Dobbiamo solo scegliere un’etichetta di testo.

Ora connettiamo la Q sotto al Parameter Control con il lampo che sta sopra al Summarize. Apparirà automaticamente anche un Action Tool:

.

Se entriamo nelle configurazioni dell’Action Tool potremo impostare l’azione affinché ciò che passa, batch dopo batch, nel Parameter Control vada a sostituire ciò che abbiamo attualmente impostato, ossia il valore del 10%:

ATTENZIONE però! Noi nella nostra tabellina abbiamo impostato 10, 20, 30, 40…. ma il Summarize Tool utilizza il valore diviso per 100. Anziché scegliere “Update Value (Default)”, scegliamo “Update Value with Formula” e dividiamo per 100 il valore #1 del parameter control:

Tonumber(#1)/100

Ora non ci resta che inserire e connettere un Macro Output tool alla fine del nostro workflow e cliccare col destro sull’Input tool e scegliere di convertirlo direttamente in un Macro Input. Poi potremo salvare la nostra macro.

Ora torniamo al nostro workflow iniziale e inseriamo la macro appena salvata. Clic col tasto destro su un punto bianco del canvas e poi scegliamo “Insert…” e poi scegliamo l’ultima voce, “Macro” e andiamo a caricare la macro da dove l’abbiamo precedentemente salvata.

Come noterete, la macro ha un classico connettore in basso, che è quello che accetterà il nostro database. E poi anche un connettore con un punto di domanda rovesciato.

Questo è il connettore del Parameter Control, dovremo connettere a questo connettore l’elenco con i percentili che vogliamo calcolare.

Il Select e il Summarize Tool li abbiamo già inseriti nella macro, quindi li possiamo cancellare.

Andiamo nella tab “Questions” delle configurazioni della macro e scegliamo la colonna che contiene l’elenco dei percentili.

Ignoriamo completamente per il momento l’altra tab, quella del Group by, e clicchiamo su RUN per mandare in esecuzione il nostro workflow.

E voilà! La macro eccola qua!

Scarica il workflow d’esempio: LINK

 

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.