Quest-ce que le self en Python ? Exemples concrets
Qu'est-ce que le self en Python ? Exemples concrets
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.
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.
Le tableau doit montrer le précédent avec une différence de 7 jours entre les dates.
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.
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 .
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.
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.
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 .
Ensuite, renommez le DisDate en double et cliquez sur Fermer et appliquer.
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.
Ensuite, transformez la visualisation en trancheuse.
Après cela, modifiez le format du segment en List . La visualisation ressemblera alors à ceci.
Ensuite, dupliquez le segment et modifiez le champ de données avec la colonne Date de la table Dates.
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.
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.
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.
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.
Ensuite, créez une autre variable qui récupérera la date de déconnexion sélectionnée dans le slicer.
Une fois cela fait, vous verrez la valeur sélectionnée dans le trancheur DisDate affiché dans la colonne Mesurer.
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.
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 .
Vous pouvez alors voir un tableau contenant sept valeurs commençant le 5 mai et remontant par incréments de sept.
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.
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.
Après cela, vous verrez alors que les valeurs se terminent le 31 mars.
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.
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 .
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 .
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.
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.
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.
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.
Vous verrez maintenant que les valeurs à l'intérieur de la colonne Mesurer ne se répètent pas.
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.
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.
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.
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.
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 .
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.
À 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 .
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 .
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.
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 .
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.
Après tout cela, vous verrez alors la date manquante, le 17 mars, dans la matrice.
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.
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.
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