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
RÉSOLU

Contrôle conformité DATE

Abdesslem_19
Astéroïde

Bonjour,

 

Comment je peux vérifier qu'une date est appartient bien au calandrer (en utilisant l'outil formule)

Par exemple :

j'ai une liste des dates parmi ces dates 35/12/2022 et 29/02/2023 n'appartiens pas au calendrier.

 

Merci d'avance.

 

 

 

9 RÉPONSES 9
Jean-Balteryx
16 - Nebula
16 - Nebula

Bonjour @Abdesslem_19 ,

 

En convertissant ces date au format "Date" d'Alteryx, les dates qui n'existent pas deviendront des valeurs nulles. Vous pourrez ainsi les traiter comme vous le souhaitez (filtre, etc.).

Abdesslem_19
Astéroïde

Bonjour @Jean-Balteryx , 

 

Merci de votre réponse.

 

Je veux pas changer la format au DATE, je veux la garder tel quel et faire ce contrôle via l'outil formule , c'est possible !  

 

Cordialement,

messi007
15 - Aurora
15 - Aurora

@Abdesslem_19,

 

Voici comment tu peux faire :

 

messi007_0-1674037957499.png

Ci-joint le workflow.

Cordialement

Abdesslem_19
Astéroïde

 

@Jean-Balteryx 

 

J'arrive pas a comprendre le résultat !

 

Abdesslem_19_1-1674039075630.png

 

 

Abdesslem_19_0-1674039036131.png

 

 

Emmanuel_G
Pulsar

Bonjour @Abdesslem_19 

 

Le résultat que tu obtiens est normal. 

 

Dans ton premier test tu compares les valeurs de la colonne ED000512.C.1 à 0. Dans la capture d'écran, toutes tes valeurs sont à 0 donc ta première condition n'est pas vérifiée.

 

Le test passe donc à la deuxième condition qui dit que si le parsing de tes dates est null (ce qui signifie que tes dates ne sont pas dans le calendrier car le parsing ne fonctionne pas) alors 1 sinon 0. Le souci ici c'est que toutes les dates de ta capture d'écran sont correctes (juste qu'elles sont des années 1900) contrairement à celles de ta question initiale; mais elles sont bonnes donc ton parsing va fonctionner. Ce qui signifie que le résultat sera 1 pour toutes ces dates et non 0. Ce qui explique le résultat que tu as. 

 

Enfin si tu veux convertir les données de la colonne "Date de naissance" de ta capture d'écran en un format "Date" reconnaissable par Alteryx avec DateTimeParse, la syntaxe à adopter doit être DateTimeParse([Date de naissance],"%Y-%m-%d"). En fait dans le deuxième argument de DateTimeParse, tu dois avoir le même format que tes dates en entrée sinon ça ne marche pas.

 

Fais nous savoir si cela répond à ton besoin. Sinon n'hésite pas à fournir un dataset random avec des données d'entrée (même avec quelques lignes) et la sortie que tu veux. 🙂

Abdesslem_19
Astéroïde

Bonjour @Emmanuel_G ,

 

Merci pour cette réponse détaillé, mais sincèrement je me suis perdu dans ta réponse.

 

Ce que je veux exactement c'est de  vérifier qu'une date est appartient bien au calendrier 

1- sans changer la format au DATE 

2- en utilisant l'outil formule

 

Par exemple :

J'ai appliqué ce test 

Abdesslem_19_0-1674051636251.png

Je comprend pas pourquoi cette donné n'as pas été détecté comme anomalie malgré qu'elle n'est pas conforme au formata date y/m/j

Abdesslem_19_2-1674051874486.png

 

 

 

 

Merci d'avance.

Abdesslem_19
Astéroïde

@Emmanuel_G 

 

"En fait dans le deuxième argument de DateTimeParse, tu dois avoir le même format que tes dates en entrée sinon ça ne marche pas."

 

En effet le problème a été dans le format .....

 

Merci beaucoup @Emmanuel_G 

Emmanuel_G
Pulsar

@Abdesslem_19 

 

Je pense avoir mieux compris ton problème. Dis moi si ce n'est pas le cas.

 

Tu voudrais flaguer en anomalie toutes les dates n'ayant pas le format Y/m/d (Ce qui est le cas par exemple pour la première ligne) et les dates dans le bon format mais hors calendrier(Ce qui est le cas par exemple pour la dernière ligne).

 

Le souci c'est que avec DateTimeParse tu n'obtiendras pas une valeur nulle de ta première ligne. Regarde ma capture d'écran ci-dessous où je fais le test de conversion.

Emmanuel_G_0-1674052880603.png

 

Dans ma capture, tu vois que pour la première ligne, la conversion se fait mais elle donne le 20 janvier 2001 alors qu'on a le 1er janvier 2023.

 

Voici la solution que je propose si tu veux flaguer cette ligne et les autres qui sont identiques comme anomalies. Elle est en PJ également.

 

Emmanuel_G_1-1674052992925.png

 

Fais moi savoir si ce n'est toujours pas clair.

 

 

Emmanuel_G
Pulsar

@Abdesslem_19 

 

Heureux d'avoir pu aidé. 🙂

 

Je te joins également un article détaillé sur ces fonctions de date où c'est bien mieux expliqué : https://community.alteryx.com/t5/Base-de-Connaissance-Francais/ACE-s-Insights-Les-fonctions-de-dates...

Étiquettes