L’article suivant est inspirĂ© d’une question posĂ©e rĂ©cemment sur notre forum. Un usager de Power Query se demandait comment convertir ses donnĂ©es de type texte en heures. Cet article vise Ă expliquer 3 fonctions d’heures dans Power Query, qui vous seront très utiles.
Données de départ en heures dans Power Query
L’usager travaillait avec des donnĂ©es d’heures Ă 3 ou 4 caractères, comme celles prĂ©sentĂ©es ci-dessous. Ă€ noter que nous avons ici importĂ© ces donnĂ©es dans Power Query et nous les avons converties en nombres entiers.
Si toutes les donnĂ©es prĂ©sentaient 4 chiffres, il serait possible d’extraire les 2 premiers caractères pour reconstituer les heures et les 2 derniers caractères pour reconstituer les minutes. La difficultĂ© ici rĂ©side donc dans le fait que les donnĂ©es prĂ©sentent soit 3 chiffres, soit 4 chiffres.
Appliquer des fonctions Power Query standards
Pour rĂ©soudre cette problĂ©matique, nous pouvons utiliser les fonctions “standards” Diviser (par entier) et Modulo dans une nouvelle colonne (menu Ajouter une colonne, basĂ©e sur la colonne Heures).
Diviser par entier
D’abord, on ajoutera un colonne pour reconstituer les heures, en divisant le nombre Ă 3 ou 4 chiffres par 100 et en retenant uniquement les entiers. C’est ce que signifier Diviser par entier. Dans le premier cas, une division par 100 procurera un rĂ©sultat de 22.15 et on retiendra uniquement la portion entière, donc 22. Dans le deuxième cas, une division par 100 procurera un rĂ©sultat de 8.20 et on retiendra uniquement la portion entière, donc 8. Autrement dit, cette division par entier nous permettra de rĂ©cupĂ©rer le nombre d’heures.
Vous avez des sources de données volumineuses à rassembler et analyser dans Excel ? Apprenez à automatiser tout le processus d’importation, de transformation et de modélisation  des données avec nos formations sur Power Query et Power Pivot dans Excel. |
---|
Appliquer une fonction modulo
En appliquant un modulo de 100, on va récupérer la portion restant de chacune des divisions précédentes, donc 15 dans le premier cas et 20 dans le deuxième cas. Pour en savoir plus sur la fonction Modulo, vous pouvez consulter notre article Excel : Connaissez-vous la fonction MOD() ?
Reconstituer des heures avec la fonction d’heures #time dans Power Query
Pour reconstituer les heures, nous pourrons utiliser la fonction #time, qui requiert 3 paramètres soit le nombre d’heures, le nombre de minutes et le nombre de secondes. Ici, le nombre de secondes sera de 0.
Convertir le type de données
Pour terminer, il faudra s’assurer d’appliquer un type de donnĂ©es “heures” et le tour est jouĂ©.
Fichier d’accompagnement
Pour télécharger le fichier utilisé dans ce tutoriel, devenez membre VIP du CFO masqué.
Formation complémentaire
Afin d’approfondir vos connaissances avec Power Query, nous vous recommandons de suivre notre formation Excel – Introduction Ă Power Query et au langage M.
Voici quelques commentaires d’apprenants ayant suivi la formation en ligne Excel – Introduction Ă Power Query et au langage M :
Dans le cas prĂ©sent, il serait facile d’avoir toujours 4 caractères en format Texte.
Il suffit d’ajouter une colonne avec la formule suivante: Text.End(“0” & [Heures],4)
Bonjour Serge,
En effet, on pourrait utiliser la fonction que vous suggĂ©rez ou bien encore la fonction Text.PadStart() mais le problème serait ensuite de rĂ©cupĂ©rer les 2 premiers caractères de cette expression. MĂŞme si les deux premiers caratères afficheraient 08 dans le deuxième cas, Power Query retourne quand mĂŞme 82. C’est pourquoi j’aime bien les fonctions Diviser par entier et Modulo.
Au plaisir,
Sophie
Bonjour,
Je rencontre une difficulté avec une base de données que je souhaite utiliser dans Power Query.
Je m’explique :
J’ai ce format de temps et je n’arrive pas Ă le mettre soit en total secondes soit en 00:00:00
1 heure 23 minutes 32 secondes
13 secondes
1 seconde
1 minute
2 heures 1 minute
J’ai essayĂ© de plusieurs façons mais en vain (fractionner/remplacer etc).
Auriez-vous une solution ?
Cordialement
Bonjour,
Je vous invite à poser votre questions sur un de nos forums afin de recevoir une réponse personnalisée.
https://www.lecfomasque.com/forums
Merci.
Sophie