Les fonctions « Time » de Power Query sont très utiles pour manipuler les données temporelles. Découvrez tout ce que vous devez savoir sur ces différentes fonctions, et comment apprendre à les utiliser !
Les données temporelles sont une précieuse ressource pour la prise de décisions stratégiques en entreprise. Toutefois, la manipulation de ce type de « data » peut vite s’avérer complexe et fastidieuse.
Sur Excel et Power BI, l’outil de transformation de données Power Query est particulièrement utile pour la manipulation de données temporelles grâce aux différentes fonctions « Time ».
Il s’agit de fonctions du langage de formules M, permettant de manipuler les dates et les heures en toute simplicité afin d’analyser et de présenter les données chronologiques. Voyons à présent quelles sont ces fonctions et leurs effets respectifs.
Comment utiliser les fonctions « Time » de conversion de l’heure ?
La fonction « Time.FromText » permet de convertir une chaîne de caractères en une valeur de temps. Ceci est très utile pour traiter les données temporelles stockées sous forme de texte.
Par exemple, si vous avez une colonne « Heure » contenant des valeurs de temps sous forme de texte comme « 10:30:00 », il est possible d’utiliser cette fonction pour convertir ces valeurs en une valeur de temps.
De son côté, « Time.FromDateTime » aide à convertir une valeur de date et heure en une valeur de temps. Par exemple, si vous avez une colonne « Date et Heure » contenant des valeurs de date et heure comme « 01/01/2022 10:30:00 », cette fonction permet d’extraire les valeurs de temps.
Enfin, « Time.FromText » permet de convertir une chaîne de texte représentant une valeur de temps en une valeur de temps Power Query. Ceci s’avère utile pour travailler avec des données provenant de différentes sources quand les chaînes de textes doivent être converties en valeur de temps.
De manière générale, les fonctions Time.From permettent de convertir une valeur de temps donnée en une valeur de temps au format Power Query. Elles sont très utiles pour travailler avec des données provenant de différentes sources et les convertir dans un format compatible.
De son côté, la fonction « Time.LocalTime » permet quant à elle de convertir une valeur de date et heure en une valeur de temps locale. Elle aide à s’assurer que les données temporelles soient dans le fuseau horaire local.
Par exemple, il est possible de convertir les valeurs de votre colonne « Date et Heure » en temps local. Il s’agit d’une fonction pratique pour travailler avec des données provenant de différents fuseaux horaires.
Les fonctions « Time » de manipulation de l’heure
Outre la conversion, les fonctions Time peuvent aussi servir à manipuler et à modifier les données temporelles. Ainsi, la fonction « Time.Add » sert à ajouter une durée spécifiée à une valeur de temps donnée pour calculer un nouveau temps.
La formule à utiliser est « Time.Add([Heure], #duration(hours, minutes, seconds)) ». Par exemple, pour ajouter 2 heures et 30 minutes à une valeur de temps dans une table de données, on utilisera la formule « Time.Add([Heure], #duration(2, 30, 0)) ».
À l’inverse, « Time.Subtract » permet de soustraire une durée spécifiée d’une valeur de temps donnée. On utilise la formule « Time.Subtract([Heure], #duration(hours, minutes, seconds)) ».
Par exemple, pour soustraire 1 heure et 15 minutes d’une valeur de temps dans une table de données, la formule à rédiger est « Time.Subtract([Heure], #duration(1, 15, 0)) ».
Comment utiliser les fonctions « Time » d’extraction de l’heure ?
Il existe aussi des fonctions Time permettant d’extraire des informations spécifiques d’une valeur de temps.
Par exemple, si votre colonne « Heure » contient des valeurs de temps, il est possible d’utiliser « Time.Hour » pour extraire l’heure de chaque cellule.
Dans la même logique, « Time.Minute » permet d’extraire la minute et « Time.Second » sert à extraire la seconde.
Par ailleurs, la fonction « Time.LocalNow » renvoie la date et l’heure actuelles du système local sous forme de valeur de temps. Mentionnons aussi les fonctions « Time.StartOfHour » et « Time.EndOfHour » renvoyant respectivement des valeurs de temps représentant el début et la fin de l’heure correspondant à une valeur de temps donnée.
Rien n’empêche de combiner différentes fonctions Power Query dans le but d’effectuer des calculs plus avancés sur les données temporelles !
Qu'est ce que la fonction #time ?
Pour terminer, la fonction « #time » permet de créer une valeur de temps à partir des heures, et minutes et secondes spécifiées. Sa syntaxe est « #time(hour, minute, second) ».
Les valeurs de l’heure, des minutes et des secondes doivent impérativement être des nombres entiers compris entre 0 et 23 pour l’heure, et 0 et 59 pour les minutes et les secondes.
En guise d’exemple, supposons que vous ayez une colonne « Heure » dans votre table de données contenant des valeurs de temps sous forme d’une chaîne de caractères au format « hh:mm:ss ».
Afin de convertir ces valeurs dans un format compatible avec Power Query pour l’analyse, vous pouvez commencer par créer une nouvelle colonne en cliquant sur l’onglet « Ajouter une colonne » dans l’éditeur de requêtes, et sélectionner « Colonnes de formule ».
Dans la section « Formule », entrez ensuite la formule « #time(Number.FromText(Text.Start([Heure], 2)), Number.FromText(Text.Range([Heure], 3, 2)), Number.FromText(Text.End([Heure], 2))) » et cliquez sur « OK ».
Ce processus permet de créer une nouvelle colonne « Heure convertie » contenant toutes les valeurs de temps au format Power Query.
En outre, il est aussi possible d’utiliser « Time » dans des calculs plus avancés comme la soustraction de deux valeurs de temps pour calculer une durée.
Supposons pour l’exemple que vous avez une colonne « Départ » et une colonne « Arrivée » dans une table de données. Pour créer une nouvelle colonne « Durée » contenant la durée du voyage, commencez par créer une nouvelle colonne en cliquant sur l’onglet « Ajouter une colonne » dans l’éditeur de requête.
Dans la section « Formule », entrez la formule « #time(Time.Hour([Arrivée] – [Départ]), Time.Minute([Arrivée] – [Départ]), Time.Second([Arrivée] – [Départ])) » et cliquez sur « OK ». Cette nouvelle colonne contient la durée du voyage sous forme de valeur de temps au format Power Query !
Conclusion : des fonctions Time à connaître pour absolument pour les données temporelles
En conclusion, les fonctions « Time » de Power Query sont indispensables pour le traitement de données temporelles. Elles permettent l’extraction des différentes valeurs de temps, ou encore la conversion au temps local.
Afin de maîtriser Power Query et les nombreuses fonctions du langage M, vous pouvez choisir DataScientest. Notre formation Power BI vous permettra d’acquérir la pleine maîtrise de la plateforme de Business Intelligence en seulement 5 jours.
La première partie destinée aux débutants couvre notamment Power Query, le langage DAX et la Dataviz. Elle se déroule en 24 heures, réparties sur 3 jours.
Par la suite, la deuxième partie du programme permet d’approfondir le maniement de l’outil. En plus d’aborder les fonctionnalités avancées de DAX et Power Query, elle aborde les notions plus complexes comme les DataFlows et l’actualisation incrémentielle.
Il est possible d’effectuer la totalité de la formation ou l’une des deux parties en fonction de vos besoins et de votre niveau de compétences. À la fin du parcours, vous pourrez passer l’examen Microsoft PL-300 pour obtenir la certification Power BI Data Analyst Associate.
Toutes nos formations s’effectuent à distance via internet, et sont éligibles au Compte Personnel de Formation pour le financement. Découvrez dès maintenant DataScientest !
Vous savez tout sur les fonctions Time de Power Query. Pour plus d’informations sur le même sujet, découvrez notre dossier sur Power BI et notre guide complet de Power Query !