Quest-ce que le self en Python ? Exemples concrets
Qu'est-ce que le self en Python ? Exemples concrets
Chaque fois que vous avez entendu une explication sur l'utilisation des variables LuckyTemplates DAX, vous avez peut-être entendu l'expression « les variables sont des constantes ». Cela semble simple, mais il y a beaucoup de nuances et de complexité dans ces mots. Dans ce blog, je vais vous expliquer ce que signifie cette phrase et les implications sur la façon dont vos mesures sont calculées. La compréhension de ces concepts est essentielle pour s'assurer que vos mesures produisent les résultats souhaités. Vous pouvez regarder la vidéo complète de ce tutoriel au bas de ce blog.
Une variable dans DAX peut vraiment être n'importe quelle expression DAX valide. Il peut s'agir d'une valeur, d'un calcul, d'une mesure ou d'une variable qui représente un tableau, une autre variable ou une combinaison de ces éléments.
Il y a deux parties dans une variable. Il y a la déclaration où vous initialisez la variable ; vous lui donnez un nom puis une valeur. L'autre est l' instruction RETURN , qui appelle ensuite au moins une des variables que vous déclarez. Ce n'est pas comme les parenthèses où vous devez avoir une instruction RETURN pour chaque variable, mais vous devez avoir au moins une instruction RETURN si vous avez déclaré des variables.
La clé ici est que, comme je l'ai déjà dit, les variables sont constantes. Cela signifie qu'une fois que des variables ont été affectées à une valeur, cette valeur ne peut pas changer avant l'instruction RETURN .
Table des matières
Application de variables LuckyTemplates DAX dans des mesures
Jetons un coup d'œil à un exemple simple où j'ai des pays et des ventes totales. La mesure Total Sales n'est que notre mesure la plus basique, qui est la of Line Sales dans la table Sales.
Disons que nous voulons obtenir les ventes totales pour l'année 2020. Dans cet ensemble de données, nous avons des ventes pour 2019, 2000 et 2021. Pour obtenir les ventes pour 2020, nous devons appliquer une condition de filtre très simple, qui est . Donc, nous changeons notre contexte de filtre. Nous avons notre mesure des ventes totales, puis notre année est 2020.
Si nous déposons cette mesure dans le tableau, nous obtenons exactement ce que nous attendons, c'est-à-dire le bon chiffre pour 2020.
Maintenant, si nous voulons appliquer des variables à cela, voici une version légèrement révisée de la mesure précédente, où j'ai créé une variable appelée TotSales , et je l'ai simplement définie comme égale à notre mesure Total Sales.
Si nous y réfléchissons du point de vue de la substitution algébrique, si nous remplaçons simplement ce qui était auparavant notre mesure Total Sales ici pour TotSales, qui est égale à cette mesure Total Sales, vous penserez que cela pourrait être la même chose et produire le même résultat. Mais si nous regardons, et que nous déposons cette mesure dans notre tableau, nous verrons qu'elle ne produit pas le même résultat.
La variable TotSales est déclarée et obtient la valeur des ventes totales. Supposons que nous soyons sur la ligne de la Moldavie et que cette variable ait la valeur de 2,35 millions. Maintenant, rappelez-vous que la valeur ne peut pas changer tant que l'instruction RETURN n'a pas été appelée. Ainsi, lorsque nous descendons pour calculer notre mesure dans la variable RESULT , nous avons TotSales, qui est une constante à 2,35 millions.
Et puis, nous lui appliquons notre contexte de filtre, Dates[Year] est égal à 2020 , mais cela n'a pas d'importance car cette constante ne peut pas changer. Donc, nous pourrions dire que Dates[Year] est égal à 2019, 2021, et ainsi de suite, ce sera toujours le même 2,35 millions parce que TotSales est maintenant verrouillé comme une constante jusqu'au RETURN .
Et quand il revient, nous passons à la ligne suivante, et la variable prend la valeur des Pays-Bas (4,4 millions). Le processus se répète, le verrouillant comme une constante jusqu'à l'instruction RETURN. Ce que nous obtenons est exactement ce que nous avons dans la mesure des ventes totales, pas dans la mesure qui filtre jusqu'en 2020.
Et donc, vous pensez peut-être que cela ne semble pas très utile. Dans ce contexte, ce n'est pas le cas. C'est en fait une erreur courante lorsque les gens commencent à utiliser des variables . Ils placent la variable dans la première partie d'expression de l'instruction CALCULATE. Cela ne donnera généralement pas le résultat qu'ils recherchent, car cela le verrouille en tant que valeur constante.
Utilisation des variables LuckyTemplates DAX dans les itérateurs
Les variables brillent vraiment lorsque vous les placez dans des itérateurs. Je vais vous parler de cette affaire, qui est une valeur précédente. Nous recherchons une date, puis une valeur antérieure soumise à un certain nombre de conditions.
N'oubliez pas que la façon dont vous deviez le faire avant que les variables n'arrivent dans DAX était via une fonction appelée . Mais maintenant, les variables fonctionnent si bien dans ce contexte. Avec les variables, il est fortement recommandé de ne plus jamais utiliser cette fonction EARLIER.
Alors, regardons un exemple plus complexe, où nous avons des variables dans la partie itérateur plutôt que dans la partie expression. Ci-dessous se trouve en fait un cas d'une question qui est apparue dans le dans laquelle le membre voulait regarder chaque date dans une plage, puis trouver la première date antérieure qui n'était pas un week-end ou un jour férié.
Je veux me concentrer particulièrement sur le mardi 15 octobre comme premier exemple. Le résultat souhaité était de regarder cette date. Lundi était Columbus Day, donc c'était un jour férié, puis les jours précédents étaient dimanche et samedi. Et donc, la date que nous voulions obtenir était le 11 octobre, qui était le vendredi.
Si vous regardez la colonne Jour précédent/Pas de week-end/Pas de vacances pour cela, le mardi était le 11. La même chose était vraie pour le lundi, le dimanche et le samedi. C'est ce que nous voulons obtenir comme résultat.
À côté du tableau ci-dessus se trouve la mesure que nous avons utilisée pour ce scénario de cas. Nous avons déclaré une variable qui était la date sélectionnée ( VAR SelDate ), et qui était juste de la Date. Il reprendrait le 15 octobre dans notre variable, puis le maintiendrait comme une constante jusqu'à l'instruction RETURN.
Ensuite, nous évaluons le DAX de l'extérieur vers l'intérieur. Si nous regardons la condition du filtre, il supprime les filtres sur les dates, puis il définit une série de filtres supplémentaires. Il prend cette date constante sélectionnée, le 15 octobre, et il dit, donnez-moi toutes les dates avant cela. Et puis, parmi ces dates, assurez-vous qu'aucune de ces dates n'est un samedi, un dimanche ou un jour férié. Ensuite, il prend le de ces dates qui ont été filtrées.
Vous pouvez voir ici que le fait d'avoir sélectionné des données comme constantes est une sorte d'enjeu dans le sol sur lequel toutes les autres dates sont évaluées avant ou après.
Nous avons notre date sélectionnée, puis nous filtrons tout ce qui est antérieur à cela. Nous prenons le maximum de cette table filtrée. Et donc, ce que nous obtenons est le maximum le 15 lorsque nous supprimons toutes ces autres conditions, c'est ce vendredi 11. Ensuite, si nous descendons à l'instruction RETURN, cela recommence le lendemain, le 16. Il continue simplement à parcourir la table jusqu'à ce qu'il arrive à la fin des données.
Comme vous pouvez le voir dans ce cas, lorsque nous mettons des variables dans la partie itérateur plutôt que dans la partie expression, cela fonctionne exactement comme prévu. Il tire parti du fait que les variables sont des constantes.
Utilisation de variables dans LuckyTemplates - Un exemple détaillé
Comment utiliser des formules DAX étendues dans LuckyTemplates - Conseils de mise en forme inclus
Variables DAX et commentaires pour simplifier les formules
Conclusion
Dans ce blog, je vous ai montré comment appliquer des variables LuckyTemplates DAX dans une mesure et comment cela fonctionne lorsque des variables sont placées dans la partie itérateur d'une mesure.
J'espère que ces exemples expliquent l'expression "les variables sont constantes", vous donnant peut-être un aperçu de la raison pour laquelle vos mesures semblent fonctionner et parfois non. J'espère que cela vous donne une compréhension générale de ce que signifie ce concept important.
Tous mes vœux!
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