Gestion des erreurs dans Power Automate via le branchement parallèle
Découvrez l
Je vais vous montrer comment calculer les jours ouvrés/ouvrés entre deux dates soit avec les jours fériés comptés soit sans les jours fériés. C'est un sujet qui a été posé maintes et maintes fois sur le .
Je pense également que ce sera une excellente façon de clore cette série Time Intelligence, sachant qu'elle couvre beaucoup d'autres éléments évoqués précédemment. Ces éléments incluent la création d'une table de vacances, la création d'une table de dates étendue et l'utilisation de la fonction Vous pouvez regarder la vidéo complète de ce tutoriel au bas de ce blog.
Table des matières
Façons de calculer les jours ouvrables entre deux dates
Je vais parler des différentes approches que vous pouvez utiliser pour calculer les jours de travail.
Excel permet aux utilisateurs de calculer les jours ouvrables de manière simple grâce à l'utilisation de sa fonction NETWORKDAYS . Cependant, DAX n'a pas une telle fonction , donc je vais discuter des moyens de contourner cela.
Une façon de procéder consiste à utiliser certains éléments de la table de dates étendues.
Une autre option consiste à utiliser une approche que j'ai obtenue d'Imke Feldmann du blog thebiccountant.com. Elle a créé une fonction personnalisée NetworkDays qui peut être invoquée directement à partir de Power Query , ce qui rend le processus beaucoup plus rapide et moins compliqué.
Pour vous montrer comment ces approches fonctionnent, je vais utiliser un scénario très courant.
J'ai une centaine de projets que j'ai anonymisés.
J'ai également une date de début et une date de fin pour chaque projet.
J'ai également créé une simple mesure de jours écoulés . Il s'agit essentiellement du nombre brut de jours entre chacune des dates de début et de fin . J'ai utilisé la fonction pour ce faire, une fonction utile pour datediff jours ouvrables.
Le modèle de données est très simple. Il contient des tableaux pour les dates et les projets .
Il affiche également la table de faits, qui comprend l' ID du projet , la date de début et la date de fin .
À des fins de comparaison, j'ai également calculé les NetworkDays (avec et sans jours fériés) à l'aide d'Excel (pas de power bi).
Bien sûr, vous pouvez faire la même chose et importer des données d'Excel. Mais le but ici est d'utiliser LuckyTemplates pour calculer le nombre de jours ouvrés sans avoir à passer par Excel.
Calcul des jours ouvrables entre les dates à l'aide de DAX
Chaque fois que vous devez compter des dates, il est toujours efficace d'utiliser la fonction sur la table Dates.
J'ai également utilisé DATESBETWEEN pour affiner le champ entre la date de début et la date de fin . J'ai également ajouté IsWorkingDay pour appliquer la logique booléenne simple selon laquelle s'il s'agit d'un jour ouvrable, il devrait être . Les week-ends renverraient un .
J'ai terminé cela avec le filtre juste pour prendre en compte le contexte des trancheuses.
Quant à la version avec jours fériés, elle ressemble beaucoup à la mesure dont je viens de parler.
C'est la même expression en utilisant la fonction DATESBETWEEN . J'ai seulement ajouté un et IsHoliday.
Encore une fois, j'ai utilisé la fonction ALLSELECTED à la toute fin.
Voyez ce qui se passe lorsque je fais glisser ces deux mesures dans mon tableau.
Comme prévu, la colonne Workdays w/ Holidays correspond parfaitement à la colonne Excel w/ Holidays . Il en va de même pour la colonne Workdays w/o Holidays, qui correspond à la colonne Excel w/o Holidays .
Calcul des jours ouvrés à l'aide de Power Query
L'approche dont parle Imke Feldmann du blog thebiccountant.com offre une solution encore plus simple lors de l'utilisation de Power Query.
Dans son blog sur la fonction NETWORKDAYS, elle a donné un code M qui peut être appelé dans Power Query.
Copiez simplement le code M de son blog.
Ensuite, allez dans Power Query et sous Nouvelle source , ouvrez une requête vide.
Allez dans l' éditeur avancé .
Collez ensuite l'intégralité du code dans la page. Assurez-vous d'avoir une coche verte pour vous assurer qu'il n'y a pas d'erreurs dans votre code.
Une fois invoqué, il vous amènera à ce modèle.
Peu importe ce que j'entre ici, je vais donc partir du 1er janvier 2018 au 1er janvier 2020.
Cela apparaîtra maintenant sous mes requêtes. Je vais le renommer pour le rendre plus facile à utiliser plus tard.
Je l'appellerai Networkdays .
Maintenant, je peux commencer à utiliser cette requête. Je vais juste aller dans mon Data .
Ensuite, sous Add Column , je clique sur Invoke Custom Function .
Je vais appeler ce NWD et utiliser la fonction Networkdays .
Ensuite, je choisirai la date de début et la date de fin dans les menus déroulants ci-dessous.
Cela me donne la possibilité ici de changer le début de la semaine du lundi à autre chose.
À cette fin, lundi, c'est bien, je vais donc laisser cela tel quel. Ensuite, je clique sur OK.
Comme vous pouvez le voir, il calcule immédiatement l' équivalent NetworkDays de la colonne Excel NetworkDays .
Maintenant, permettez-moi de modifier cela afin que je puisse exclure les vacances. J'ai juste besoin d'aller dans ma table des Fêtes .
Si vous vous souvenez du modèle, la table des vacances est le troisième paramètre ici.
Je vais donc simplement utiliser la table des jours fériés ici et référencer la colonne Date.
Je clique sur la coche ici pour appliquer ces modifications.
[00:11:00]
Maintenant, il a été mis à jour et a supprimé tous les jours fériés. C'est exactement la même que la colonne Excel NetworkDays sans jours fériés.
Je vais juste renommer cette colonne NWD Pas de vacances.
Ajout de nombres de jours ouvrés et de week-ends dans votre tableau de dates : technique d'intelligence temporelle dans LuckyTemplates
Présentation
du nombre de jours ouvrés dans LuckyTemplates à l'aide de DAX
Conclusion
Vous verrez que les deux approches que j'ai utilisées étaient très différentes l'une de l'autre, mais elles ont toutes deux donné les mêmes résultats. Cela montre seulement qu'il existe vraiment de nombreuses façons d'optimiser LuckyTemplates, même lorsque la fonction Excel spécifique que vous recherchez n'a pas d'équivalent direct.
Cela a été une excellente course pour la série Time Intelligence. J'ai aimé travailler avec Melissa Dekorte pour vous montrer tous ces grands scénarios Time Intelligence.
L'une des choses que je veux vraiment souligner ici est que DAX est la partie la plus intéressante de LuckyTemplates. Mais à mesure que vous maîtriserez les tenants et les aboutissants de LuckyTemplates, vous commencerez à apprécier d'autres solutions qui n'impliquent pas du tout DAX. La dernière approche que je vous ai montrée ci-dessus, ainsi que les conseils que j'ai partagés dans les vidéos précédentes sur Time Intelligence prouvent ce fait.
Tous mes vœux,
Découvrez l
Découvrez comment comparer facilement des tables dans Power Query pour signaler les différences et optimiser vos analyses de données.
Dans ce blog, vous découvrirez comment diviser les colonnes dans LuckyTemplates par délimiteurs à l'aide de DAX, une méthode efficace pour gérer des modèles de données complexes.
Découvrez comment récolter une valeur avec SELECTEDVALUE DAX pour des calculs dynamiques dans LuckyTemplates.
Calculez la marge en pourcentage à l
Dans ce didacticiel, nous allons explorer une méthode rapide pour convertir du texte en formats de date à l
Dans ce blog, vous apprendrez à enregistrer automatiquement la pièce jointe d
Découvrez comment adapter les cellules Excel au texte avec ces 4 solutions simples pour améliorer la présentation de vos données.
Dans ce didacticiel SSRS Report Builder, découvrez comment utiliser le générateur d
Découvrez les outils pour créer un thème de couleur efficace pour vos rapports LuckyTemplates et améliorer leur apparence.