Accueil – Le CFO masqué › Forums › Power Query › Power Query : extraction d’un nombre de jours (arrondi supérieur)
- Ce sujet contient 2 réponses, 2 participants et a été mis à jour pour la dernière fois par magali.careddu, le il y a 4 années.
-
AuteurArticles
-
19 octobre 2020 à 4 h 57 min #82439magali.caredduParticipant
Bonjour,
Je me permets de vous contacter pour savoir si vous auriez une solution plus simple que celle que j’ai trouvée pour extraire un nombre de jours de retard à partir d’une colonne au format texte dans le fichier joint.
Ce fichier contient la feuille des données source (Extraction wagons) avec la colonne RETARD qui est à manipuler. Comme vous le constaterez, celle-ci n’est pas au format date et a une syntaxe particulière. Mon objectif est de récupérer le retard d’une liste de wagons en nombre de jours arrondi au jour supérieur. Exemples :
Pour la donnée 2 j 15 h 15 min le résultat à obtenir est 3.
Pour la donnée 3 j 2 h 24 min le résultat à obtenir est 4.
Pour la donnée 15 h 37 min le résultat à obtenir est 1.
Pour la donnée 14 h 17 min le résultat à obtenir est 1.
Autrement dit, quand la donnée à traiter contient le caractère j on récupère le nombre de jours +1, sinon pour les données avec uniquement les heures et minutes le retard est toujours égal à 1 jour.J’ai utilisé Power Query pour résoudre mon problème mais je trouve que le nombre d’étapes à ma requête est important, à savoir une quinzaine d’étapes.
Je précise que je débute dans l’utilisation de Power Query et c’est pour cela que je souhaite avoir votre avis sur ma requête. Peut-elle être simplifiée ? Avez-vous trouvé une meilleure solution pour aboutir au même résultat ? (moins d’étapes, avec le langage M…)Dans l’attente de votre réponse, je vous remercie par avance de l’aide que vous voudrez bien m’apporter sur ce sujet.
Bien cordialement.
Magali Careddu
Attachments:
You must be logged in to view attached files.19 octobre 2020 à 8 h 53 min #82448Sophie MarchandParticipantBonjour,
Je n’ai pas ouvert votre fichier mais si je me fie à votre énoncé, il y aurait une façon très simple de procéder en 3 étapes.
Étape 1 : Ajouter une colonne avec l’option Avant le délimiteur ” j” (notez l’espace devant le j)
Étape 2: Convertir la colonne obtenue en type “nombre entier”
Étape 3 : Ajouter une colonne conditionnelle : Si le résultat de la colonne précédente = null mettre 1, sinon, mettre le chiffre obtenu +1Voilà. Il y aurait moyen de faire tout ça en une étape en M mais il est préférable que vous débutiez en vous reposant sur des fonctionnalités intégrées, que vous étudiez ensuite le code et que vous puissiez finalement écrire votre propre code optimisé.
Au plaisir,
Sophie
20 octobre 2020 à 5 h 00 min #82580magali.caredduParticipantBonjour,
Merci pour votre éclairage.
J’ai pu simplifier ma requête grâce à vous !Encore merci pour votre aide et votre réponse rapide.
Bien cordialement.
-
AuteurArticles
- Vous devez être connecté pour répondre à ce sujet.