Le problème
J'ai un système d'identification de type D210202001 qui contient la date de cette manière
DAAMMJJ001
Le principe
- utiliser la fonction
slice
pour extraire le nb de jours, le nb de mois et le nombre d'année
- utiliser la fonction
toNumber
pour transformer le texte des slice
en nombre
- utiliser la fonction
fromtimestamp(0)
pour obtenir un point de départ (01/01/1970)
- grâce à la fonction
dateadd()
- ajouter le nb de jours-1
- ajouter le nb de mois -1
- ajouter la différence d'année (année-1970)
- rendre la date compréhensible en france (format DD/MM/YYYY) avec
formatDate
Le calcul
Le calcul décomposé
Les formules utilisées
-
jour
- toNumber(slice(prop("ID"), 5, 7))
-
mois
- toNumber(slice(prop("ID"), 3, 5))
-
année
- toNumber(slice(prop("ID"), 1, 3))
-
origine
-
ajout des jours
- dateAdd(prop("origine"), prop("jour") - 1, "days")
-
ajout des mois
- dateAdd(prop("ajout des jours"), prop("mois") - 1, "months")
-
ajout des années
- formatDate(dateAdd(prop("ajout des mois"), 2000 + prop("année") - 1970, "years"), "MM/DD/YYYY")
Construction de la formule