Quest-ce que le self en Python ? Exemples concrets
Qu'est-ce que le self en Python ? Exemples concrets
La création d'un calendrier de vacances LuckyTemplates est cruciale pour de nombreux calculs d'intelligence temporelle. Dans ce didacticiel, je vais vous montrer comment calculer des dates de vacances spécifiques à l'aide de mesures DAX. Vous pouvez regarder la vidéo complète de ce tutoriel au bas de ce blog.
Cet exemple provient de l'une des initiatives appelée Problème de la semaine, où chaque mois, nous prenons un problème DAX ou Power Query du monde réel et le décomposons en détail.
J'ai utilisé une technique appelée Rubber Duck Debugging. Il est généralement utilisé pour le débogage, mais je trouve qu'il est également très utile pour proposer le cadre initial que vous allez utiliser pour résoudre un problème complexe comme dans LuckyTemplates.
Il s'agit simplement d'utiliser un canard en caoutchouc ou une personne à qui vous parlez et de dire à voix haute la solution que vous envisagez et d'élaborer un plan sur la façon dont vous allez vous attaquer au problème.
Le simple fait d'exprimer qui vous aide souvent à résoudre le problème. Dans certains cas, dans une situation de débogage, cela vous fait réaliser ce que vous faites, si cela a du sens, et aide à trouver un moyen de le résoudre en résolvant le problème.
Vous trouverez ci-dessous le problème DAX du monde réel pour ce défi particulier. Nous avons ici un tableau avec 10 jours fériés avec le mois et le jour. Certains jours sont des jours spécifiques et certains d'entre eux sont relatifs. Nous devons proposer la date de vacances et les mesures célébrées le.
Pour ce faire, nous devons analyser le champ Jour en deux composants. La première analyse est l'occurrence (troisième, dernier, premier, deuxième) et la deuxième analyse est le jour (lundi, jeudi). Ce sont deux informations essentielles que nous devons séparer.
Table des matières
Calcul de dates spécifiques dans le calendrier des jours fériés LuckyTemplates
Normalement, je ferais cela dans Power Query simplement via une division par délimiteurs, mais puisque nous le faisons avec DAX, nous allons devoir le faire d'une manière différente. (Notez que nous ne sommes pas autorisés à utiliser Power Query dans ce défi.)
Nous devons calculer les dates minimales et maximales pour l'année, le mois et le nom du jour spécifiés. Dans ce cas, par exemple, nous pouvons dire pour 2027, janvier et le troisième lundi. Une fois que nous obtenons ce jour minimum pour un mois donné, nous pouvons y ajouter sept jours pour arriver au deuxième lundi, 14 jours pour arriver au troisième lundi et 21 jours pour arriver au quatrième lundi.
Une autre technique que je souhaite partager avec vous en rapport avec ce défi est ce que j'appelle Construire en plusieurs parties lors de la création d'une mesure. Je trouve cela très utile dans une mesure complexe où si vous avez beaucoup de variables, vous avez beaucoup de composants à construire.
Ce que je fais toujours, c'est que j'ai une variable de résultat ( VAR Result ) à la fin et ma dernière instruction qui est juste Return Result . Cela rend très facile de revenir en arrière et de tester les variables que j'ai construites. Je peux parcourir, suivre et résoudre le problème en plusieurs parties.
La dernière technique que je souhaite partager avec vous est ce que j'appelle la recherche de fonctions inconnues. Par exemple, si je ne sais pas quelle fonction utiliser pour ce défi de calendrier de vacances LuckyTemplates, j'irai dans l' onglet Outils externes et accéderai au Guide SQLBI DAX .
Il a une très belle fonctionnalité ici appelée Groupes (sur le côté gauche), où les fonctions sont regroupées par type. Et donc, si je pense à analyser une chaîne de texte, par exemple, je peux aller chercher Text functions .
Il fournit toutes les fonctions de texte de DAX. C'est un excellent moyen de trouver rapidement la fonction DAX dont vous avez besoin pour une mesure.
Mesures DAX pour le calendrier des vacances de LuckyTemplates
Pour la mesure Holiday Date , j'ai créé cette série de s , récoltant les dates du slicer, le mois de vacances, le numéro du mois et le jour de la table Date.
Ensuite, j'ai la longueur de ce jour sélectionné en utilisant la fonction de longueur ( ). Dans ce cas, il a renvoyé du texte, j'ai donc dû l'envelopper dans pour changer ce texte en une valeur numérique.
Et puis, j'ai utilisé la fonction pour la position de l'espace et l'envelopper VALUE, mais en disant, recherchez l'espace dans le jour sélectionné, en commençant à la position un et en retournant zéro si je ne trouve pas cette chaîne là-dedans.
Le CharsBeforeSpace (caractères avant l'espace) est juste le SpacePosition. Le nombre de CharsAfterSpace (caractères après l'espace) est juste la longueur ( SelDayLen ) de la chaîne moins la position de l'espace. À partir de là, nous pouvons faire le FirstParse et le SecondParse .
À ce stade, nous avons maintenant deux variables, une représentant l'occurrence et une représentant le jour.
Et puis, nous avons une base ( Calc1st ) où nous supprimons le filtre de la table Dates. Ensuite, nous appliquons les filtres de l'année sélectionnée à partir du segment, le nom du mois, puis le jour de la semaine à partir de cette deuxième analyse que nous avons effectuée.
De même, on fait la même chose pour le dernier calcul ( VAR CalcLast ).
Une fois que nous avons tout cela, cela passe à une instruction et la dernière partie est le résultat RETURN.
Enfin, je veux vous guider à travers la mesure Célébrée en tant que bonus supplémentaire du défi. Ceci est juste une simple où j'ai pris la date de vacances que nous avons calculée dans la mesure précédente, je suis allé à la table Dates et j'ai recherché le nom du jour de la semaine. Et puis je viens de faire une déclaration SWITCH où nous avons pris ce résultat du DayLookup. Et enfin, je termine avec un RETURN DateAdjust .
Création d'une table de calendrier pour les jours fériés dans LuckyTemplates
Calendriers personnalisés de LuckyTemplates : Calcul du changement d'un mois à l'autre - 445 Calendriers
Comparaison de l'heure pour les tables de dates non standard dans LuckyTemplates
Conclusion
Ce défi LuckyTemplates Holiday Calendar, comme je l'ai mentionné, est un problème du monde réel. La solution que j'ai trouvée est assez complexe, mais vraiment efficace pour calculer les dates de vacances spécifiques.
J'espère que vous avez beaucoup appris de ce tutoriel. Consultez le didacticiel vidéo complet pour une explication plus détaillée des mesures DAX.
Acclamations!
Qu'est-ce que le self en Python ? Exemples concrets
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.
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.
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.
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.
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.
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.
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.
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.
Qu'est-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir