<< Back

Deselezionare colonne vuote in Alteryx

Domanda che arriva direttamente da un utente Alteryx, e che quindi può essere un problema comune a molti:

“Estraggo dati da un database che mi restituisce molte colonne vuote, ma le colonne vuote non sempre sono le stesse come titolo, né nella stessa posizione. Ogni volta cambiano in modo random. Esiste un modo per deselezionare le colonne vuote in modo dinamico?”

Sì.

Ci sono almeno 3 modi diversi per effettuare queste due operazioni. Vi mostrerò di seguito le 2 più semplici e veloci.

Abbiamo una tabella con delle colonne vuote. Oggi sono la colonna “Title”, “NameStyle” e “Address Line 2”. Domani potrebbe essere la colonna “MiddleName”. Se vogliamo costruire un workflow che funzioni sempre in futuro, dobbiamo trovare un modo per riconoscere in automatico le colonne vuote.

Metodo 1: Autofield + Dynamic Select

Premessa: questo metodo, molto quick e molto smart, funziona solo se abbiamo a che fare con stringhe di testo e se tra le colonne non ci sono delle colonne booleane (vero/falso) che ci servono.

Se non è il tuo caso, passa direttamente al metodo 2!

L’Autofield è un tool che si trova nella tab Preparation che va proprio a leggere cosa c’è scritto in qualsiasi colonna di testo, lo analizza e imposta automaticamente il data type e la dimensione più appropriata (ndr: la più piccola possibile in relazione alle prestazioni e alla velocità di esecuzione).

Una colonna completamente vuota (tutte le righe sono valori Null) è completamente inutile (si suppone). Quindi Alteryx tenderà a dargli il data type più piccolo possibile, ossia il booleano:

L’Autofield non necessita di alcuna configurazione. Basta selezionare quali colonne vogliamo far convertire in modo automatico e mandare in esecuzione.

Ora che l’Autofield ha convertito in booleano tutte le colonne vuote, possiamo usare un Dynamic Select per selezionare tutte le colonne, tranne quelle booleane:

Metodo 2: Summary + Dynamic rename + Dynamic Select

Come già accennato prima, il metodo 1 va bene solo se abbiamo come input delle stringhe di testo (altrimenti l’autofield non le vede e non le converte) e se tra le colonne utili che vogliamo tenere non abbiamo delle colonne booleane, che altrimenti verrebbero deselezionate.

Possiamo ottenere lo stesso risultato dinamico partendo con un Field Summary Tool, che si trova nella tab Data Investigation (colore verde acqua) che analizza le colonne e ci fa un riepilogo (summary) di ciò che contengono:

Per l’uso che dobbiamo farne noi del tool (che in realtà si presta maggiormente per lo studio delle variabili per le analisi predittive), basterà selezionare le colonne che vogliamo studiare e andare a vedere nella colonna “Percent Missing” quali colonne hanno un valore del 100%. Queste saranno le colonne vuote che vogliamo deselzionare.

Il passaggio successivo sarà quella di creare una sorta di tabellina lookup per sfruttare una funzionalità del Dynamic rename che permette di fare un cerca e sostiuisci:

Utilizziamo un Formula Tool per creare una nuova colonna “Custom rename” usando un IF statement:

IF [Percent Missing]=100 then “Del_” else [Name] endif

Se la percentuale di missing è 100, allora scrivi “Del_” (o qualsiasi stringa di testo abbia senso per noi e non possa confondersi con altri titoli di colonne) altrimenti scrivi quello che trovi scritto nella colonna Name.

Poi utilizziamo un Select per tenere solo la colonna Name e Custom rename.

Ecco la nostra tabellina lookup:

Ora possiamo usare il Dynamic rename per far cercare ad Alteryx un valore della colonna Name e andare a rinominare la relativa colonna con il valore che trova nella colonna Custom rename:

Il risultato sarà una serie di colonne che si chiamano “Del_n progrssivo”:

Ora possiamo usare il Dynamic Select per selezionare tutte le colonne che NON cominciano per “Del_”:

not Startswith([Name], “Del_”):

Come potete notare, delle 12 colonne iniziali, ne sono rimaste solo 9!

Scarica il workbook d’esempio.

Sei arrivato a questo articolo perché cercavi un metodo per deselezionare colonne vuote in modo semplice, ma non hai mai usato Alteryx? Scarica la versione di prova del software, apri il mio workbook d’esempio e prova a dare come input i tuoi dati… te ne innamorerai!

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.