Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Pour cet article, j'aimerais parler d'un récent conseil LuckyTemplates que j'ai proposé à un membre du . La question traitait d'un modèle utile en termes d'examen des N premiers jours ouvrables ou des N premiers jours facturables d'un mois donné par rapport à la même période du mois précédent. Vous pouvez regarder la vidéo complète de ce tutoriel au bas de ce blog.

TJ Henneman voulait comparer les 5 premiers jours facturables du mois en cours avec les 5 premiers jours facturables du mois précédent, puis le jour 10, le jour 15 et le jour 20. Notez qu'il souhaite uniquement consulter les jours facturables, cela n'inclut donc pas les week-ends et les jours fériés. Vous pouvez consulter son article .

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Je pense qu'il y a une solution de requête de puissance vraiment intéressante à avoir ici. J'ai également travaillé avec une solution DAX intéressante sur ce problème. Je reviendrai sur ce dernier dans un autre tutoriel.

Je souhaite également vous présenter une technique de création de rapports récente que j'ai utilisée pour LuckyTemplates Challenge #16. J'ai utilisé un indicateur KPI défilant qui fonctionnera très bien pour ce problème particulier.

Mais pour cette astuce LuckyTemplates, j'aborderai la solution PowerQuery. Passons à LuckyTemplates et examinons nos données. Pour celui-ci, j'ai simulé les données à l'aide de l'outil d'ensemble de données d'entraînement que nous avons mis en place chez LuckyTemplates, que vous pouvez utiliser gratuitement. C'est idéal pour constituer un ensemble de données de schéma en étoile de base et pour tester des solutions.

Table des matières

Notre modèle de données

Notre modèle de données utilise notre table de date étendue plus une série de tables de dimension. Nous avons également une table Sales avec trois années de données partielles la première année, des données complètes la deuxième année et des données partielles la troisième année. Enfin, nous avons également un tableau Mesures .

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

J'ai aussi légèrement modifié cet ensemble de données. J'ai introduit une table de vacances et l'ai liée à la table de dates étendues afin qu'elle puisse calculer correctement les vacances que nous supprimerons dans cette analyse. Si vous ne savez pas comment procéder, consultez ce tutoriel .

Ensuite, j'ai filtré le premier mois partiel dans l'ensemble de données, car ce mois ne contenait que quelques jours de données et n'avait pas les jours ouvrables dont nous avions besoin. Prenez note que nous commençons avec le premier mois complet; mais à part ça, ce sera votre jeu de données standard. Passons donc à la requête de puissance et commençons à travailler sur cette astuce LuckyTemplates.

Si nous examinons nos données, vous pouvez voir que nous avons différentes commandes un jour donné. L'objectif est de numéroter tout ce qui commence par le 1er avril comme notre premier jour ouvrable, le 2 avril comme notre deuxième jour ouvrable, le 3 avril comme notre troisième jour ouvrable, etc. Nous numéroterons cela de 1 à N jours ouvrables pour chaque mois en excluant les week-ends et les jours fériés.

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Création d'une table dupliquée

Pour commencer, nous devons créer un double de ce tableau afin que nous puissions agréger les ventes totales et les intégrer au niveau d'observation individuel. Nous allons appeler cette table dupliquée Sales Aggregated .

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Vous avez peut-être remarqué que nous avons dupliqué la table Ventes au lieu de simplement y faire référence. Dans ce cas, nous allons joindre cette table à la table Sales d'origine. Si nous y faisons référence, cela causera des problèmes lorsque nous joindrons les deux.

La première chose à faire est d'utiliser un Group By sur la colonne OrderDate . Cliquez sur le bouton Avancé car cela nous donnera une image complète de ce que nous faisons ici. Nous mettrons Total Day Sales comme nouveau nom de colonne, et ce sera la somme de notre total de ligne.

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Nous avons maintenant chaque date (première colonne) et le total des ventes pour ce jour (deuxième colonne).

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Fusionner le tableau des dates

La prochaine étape de cette astuce LuckyTemplates consiste à fusionner cela avec notre tableau Dates pour déterminer lesquels de ces jours sont des jours ouvrables et lesquels ne le sont pas. Nous pouvons à nouveau regrouper par , les diviser et les numéroter de manière appropriée.

Nous allons fusionner notre table Dates et lier OrderDate à Date . Nous pouvons voir dans la partie inférieure que la sélection correspond à chaque ligne du tableau, comme il se doit.

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Le champ qui nous intéresse principalement est IsBusinessDay .

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Il s'agit du champ principal sur lequel nous allons regrouper, puis nous utiliserons les champs Mois et année et MoisnAnnée .

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Nous devons également vérifier DayofWeekName pour nous assurer que nous filtrons les bons jours.

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Une fois que nous cliquons sur le bouton OK , cela nous donnera exactement ce dont nous avons besoin.

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Nous devons également nous assurer que notre date de commande est triée par ordre croissant.

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Ensuite, nous revenons en arrière et créons un deuxième Group By .

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Cette fois, nous allons cliquer sur le bouton Avancé , grouper sur Mois & Année , puis ajouter un second groupement.

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Le deuxième regroupement est pour IsBusinessDay afin que nous puissions numéroter ceux où les jours ouvrables sont vrais.

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Ensuite, nous créerons une fonction AllRows afin qu'elle ne s'agrège pas et nous pourrons revenir au niveau de granularité d'origine.

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Cela devrait nous donner des tables imbriquées où nous pouvons voir une table pour true et une table pour false pour chaque mois.

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Création d'une colonne personnalisée

Ensuite, nous devons créer une colonne personnalisée pour ajouter le nombre dont nous avons besoin pour les jours ouvrables.

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Nous allons utiliser une fonction appelée Table.AddIndexColumn , qui fonctionnera sur la table AllRows , et nous l'appellerons Day Index . Nous voulons que l'indice commence par 1 et augmente de 1 à chaque nouveau jour ouvrable.

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Ensuite, nous pouvons supprimer les trois premières colonnes et développer notre quatrième colonne personnalisée.

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Si nous regardons le résultat, il nous donne l'index des jours, qui compte les jours ouvrables (vrai), puis compte les jours qui sont les week-ends et les jours fériés de chaque mois (faux). Ensuite, nous devons vérifier que ceux-ci sont dans leur type de champ approprié.

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Revenons à notre table Sales. Nous allons fusionner la table Aggregate que nous venons de créer avec notre table Sales.

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Nous fusionnerons ceux sur OrderDate . Vous pouvez voir en bas qu'il correspond à toutes les lignes du premier tableau.

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Lorsque nous développons la colonne Sales Agg, sélectionnez les nouveaux champs que nous venons d'ajouter : les colonnes Month & Year , DayOfWeekName , MonthnYear , IsBusinessDay et DayIndex .

Nettoyons également nos données avant de cliquer sur Fermer et appliquer . Déplaçons la table Sales Agg dans notre section Data Prep , puis déchargeons cette table car nous n'en aurons pas besoin dans le modèle de données. Cliquez ensuite sur Fermer et appliquer .

Notre travail de préparation des requêtes de puissance est maintenant terminé.

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Création d'un paramètre de simulation

N'oubliez pas que dans la tâche d'origine, nous voulons faire varier le nombre de jours que nous examinons de 5 à 10 et de 15 à 20. Je pense que la meilleure façon de le faire est d'utiliser un nouveau paramètre what- if .

Nous appellerons le paramètre de simulation First N Business Days et son type de données sera un nombre entier. Le minimum est défini sur un incrément de 1 et un maximum de 20. Ensuite, nous prendrons par défaut 5, qui est la première valeur souhaitée par l'utilisateur.

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Nous avons maintenant un segment qui crée automatiquement la mesure de récolte pour capturer la valeur du segment.

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Créons un tableau avec nos résultats. Mettons notre dimension Month & Year dans le canevas, puis trions-la par Month & Year .

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Une fois que nous avons correctement trié ce champ, nous pouvons simplement supprimer la mesure Total Sales et la développer.

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Création d'une mesure pour le nombre de jours ouvrables

Nous devons créer une autre mesure qui examine la valeur du paramètre du curseur et ne calcule que le nombre de jours ouvrables.

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Nous appellerons cette nouvelle mesure Total Sales N Bus Days . Nous allons commencer par la fonction puisque nous changeons définitivement de contexte, et par notre mesure Total Sales. Nous allons filtrer cela avec le de notre table Sales.

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

L'étape suivante consiste à écrire les conditions que nous voulons prendre en compte pour le curseur. Nous avons notre Sales Day Index que nous avons créé dans Power Query, et nous voulons qu'il soit inférieur ou égal à la valeur First N Business Days, qui est la valeur récoltée du slicer.

Par exemple, si le curseur est à 5, nous voulons tous les jours de la table Ventes où l'indice de jour est inférieur ou égal à 5.

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Et puis nous voulons supprimer les jours non ouvrables. Nous allons référencer la table Date et utiliser le champ IsBusinessDay. Nous ne regarderons que le résultat qui est VRAI.

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Enfin, ramenez le contexte pour le mois et l'année et fermez la mesure. Nous devrions être prêts à partir à ce stade.

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Déposons la nouvelle mesure dans notre tableau.

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Nous pouvons amener le trancheur de curseur à la marque des 10 jours, et la table calculera dynamiquement à la marque des 10 jours.

Astuce LuckyTemplates : comment comparer les N premiers jours ouvrables

Conclusion

Dans cette astuce LuckyTemplates, nous avons expliqué comment effectuer une comparaison similaire de manière dynamique à l'aide d'une solution Power Query. Nous pouvons mettre cela dans un graphique à barres ou un graphique linéaire.

Dans certains de nos prochains didacticiels, nous examinerons la solution DAX et implémenterons la visualisation du défileur KPI.

Si vous avez apprécié le contenu couvert dans ce didacticiel particulier, n'oubliez pas de vous abonner à la chaîne de télévision LuckyTemplates .


Quest-ce que le self en Python ? Exemples concrets

Quest-ce que le self en Python ? Exemples concrets

Qu'est-ce que le self en Python ? Exemples concrets

Comment enregistrer et charger un fichier RDS dans R

Comment enregistrer et charger un fichier RDS dans R

Vous apprendrez à enregistrer et à charger des objets à partir d'un fichier .rds dans R. Ce blog expliquera également comment importer des objets de R vers LuckyTemplates.

First N Business Days Revisited - Une solution de langage de codage DAX

First N Business Days Revisited - Une solution de langage de codage DAX

Dans ce didacticiel sur le langage de codage DAX, découvrez comment utiliser la fonction GENERATE et comment modifier dynamiquement le titre d'une mesure.

Présentez des informations à laide de la technique des visuels dynamiques multi-threads dans LuckyTemplates

Présentez des informations à laide de la technique des visuels dynamiques multi-threads dans LuckyTemplates

Ce didacticiel explique comment utiliser la technique Multi Threaded Dynamic Visuals pour créer des informations à partir de visualisations de données dynamiques dans vos rapports.

Introduction au filtrage du contexte dans LuckyTemplates

Introduction au filtrage du contexte dans LuckyTemplates

Dans cet article, je vais parcourir le contexte du filtre. Le contexte de filtrage est l'un des principaux sujets que tout utilisateur de LuckyTemplates doit d'abord connaître.

Meilleurs conseils pour utiliser les applications dans le service en ligne LuckyTemplates

Meilleurs conseils pour utiliser les applications dans le service en ligne LuckyTemplates

Je souhaite montrer comment le service en ligne LuckyTemplates Apps peut aider à gérer différents rapports et informations générés à partir de diverses sources.

Analyser les changements de marge bénéficiaire au fil du temps - Analytics avec LuckyTemplates et DAX

Analyser les changements de marge bénéficiaire au fil du temps - Analytics avec LuckyTemplates et DAX

Découvrez comment calculer les modifications de votre marge bénéficiaire à l'aide de techniques telles que la création de branches de mesure et la combinaison de formules DAX dans LuckyTemplates.

Idées de matérialisation pour les caches de données dans DAX Studio

Idées de matérialisation pour les caches de données dans DAX Studio

Ce didacticiel abordera les idées de matérialisation des caches de données et comment elles affectent les performances des DAX dans la fourniture de résultats.

Rapports dentreprise à laide de LuckyTemplates

Rapports dentreprise à laide de LuckyTemplates

Si vous utilisez encore Excel jusqu'à présent, c'est le meilleur moment pour commencer à utiliser LuckyTemplates pour vos besoins en matière de rapports commerciaux.

Quest-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir

Quest-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir

Qu'est-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir