Choisir une date spécifique dans LuckyTemplates à laide du calcul DAX

Choisir une date spécifique dans LuckyTemplates à laide du calcul DAX

Ce didacticiel aborde le choix ou le filtrage d'une date spécifique dans vos rapports de données LuckyTemplates . Le matériel utilisé dans ce tutoriel provient du . Vous apprendrez comment résoudre le problème et comprendrez les méthodes utilisées. Vous pouvez regarder la vidéo complète de ce tutoriel au bas de ce blog.

Table des matières

Comprendre le rapport de données dans LuckyTemplates

Il s'agit de l'exemple de rapport de données qui sera utilisé. Il se compose d'un visuel de table et de deux slicers.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

L'objectif est d'avoir une sélection de date sur la colonne Date du segment. Cela signifie qu'une fois qu'une date dans le segment est sélectionnée, la visualisation du tableau affichera les jours précédents avec un intervalle de 7 jours. Dans cet exemple, les données sélectionnées dans le segment Date sont le 12 mai 2007.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Le tableau doit montrer le précédent avec une différence de 7 jours entre les dates.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Vous devez également créer un paramètre et si pour afficher dynamiquement le nombre de dates en fonction de la sélection. Si vous sélectionnez 3 , le tableau visuel ne doit afficher que 3 dates.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Recréer le tableau et les visualisations

La première étape consiste à créer un paramètre what if . Dans le bureau LuckyTemplates, accédez à l'onglet Modélisation et sélectionnez Nouveau paramètre .

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Ajoutez un nom au paramètre et définissez le Type de données sur Nombre entier . Ensuite, définissez les valeurs minimale, maximale, d'incrémentation et par défaut comme indiqué dans l'image ci-dessous. Ajoutez le slicer à la page en cochant la case.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Après avoir appuyé sur OK, un slicer sera généré. Convertissez le segment en liste en cliquant sur le bouton déroulant et en sélectionnant Liste.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

La prochaine chose à faire est de créer une table de dates dupliquée qui sera utilisée comme table de dates déconnectée. Accédez à l'éditeur de requête avancé et dupliquez Dates .

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Ensuite, renommez le DisDate en double et cliquez sur Fermer et appliquer.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Chargement des tables de dates et des segments dans LuckyTemplates

Une fois la table dupliquée chargée dans le modèle LuckyTemplates, créez un segment avec la colonne de date de la table de date déconnectée. Ouvrez la table DisDate et faites glisser Date sur le canevas.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Ensuite, transformez la visualisation en trancheuse.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Après cela, modifiez le format du segment en List . La visualisation ressemblera alors à ceci.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Ensuite, dupliquez le segment et modifiez le champ de données avec la colonne Date de la table Dates.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

La sélection d'une date dans le segment Dates limitera le nombre de lignes visibles de la table Sales dans la matrice. Si vous sélectionnez le 14 mars 2005, la matrice n'affichera que cette date.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Le résultat et la mesure ne fonctionneront pas si vous utilisez cette configuration. La raison en est que même avant que la mesure ne commence à fonctionner, l'accès de la matrice a déjà été filtré. Pour ces valeurs filtrées, vous ne pourrez pas générer les dates avec des intervalles.

Création de mesures pour les segments de sélection

Vous devez créer une configuration de dates qui ne filtre pas directement la matrice lorsqu'une sélection est placée sur un segment. Le filtrage de la matrice doit provenir du code DAX et non directement des slicers. Ainsi, si vous sélectionnez une date dans le segment DisDate, aucun changement ne se produira dans la matrice.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Cela se produit parce que la table DisDate n'a pas de relation avec la table Dates. C'est pourquoi la table déconnectée est indispensable.

Supprimez le segment avec la table Dates et créez la première mesure. La mesure récupère la valeur sélectionnée dans le segment Dates à afficher. La première variable que vous devez créer est ValuesToShow . Ensuite, associez-le à la valeur Dates à afficher et entrez RETURN pour renvoyer les valeurs sélectionnées.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Faites glisser cette mesure dans la matrice. Si vous sélectionnez 6 dans le segment Dates à afficher, la colonne Mesurer de la matrice donnera également 6.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Ensuite, créez une autre variable qui récupérera la date de déconnexion sélectionnée dans le slicer.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Une fois cela fait, vous verrez la valeur sélectionnée dans le trancheur DisDate affiché dans la colonne Mesurer.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Créer une table calculée

Créez une liste de dates avec des intervalles de 7 jours à partir de la date sélectionnée dans le segment. Ensuite, assurez-vous que la matrice générera le nombre de jours en fonction de la sélection du segment Dates à afficher. Pour ce faire, vous devez d'abord créer une table calculée .

Le tableau calculé vous aide à visualiser comment les dates sont générées dans le code DAX. Accédez à la vue des données et cliquez sur Nouvelle table.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Saisissez la variable SelectedDate et associez-la à la fonction DATE . Ensuite, saisissez une date entre parenthèses. Ensuite, créez une autre variable qui spécifiera le nombre de dates que vous souhaitez afficher dans la matrice. Saisissez DatesToShow et associez-le au nombre de dates.

Après cela, créez une autre variable qui générera une liste de dates avec des intervalles de 7 jours. Entrez DatesList et utilisez la fonction GENERATESERIES . est une fonction qui génère une liste de nombres en passant plusieurs arguments.

Pour le premier argument, saisissez SelectedDate – (DatesToShow * 7)  comme valeur de départ. Ensuite, saisissez SelectedDate comme valeur de fin. Pour le dernier argument, saisissez 7 pour la valeur d'incrément ou l'intervalle entre les dates. Une fois cela fait, fermez la fonction et saisissez RETURN et DateList .

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Vous pouvez alors voir un tableau contenant sept valeurs commençant le 5 mai et remontant par incréments de sept.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Maintenant, vous remarquerez qu'il a créé trop de dates que ce dont vous avez besoin. Dans l'exemple de rapport d'origine, la dernière date affichée avec les mêmes sélections Dates à afficher et Date était le 31 mars.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Pour résoudre ce problème, vous pouvez soit modifier la valeur de la variable DatesToShow à 5, soit soustraire 1 de 6. Dans cet exemple, 1 est soustrait de 6.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Après cela, vous verrez alors que les valeurs se terminent le 31 mars.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Injecter des dates dans le contexte du filtre

Ensuite, vous devez utiliser et injecter ces dates dans un contexte de filtre de date. Vous devez également calculer le montant des ventes dans le contexte du filtre. Donc, copiez la syntaxe GENERATESERIES et revenez à votre mesure.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Dans la mesure, ajoutez une nouvelle variable et saisissez DatesToShow . Ensuite, associez cette variable à la syntaxe GENERATESERIES . Changez les variables à l'intérieur de la syntaxe de SelectedDate en DisSelectedDate et DatesToShow en ValuesToShow .

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Enfin, créez une variable pour le résultat. Associez-le à la fonction CALCULATE sur Total Sales et DatesToShow pour injecter toutes les dates reçues de la syntaxe GENERATESERIES dans le contexte du filtre. Une fois cela fait, saisissez Result dans la fonction RETURN .

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Maintenant, vous verrez que la matrice n'affichera pas les dates demandées par le code DAX. Si vous apportez la mesure Total Sales dans la matrice, vous verrez que le code renvoie le montant Sales lui-même.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Le problème avec la mesure est que la date qui a été créée dans la syntaxe GENERATESERIES a une lignée de données avec la table de date déconnectée. Cela signifie que la table Date n'est pas connectée à la table Sales. C'est pourquoi, lorsque la liste des dates a été appliquée dans le contexte du filtre, elle n'incluait pas la table Sales.

Vous devez utiliser la fonction pour créer des relations virtuelles et appliquer le contexte de filtrage.

Utilisation de TREATAS pour fixer la date dans la matrice LuckyTemplates

Vous devez traiter les valeurs reçues de la syntaxe GENERATESERIES comme si elles faisaient partie de la table Date d'origine. Il s'agit essentiellement de créer une lignée avec la colonne Date de la table Date qui se trouve dans le modèle de données.

Ainsi, dans la variable Result, saisissez TREATAS après la table Total Sales et fournissez les arguments. Pour le premier argument, fournissez la colonne ou la table qui n'a pas la relation. Dans ce cas, la colonne DatesToShow est utilisée.

Pour le deuxième argument, indiquez la colonne à laquelle vous souhaitez mapper le lignage de la colonne dans le premier argument. Dans cet exemple, la colonne Date de la table Dates est utilisée.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Cependant, même avec les corrections dans le code, la colonne Measure de la matrice n'affichera toujours pas les valeurs correctes lors de l'utilisation du slicer. Vous pouvez également remarquer que les valeurs à l'intérieur de la colonne se répètent.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Le problème réside dans la façon dont le code a été écrit. TREATAS applique toutes les valeurs dans le contexte de filtre et remplace le contexte de filtre existant à la date sélectionnée avec toutes les valeurs qui ont été extraites de la fonction GENERATESERIES .

Utilisation de la fonction KEEPFILTERS sur TREATAS

Pour vous assurer que le filtre est injecté dans le filtre sans remplacer le contexte de filtre existant, vous devez utiliser la fonction KEEPFILTERS . modifie la sémantique de filtrage de CALCULATE .

Saisissez KEEPFILTERS avant la fonction TREATAS et confirmez la mesure.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Vous verrez maintenant que les valeurs à l'intérieur de la colonne Mesurer ne se répètent pas.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Si vous développez les mois de mai et d'avril, vous verrez que les valeurs de la colonne Mesure sont égales aux valeurs de la colonne Total des ventes.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Supprimez la mesure Total Sales dans la matrice et sélectionnez un nombre dans le segment Dates To Show. Vous verrez alors le nombre équivalent de dates affiché dans la matrice.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Correction des problèmes de date manquante dans la matrice LuckyTemplates

Un autre problème avec ce rapport est que lorsque vous sélectionnez 8 dans le segment DatesToShow , la matrice ne change pas.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Si vous sélectionnez 9 dans le slicer, la matrice n'affiche que 8 dates. Vous remarquerez également que le 17 mars est absent de la liste des dates.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

La raison en est que certains jours dans la table Date, il n'y a pas de transactions correspondantes dans la table Sales. Ainsi, la mesure renvoie un blanc pour ces dates. Puisqu'il renvoie un blanc, le code qui s'exécute derrière la matrice supprime les lignes vides du résultat.

LuckyTemplates utilise ensuite le résultat renvoyé pour remplir la matrice. Ainsi, puisque certains jours reviennent vides, vous ne pouvez pas voir les ventes et les entrées de ces jours dans la matrice.

Si vous souhaitez afficher quelque chose pour les jours sans ventes dans vos données, revenez à la mesure et supprimez la syntaxe CALCULATE .

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Utilisation de DAX pour résoudre la date manquante dans LuckyTemplates

Créez une lignée de données en écrivant TREATAS sur les colonnes DatesToShow et Date de la table Dates . Ensuite, vérifiez si toutes les dates renvoyées par la fonction TREATAS sont incluses dans le contexte de filtre.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

À partir de là, divisez l'exécution en plusieurs variables. Remplacez le nom de la variable Result par CreateDataLineage pour montrer qu'il stocke le résultat de TREATAS .

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Ensuite, créez une autre variable qui contiendra toutes les dates visibles dans le contexte de filtre provenant de la matrice. Entrez VisibleDate comme nom de variable et utilisez sur la colonne Date .

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

La prochaine chose à faire est de créer une colonne sur le résultat de la fonction TREATAS qui contiendrait le montant des ventes. Écrivez DatesWithSales comme nom de variable et utilisez sur la variable CreateDataLineage .

Dans la fonction, créez une nouvelle colonne et nommez-la Sales Amount avec la mesure Total Sales dans le contexte de ligne pour lancer la transition de contexte.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Après cela, créez une variable qui vérifiera si toutes les dates stockées dans la variable DatesWithSales sont incluses dans le contexte de filtre. Entrez IsDateInFilterContext comme nom de variable et utilisez la fonction .

À partir de là, écrivez DatesWithSales comme premier argument de la fonction. Ensuite, saisissez Dates[Date] IN VisibleDate comme deuxième argument pour vérifier si la date contenue dans la table DatesWithSales est incluse dans la variable VisibleDate .

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

La dernière variable que vous devez créer est Result . Utilisez la fonction sur la variable IsDateInFilterContext . Écrivez [@Sales Amount] + 0 pour inclure les jours qui n'étaient pas inclus auparavant.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Après tout cela, vous verrez alors la date manquante, le 17 mars, dans la matrice.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Utilisation de +0 dans la mesure d'origine

Les étapes précédentes vous ont montré comment créer une mesure pour inclure toutes les dates qui n'ont pas de transactions dans la table des faits. Désormais, si vous utilisez le + 0 dans la mesure d'origine que vous avez créée, les valeurs de la colonne Mesure seront toutes égales à 0.

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

Choisir une date spécifique dans LuckyTemplates à l'aide du calcul DAX

La raison en est que la variable de résultat contient soit un blanc, soit un montant des ventes. Donc, si vous ajoutez 0, vous remplacez le blanc par 0. N'oubliez pas que les colonnes résumées suppriment les lignes vides de l'ensemble de données. Renvoyez-les à LuckyTemplates afin qu'ils ne puissent afficher que des lignes limitées et non les blancs.

Mais comme 0 est ajouté, la colonne de synthèse est forcée de conserver les lignes. Il renvoie ensuite une table qui contient toutes les dates qui existent dans la table Dates et affiche zéro partout où il est applicable ou lorsqu'il est vide.

C'est la raison pour laquelle vous devez réécrire la mesure de manière à n'avoir qu'à ajouter 0 aux dates visibles dans le contexte du filtre et incluses dans la variable DatesToShow .


Connecteurs Power Automate : nombre, texte et date Heure
Table de dates étendue Fonction Power Query M
Power Query LuckyTemplates | Créer de nouveaux enregistrements basés sur des champs de date

Conclusion

Pour créer un rapport de données qui vous permet de sélectionner une date spécifique dans une matrice LuckyTemplates , vous devez utiliser des tables calculées et des fonctions DAX . Les fonctions et les mesures DAX doivent être écrites de manière à obtenir facilement des résultats.


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