Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!
Free Trial

Forum

Trouvez des réponses, posez des questions, et partagez votre expertise d’Alteryx.
TIPS de la semaine

Chaque semaine, découvrez de nouvelles astuces et bonnes pratiques pour devenir un expert !

Voir l'index

Tips de la semaine (50) - Supprimer les colonnes vides

zakellaoui
Alteryx Alumni (Retired)

Bonjour, 

 

Pour la 4ème semaine de cette nouvelle année, je vous propose une nouvelle astuce que j'ai apprise au travers de plusieurs sessions avec nos clients. 

 

Voici le cas : 

 

Jeu de données : Contient 24 colonnes dont 9 contenant des valeurs vides.

Objectif : Nous souhaitons garder uniquement 15 colonnes non vides.

ZakEllaoui_0-1579513691489.png

 

Astuce : 

 

Etape 1 : Utiliser l'outil Auto-field. 

L'outil "Auto field" va "typer" la colonne ne contenant que des valeurs vides par "Bool". 

ZakEllaoui_1-1579513764787.png

 

 

 

Etape 2 : Utiliser Dynamic Select

L'outil "Dynamic Select" vous permet de selectionner uniquement les colonnes que vous souhaitez garder sur la base de leurs formats

ZakEllaoui_2-1579513784537.png

 

Précaution : Assuez vous juste de ne pas avoir de champ de type "Bool" dès le début dans votre jeu de données. que vous souhaitez garder. Vous pouvez le "typer" en string pour éviter que le dynamic select le supprime aussi. 

 

CI joint le workflow. 

 

Bonne semaine à tous, 

Enjoy the Thrill of Solving ! 

 
10 RÉPONSES 10
StephV
Alteryx Alumni (Retired)

Merci @zakellaoui ! Très utile ! 

Steph Vitale-Havreng
StephaneP
Alteryx
Alteryx

Merci Zak pour cette solution.

 

La magie d’Alteryx c’est qu’il y a toujours plusieurs façons de réaliser une tâche sans forcément d’ailleurs qu’il y en ai une meilleure que d’autres. Il faut se faire plaisir. 😊

 

Du coup j’en propose une autre et je vous laisserai choisir en fonction des contextes.

StephaneP_3-1584896355027.png

 

 

Pour cette 2ème technique l’idée est de basculer toutes les colonnes en ligne via l’outil Transpose

On passe de ceci:

StephaneP_4-1584896494789.png

A cela:

StephaneP_1-1584896132429.png

 

puis de supprimer toutes les lignes à NULL via un filtre. On obtient:

StephaneP_2-1584896132433.png

 

Si une colonne n’était constituée que de NULL alors elle va disparaitre lorsqu’on reconstitue le tableau initial via l’outil Pivot.

Et voila.

 

Alors pourquoi une technique plutôt qu’une autre ?

 

Ben déjà, le feeling 😊

Ensuite, les 2 techniques ont l’avantage d’être dynamiques ce qui est un très bon point.

 

Je dirai que cela dépend du workflow global. Généralement, avec Alteryx pour faire des traitements sur des colonnes on bascule souvent via l’outil Transpose car la majorité des outils travaillent sur les lignes plutôt que sur les colonnes, notamment le filtre (pour les Null). Donc si dans le cadre de vos traitements vous devez passer par cette étape transpose, il est finalement plus simple d’embarquer ce filtre pour supprimer des colonnes Null.

 

Il est aussi intéressant dès le début de filtrer les colonnes inutiles pour ne pas complexifier la suite du workflow. Ainsi si il n’y a pas d’enjeu de perfs ou de volumétrie le filtre sur le type de donnée Bool est alors plus pertinent. C’est fait, on peut passer à autre chose. La technique 1 est super rapide à mettre en place (2 objets et 3 clics 😊 ).

 

Si vous utilisez d’autres techniques n’hésitez pas à les poster dans ce fil.

 

Enjoy the thrill of solving !

Stéphane Portier
Sales Engineer
Alteryx
StephaneP
Alteryx
Alteryx

Et voila avec les dernières versions d'Alteryx tous nos beaux tips deviennent caduques 😞

Mais non c'est génial !!

Désormais en 1 clic vous pouvez supprimer toutes les lignes ou colonnes à NULL.

 

Ceci est une nouvelle fonctionnalité du bloc "Nettoyage de données"

 

StephaneP_0-1593789247154.png

 

Elle n'est pas belle la vie ?

 

Enjoy.

 

Stéphane Portier
Sales Engineer
Alteryx
StephV
Alteryx Alumni (Retired)

Mais elle est très belle la vie (et toujours plus simple !) avec la dernière version d'Alteryx. Merci @StephaneP de nous donner tous tes Tips ! 

 

On en veut encore ! 

Steph Vitale-Havreng
Tasnime
Météore

Bonjour

malgré votre aide je n'arrive toujours pas à faire disparaître les colonnes dont les champs est vide de ma sortie

 

ex supprimer les 3 premières colonnes pour lesquelles la valeur est vide

 

 

Tasnime_0-1675421762290.png

 

StephaneP
Alteryx
Alteryx

Bonjour @Tasnime ,

 

Est il possible d'avoir un exemple du fichier ?
Car théoriquement cela devrait fonctionner.

Merci

Stéphane Portier
Sales Engineer
Alteryx
Tasnime
Météore

Salut Stéphane comment t'envoyer un exemple ?

en complément les vides dans les cellules de ces colonnes proviennent d'un champ calculé ex ci-dessous 

Tasnime_0-1675430015452.png

 

StephaneP
Alteryx
Alteryx

Tu peux déplcer un exemple de ton fichier dans cette zone sous la fenetre de commentaire:

StephaneP_0-1675431079607.png


Mais de toute manière ce n'est plus la peine, j'ai ma réponse.
En effet tu génère des " ". C'est donc un espace qui est différent d'un NULL. Un NULL est une réelle absence de caractère. Un Espace est un caractère et n'est donc pas considéré comme une cellule Null.

Il faut donc rempalcer le " " par Null() ainsi: If IsEmpty(xxx) then Null() else "1" endif
Tu verras que dans ta colonne apparaitront des NULL

StephaneP_1-1675431375661.png


Bye

Stéphane Portier
Sales Engineer
Alteryx
Tasnime
Météore

Vraiment top Stéphane ça focntionne

Je voulais savoir comment se passait les formations avec mon employeur et à titre personnel ? aurais tu un contact direct 

Étiquettes