OpĂ©rationsur une date. Les opĂ©rations arithmĂ©tiques sont bien sĂ»r possible. Plusieurs fonctions et notations permettent d'obtenir le mĂȘme rĂ©sultat. Si je veux ajouter 5 jours Ă une date, je peux utiliser les fonctions ADDDATE(), DATE_ADD() ou aucune des deux.
3 mai 2016 Ă 10 h 49 min 29342 Je suis appelĂ© Ă faire un calcul de dĂ©lais entre deux datesTimestamp D1 et D2 sur lâensemble des lignes dâune table en prenant en compte les jours fĂ©riĂ©s, les weekend et les heures de travail8h Ă 12h et de 12h Ă 18h. Jâai commencĂ© par calculer les jours ouvrĂ©s câest Ă dire le nombre de jours de travail en Ă©liminant les jours fĂ©riĂ©s et les weekends. CALCULATESUMDimDate[JourTravail];DATESBETWEENDimDate[Date];table[Date1];table[Date2] Et jâessais de calculer le dĂ©lai en minute de travail en prenant en compte les horaires de travail de 8 Ă 12 et de 14 Ă 18h. Exemple D1 29/04/2016 162500 D23/05/2016 85700 La formule doit calculer 1h35mn le Vendredi, ne prend pas en compte le samedi et dimanche, calculer le 2/05 toute la journĂ©e cĂ dire 8h de travail, et enfin me rendre 0h57mn du 03/05 pour mâafficher 8+057+1h35 en total. Voici des exemples des dates en image ci-jointe. Avez-vous une idĂ©e sur la rĂ©alisation de ceci? Je vous remercie infiniment pour votre aide. AttachmentsYou must be logged in to view attached files. 3 mai 2016 Ă 10 h 56 min 29344 Bonjour, Vous pouvez calculer le nombre de jours ouvrables via Power Query ou lâĂ©quivalent dans Power BI Desktop, de la façon dĂ©crite dans notre article de blogue Sinon, si vous souhaitez utiliser Power Pivot ou lâĂ©quivalent dans Power BI Desktop et calculer le nombre de jours ouvrables en DAX, vous pouvez vous rĂ©fĂ©rer Ă lâarticle de blogue suivant Au plaisir, Sophie 3 mai 2016 Ă 11 h 09 min 29346 Merci Pour votre rĂ©ponse, en effet je voudrais calculer le nombre dâheures et minutes de travail, pas le nombre de jours et cela en prenant en compte les jours fĂ©riĂ©s, les weekends et les horaires de travail8->12/14->18. NB Le nombre de jours ouvrables est dĂ©jĂ calculĂ©. Exemple entre aujourdâhui 18h01 et demain 10h du matin je dois avoir 2h de diffĂ©rence comme rĂ©sultat entre mes deux dates. JâespĂšre que jâai bien transmis le message. 2 octobre 2018 Ă 10 h 09 min 49952 Bonjour, je dois faire un calcul de la durĂ©e entre 2 dates par heure. Exemple entre aujourdâhui 10h et ajourdâhui 18h, je dois avoir 8h de diffĂ©rence comme rĂ©sultat entre mes deux dates. jâai commencĂ© par crĂ©er une table pour calculer le nombre de jours ouvrables pour Ă©liminer les weekend et les jours jâai crĂ©er une colonne pour calculer la durĂ©e en utilisant la requĂȘte suivante Age ticket = CALCULATESUMDate'[WorkDay];DATESBETWEENDate'[Date].[Date];Append1[Created];Append1[Closed] le problĂšme câest quâil mâaffiche juste la diffĂ©rence des deux dates en jours mais pas en heure. 2 octobre 2018 Ă 15 h 34 min 49954 15 janvier 2021 Ă 3 h 07 min 85954 Bonjour, Je rencontre le mĂȘme problĂšme. Comment faire dans Power BI en DAX ou Query pour ĂŽter les heures non travaillĂ©es. Exemple ci-joint fais dans Excel Les heures travaillĂ©es sont 8h 17h, donc entre 17h et 8h ça ne devrait pas ĂȘtre comptĂ©. Je souhaite obtenir le rĂ©sultat de la colonne F et non celui de H. Je ne vois pas comment faire, si quelquâun Ă la solution ou une piste. AttachmentsYou must be logged in to view attached files. 15 janvier 2021 Ă 10 h 02 min 85966 Bonjour Voici une solution avec Power Query Jâai une table avec une rĂ©fĂ©rence âIdâ et une date/heure de âDĂ©butâ et une date/heure de âFinâ Ainsi quâun planning dâouverture pour chaque jour âH_DĂ©butâ et âH_Finâ via une table de correspondance Avec la fonction je crĂ©e une liste des jours entre âDĂ©butâ et âFinâ Je dĂ©veloppe en lignes puis je fusionne pour rĂ©cupĂ©rer les âH_DĂ©butâ et âH_Finâ de chaque jour Ensuite la durĂ©e de mon âIdâ sur chacune de ces journĂ©e âDateâ est donnĂ©e par la diffĂ©rence si elle est positive de MINâFinâ , âDate + H_Finâ-MAXâDĂ©butâ , âDate + H_DĂ©but Il ne reste plus quâĂ regrouper la table en sommant ces durĂ©es quotidiennes Voir exemple Excel ci-joint Cordialement StĂ©phane AttachmentsYou must be logged in to view attached files. 19 janvier 2021 Ă 2 h 24 min 86139 Bonjour, Merci StĂ©phane, tout a fonctionnĂ© parfaitement. Cordialement. 11 fĂ©vrier 2021 Ă 4 h 06 min 86881 Bonjour Stephane, Jâai exactement le mĂȘme besoin que Jmain sauf que je nây arrive pas. Je ne suis malheureusement pas encore assez Ă lâaise avec les formules đ Jâai fait la fonction pour crĂ©er la liste des jours entre âDĂ©butâ et âFinâ puis jâai rĂ©cupĂ©rĂ© les âH_DĂ©butâ et âH_Finâ de la table âType dâouvertureâ. A partir de lĂ je bloque. Est ce que je reviens sur la table initiale ID, DĂ©but, Fin? Comnment ecrire cette formule en M? Je ne suis vraiment pas trĂšs fier đ Salutations Zumsl 16 fĂ©vrier 2021 Ă 12 h 22 min 87387 Bonjour Si je comprends bien vous bloquez aprĂšs avoir rĂ©cupĂ©rĂ© les âH_DĂ©butâ et âH_Finâ de la table âType dâouvertureâ. Jâajoute ensuite 2 colonnes personnalisĂ©es menu âajouter une colonneâ, âcolonne personnalisĂ©eâ La premiĂšre pour faire le max entre le dĂ©but de la plage Ă©tudiĂ©e et le jour + heure dĂ©but du jour avec la fonction La seconde pour faire le min entre la fin de la plage Ă©tudiĂ©e et le jour + heure fin du jour avec la fonction Ensuite jâajoute une troisiĂšme colonne personnalisĂ©e pour faire la diffĂ©rence entre les deux uniquement si elle est positive avec la formule each if [Date_Heure fin] > [Date_Heure dĂ©but] then [Date_Heure fin] â [Date_Heure dĂ©but] else duration0,0,0,0 Jâobtiens ainsi la durĂ©e de ma plage sur le jour Ă©tudiĂ©. Enfin je regroupe le tout en additionnant toutes les valeurs quotidiennes obtenues Est-ce plus clair ? StĂ©phane 26 fĂ©vrier 2021 Ă 9 h 27 min 87798 Bonjour Stephane, Je nâarrive pas Ă comprendre comment le calcul peut se faire surtout si la diffĂ©rence de date est supĂ©rieure Ă 1 jour!. Serait-il possible de joindre votre planche BI afin quâil soit plus facile de comprendre votre dĂ©marche svp ? Typiquement je ne comprends pas comment vous regroupez âle tout en additionnant toutes les valeurs quotidiennes obtenuesâ En vous remerciant. Cordialement, Enzo 1 mars 2021 Ă 4 h 38 min 87904 Bonjour Enzo regardez la piĂšce jointe de mon message du 15 janvier et ouvrez les requĂȘtes Power Query. vous comprendrez comment je gĂšre les plages > Ă 1 jour et le regroupement pour additionner les valeurs quotidiennes. Cordialement StĂ©phane 1 mars 2021 Ă 5 h 58 min 87905 Bonjour Stephane, Merci beaucoup ! Câest top. Merci pour votre patience et votre rapiditĂ©. Bonne journĂ©e. Cordialement, Enzo 4 mars 2021 Ă 0 h 50 min 88063 Bonjour Stephane, Jâai du mâabsenter un moment et je nâai pas pu te donner un feedback. DĂ©solĂ©e. Câest gĂ©nial Merci encore pour ta disponibilitĂ©. Lamia 20 avril 2021 Ă 3 h 59 min 89741 Bonjour StĂ©phane, Pourriez vous mâaider a rĂ©aliser ce que vous avez fait. Je nâai pas tout compris comment il fallait faire. Merci, Cordialement. Lecalcul des jours ouvrĂ©s est assez simple : on soustraie au nombre de jours dans une annĂ©e, le nombre de samedis, de dimanches et de jours fĂ©riĂ©s. Calcul des jours ouvrĂ©s 2022. En France, nous avons 11 jours fĂ©riĂ©s dans une annĂ©e, mais pour le calcul sur l'annĂ©e 2022 il faut exclure 4 jours fĂ©riĂ©s qui tombent le week-end, Ă savoir> Modules standards > Autres modules > date et temps import time; print pour avoir le temps courant en seconde, avec une prĂ©cision Ă la microseconde. Pour suspendre le process pendant un certain nombre de secondes Pour importer le module import datetime Dates Construction d'une date simple 10, 9 construit la date avec l'annĂ©e, le mois et le jour. construit la date du jour. construit la date Ă partir d'un timestamp donnĂ©, comme celui renvoyĂ© par MĂ©thodes sur les dates, avec par exemple une date myDate = 10, 9 print permet de rĂ©cupĂ©rer l'annĂ©e, le mois entre 1 et 12 et le jour, ici 2014 10 9 = 2013 renvoie la date avec l'annĂ©e remplacĂ©e par la valeur donnĂ©e, donc ici 10, 9. Idem avec month et day. renvoie le jour de la semaine, 0 pour lundi, 6 pour dimanche. renvoie le jour de la semaine, mais 1 pour lundi, 7 pour dimanche. date formattĂ©e, ici 2014-10-09. Date + temps Construction d'une date et d'un temps 10, 9, 11, 22, 33 en donnant l'annĂ©e, le mois, le jour, l'heure entre 0 et 24, les minutes et les secondes. on peut aussi donner les microsecondes 10, 9, 11, 22, 33, 123456 la date et l'heure courante comme today, mais donne l'heure UTC temps universel. donne la date et l'heure Ă partir d'un timestamp comme celui renvoyĂ© par MĂ©thodes sur les dates et temps imprimer la date courante %H%M%S' print permet de rĂ©cupĂ©rer l'annĂ©e, le mois entre 1 et 12, le jour, l'heure, la minute et la seconde. permettent de rĂ©cupĂ©rer sĂ©parĂ©ment la date et l'heure. pour avoir juste la date au format YYYY-MM-DD Ă partir d'une datetime. = 55 date et temps avec les minutes remplacĂ©es par la valeur indiquĂ©e idem pour tous les autres champs. donne la date et le temps en format iso, par exemple 2014-10-10 0800 Si les microsecondes sont Ă 0, elles ne sont pas prĂ©sentes, par exemple = 0.isoformat donne 2014-10-10T080056. On peut aussi donner un caractĂšre autre que T pour sĂ©parer la date et le temps '. pour avoir la date et le temps courants formattĂ©s en ISO = 0.isoformat. strmyDateTime comme isoformat, mais avec un espace comme caractĂšre de sĂ©paration plutĂŽt qu'un T. pour avoir le timestamp nombre de secondes depuis le 1er janvier 1970, avec une prĂ©cision Ă la microseconde myDateTime - 1, 1.total_seconds pour avoir le jour de la semaine, utiliser weekday ou isoweekday, voir la classe date ci-dessus. Pour convertir une date-temps en chaĂźne de caractĂšres et rĂ©ciproquement myDatetime = myString = %H%M%S' conversion en chaĂźne de caractĂšres myDatetime = %H%M%S' reconversion de la chaĂźne en date-temps. Les diffĂ©rents placeholder de formattage sont %Y annĂ©e YYYY %m mois entre 01 et 12 %d jour du mois entre 01 et 31 %H heure de 0 Ă 23 %M minute de 0 Ă 59 %S seconde de 0 Ă 59 %z dĂ©calage de time zone par rapport Ă UTC %a jour de la semaine abrĂ©gĂ©, dans la locale %A jour de la semaine complet, dans la locale %b jour du mois abrĂ©gĂ©, dans la locale %B jour du mois complet, dans la locale %c Locale's appropriate date and time representation. %I heure de 01 Ă 12 pour AM/PM %p AM ou PM Pour rĂ©cupĂ©rer le nombre de secondes depuis le 1er janvier 1970 Ă partir d'une date-temps myDateTime = int ça donne la mĂȘme chose que int Temps Construction d'un temps 22, 33 construction d'un temps on peut donner les microsecondes, comme Pour parser uniquement le temps PM', '%I%M%S %p'.time donne uniquement l'objet renvoie la date au 1er janvier 1900 qui est la date dĂ©faut en python. MĂ©thodes sur les temps permet de rĂ©cupĂ©rer les heures, minutes, secondes, microsecondes = 55, strmyTime comme pour les datetime. Calculs sur les dates et temps Calculs sur les dates et temps les objets reprĂ©sentent les durĂ©es. construction d'une durĂ©e = 1, days = 1, hours = 12, minutes = 5, seconds = 10, milliseconds = 345, microseconds = 456 on peut avoir des valeurs nĂ©gatives pour n'importe quels des arguments. en interne, un timedelta est converti en jours, secondes et microsecondes. renvoie le nombre de secondes pour ce timedelta en incluant tout. le nombre de jours d'une timedelta on peut calculer une difference de date, ça donnera un timedelta myDateTime1 = 10, 9, 12, 35, 0; myDateTime2 = 10, 9, 15, 45, 0; td = myDateTime2 - myDateTime1; td donne 11400. on peut faire des opĂ©rations d'addition ou soustraction sur les timedelta td1 = = 12, minutes = 5; td2 = = 5, minutes = 3; printtd1 + td2; printtd1 - td2; donne 61680 et 25320 on peut multiplier un timedelta par une constante td1 * 2 donne ici 600 ça marche pareil avec des date, plutĂŽt que des datetime. on peut comparer 2 dates, ça donne le rĂ©sultat attendu myDateTime1 , >= marchent aussi. myDateTime = 10, 9, 12, 35, 0; td = = 10; myDateTime + td ajout d'un timedelta Ă une dateTime, donne ici 10, 9, 12, 45. myDate = 10, 9; td = = 2; myDate + td ajout d'un timedelta Ă une date, donne ici 10, 11. Copyright programmer en python, tutoriel python, graphes en python, Aymeric Duclert
6YHPa.