Sappiamo bene che, a seconda del tipo di analisi che ci apprestiamo a fare, avere dei valori nulli o mancanti tra i nostri dati non è mai una buona idea. Vediamo come Alteryx possa aiutarci nel caso in cui volessimo sbarazzarci automaticamente di tutte le colonne che presentano una % di valori null superiore ad una certa soglia.
Abbiamo già visto nello scorso articolo che tra le nuove funzionalità della versione 11 di Alteryx ce n’è una per avere un sommario della composizione dei dati delle nostre tabelle. Una grande novità… che in realtà una novita non è!
Il Browse Tool non fa altro che implementare in automatico una funzionalità che in Alteryx già esisteva, tramite il Summarize Tool, che si trova nella tab Data Investigation, i tool di colore azzurrino.
Il tool ci fa un riepilogo di tutte le colonne, descrivendoci la composizione dei dati. E in questo riepilogo è presente anche la % di valori nulli. Se vogliamo sbarazzarci di tutte le colonne che hanno, ad esempio, valori nulli maggiori del 3%, possiamo automatizzare il processo tramite Alteryx.
Vediamo insieme come:
Connettiamo l’Input Tool con la nostra tabella al Summarize Tool e selezioniamo le colonne che vogliamo investigare:
La colonna “Name” contiene la lista, riga per riga, di tutte le colonne che compongono il nostro DB. E’ un elenco dei titoli di colonna. “Field category” ci dà l’indicazione sul data type. Min, Max, Median, Standard Deviation saranno popolate solo in caso di colonne numeriche e ci danno i relativi valori. Ed ecco finalmente la colonna “Percent missing” che è quella che ci interessa.
Mettendoci le colonne riga per riga, Alteryx ci ha già praticamente mezzo costruito una tabella di lookup che potremo utilizzare successivamente con un Dynamic Rename.
Connettiamo un Formula Tool e creiamo una nuova colonna in cui inseriremo la formula: IF [Percent Missing]>3 then “Delete_“+[Name] else [Name] endif.
Abbiamo in pratica creato una nuova colonna “New Title” in cui se la % di missing è minore della soglia da noi scelta (3%) riportiamo il nome della colonna originale, se invece la % supera la soglia, aggiungiamo un prefisso temporaneo “Delete_” al titolo della colonna.
Ecco la nostra tabellina di lookup. Possiamo usare un Dynamic Rename per rinominare in modo dinamico le colonne e sfruttare poi quel prefisso “Delete_” per deselezionare in automatico tutte le colonne che contengono il prefisso:
Diciamo al Dynamic Rename di prendere le informazioni dal flusso che si connette al connettore di destra R e di effettuare un cerca e sostituisci, cercando il nome della colonna originale nel campo “Name” e sostitendo con i valori che trova nel campo “New Title”.
Ora possiamo connettere subito dopo un Dynamic Select e tramite formula far selezionare in modo automatico solo le colonne che non iniziano con “Delete_”:
E voilà! Ecco la nostra tabella con le sole 6 colonne sopravvissute al controllo dei null < del 3%!
Scarica il workflow e prova a sostituire l’input d’esempio con i tuoi dati!
Non hai ancora Alteryx? Scarica la versione di prova e testalo!