RANKX Deep Dive : une fonction LuckyTemplates DAX

RANKX Deep Dive : une fonction LuckyTemplates DAX

Aujourd'hui, nous allons plonger profondément dans RANKX, une fonction DAX scalaire dans LuckyTemplates qui vous permet de renvoyer le classement d'un nombre spécifique dans chaque ligne de tableau faisant partie d'une liste de nombres. Vous pouvez regarder la vidéo complète de ce tutoriel au bas de ce blog.

Table des matières

Exemples de scénarios

Nous analyserons certains des scénarios les plus importants, y compris quand référencer une table entière et un nom de champ dans la .

Nous examinerons également ce qui se passe lorsque le niveau de granularité diminue et lorsqu'un ordre de tri est appliqué sur un champ. Enfin, nous examinerons de plus près la meilleure pratique pour référencer un nom de table ou un nom de champ le long de la table et comment le classement est évalué en arrière-plan.

Scénario RANKX 1 : Classement des clients

Dans notre premier scénario, nous souhaitons calculer le classement de nos clients et référencer l'intégralité de la table des clients dans la fonction RANKX. En fin de compte, nous découvrirons comment les résultats sont évalués.

Commençons donc par ouvrir LuckyTemplates et cliquez sur le bouton Options des ventes totales sous l' onglet Mesures clés , puis accédez à Nouvelle mesure . Écrivez une mesure pour le classement des clients (par exemple, "Classement des clients =").

Vous pouvez afficher les résultats en faisant glisser la mesure de classement du client à l'intérieur du tableau.

RANKX Deep Dive : une fonction LuckyTemplates DAX

Mais est-ce la meilleure approche pour chaque scénario ? Que se passe-t-il s'il y a deux personnes portant le même nom mais dans des villes différentes ? Ou que se passe-t-il si nous avons deux endroits avec le même nom mais des territoires différents ?

Scénario RANKX 2 : Classement des villes V1

Maintenant, appliquons la même approche dans le premier scénario. Cette fois, cependant, nous l'appliquerons sur la table des régions où nous avons deux villes portant le même nom mais à deux endroits différents.

RANKX Deep Dive : une fonction LuckyTemplates DAX

Comme vous pouvez le voir dans l'image ci-dessus, à l'intérieur du tableau des régions, nous avons deux villes portant le même nom, mais elles sont disponibles sous deux territoires différents. Que se passe-t-il lorsque nous appliquons les mêmes étapes de notre scénario précédent ?

Les résultats ressembleront à ceci :

RANKX Deep Dive : une fonction LuckyTemplates DAX

Maintenant, nous commençons à voir un problème avec notre formule de classement. Comme la fonction RANKX itère sur tout un ensemble de tables, elle ne peut pas consolider les résultats pour les villes du même nom, qui sont disponibles sous deux territoires différents. Cela aboutit finalement à une erreur.

Pour résoudre ce problème, vous devez référencer le nom du champ dans la fonction RANKX et le nom de la table, comme dans l'image ci-dessous.

RANKX Deep Dive : une fonction LuckyTemplates DAX

Alors, comment a-t-il corrigé l'erreur ? Lorsque nous référençons un nom de champ à l'intérieur de la fonction RANKX, il ne l'itèrera que dans cette colonne et non dans toute la table.

Il supprimera les doublons même si les deux villes sont disponibles dans deux territoires différents, les consolidant ainsi en une seule ville.

Scénario RANKX 3 : Classement des territoires

Alors que se passe-t-il lorsque le niveau de granularité diminue ?

Dans ce cas, vous verrez l'erreur lors du calcul du classement au niveau territorial. La raison en est que lorsque nous référençons uniquement le nom de la table et ignorons à nouveau le nom de la colonne, il l'itère sur une table entière, échouant ainsi à consolider les résultats au niveau territorial.

Pour obtenir des résultats corrects au niveau territorial, vous devez référencer le champ des territoires dans la table des régions. Mais quand devez-vous référencer l'intégralité du thème du tableau et inclure le nom du champ avec le tableau ?

Lorsque le classement est appliqué sur le niveau de granularité le plus bas, nous pouvons nous référer au nom de la table et ignorer le nom du champ.

RANKX Deep Dive : une fonction LuckyTemplates DAX

Mais lorsque le niveau de granularité diminue, nous devrons référencer le nom de la colonne avec le nom de la table. Jusqu'à présent, nous n'analysons les résultats que dans un seul visuel, c'est-à-dire un tableau.

Classement des villes V2 : la meilleure approche avec Slicer

Dupliquons le deuxième scénario où le côté gauche du visuel référencera uniquement un nom de table tandis que le côté droit référencera le nom de la colonne dans la fonction RANKX. Nous comparerons ensuite les résultats en amenant un segment sur cette page sous la forme de territoires, ce qui donne l'image ci-dessous.

RANKX Deep Dive : une fonction LuckyTemplates DAX

Lorsque nous effectuons une sélection dans le slicer, vous remarquerez que sur le côté gauche du visuel de la table, il ne fournit pas le résultat dans l'ordre séquentiel puisque RANKX itère sur toute la table de la région. Sur le côté droit du visuel du tableau, cependant, vous verrez les résultats dans un ordre séquentiel.

La raison en est que RANKX itère uniquement sur une colonne de table spécifique, ce qui lui permet de filtrer les résultats en fonction de la sélection effectuée dans le segment. C'est aussi l'une des choses les plus importantes à retenir.

Si nous voulons voir les résultats du classement global, nous pouvons référencer uniquement le nom de la table dans la fonction RANKX .

Mais si nous voulons que nos résultats soient dans l'ordre séquentiel selon la sélection effectuée dans le segment, nous devons également référencer un nom de colonne dans la fonction.

Scénario RANKX 4 : Classement des produits

Enfin, passons à notre scénario final. Examinons ce qui se passe lorsque nous passons une commande de produit sur un certain champ et comment le RANKX évalue le classement à l'arrière.

Dans ce scénario, nous utilisons le nom des produits de la table des produits pour analyser quels sont nos produits les plus performants .

Donc, tout comme dans le premier scénario, vous devez écrire une mesure de classement pour vos produits (dans ce cas, utilisez bien le classement des produits). Si vous apportez la mesure de classement des produits à l'intérieur du visuel, vous verrez un résultat similaire à l'image ci-dessous :

RANKX Deep Dive : une fonction LuckyTemplates DAX

Vous pouvez voir que même si nous avons référencé notre champ de nom de produit dans la fonction RANKX, il n'évalue pas correctement les résultats. Pourquoi cela se produit-il donc? Pour répondre à cette question, nous devons ouvrir DAX Studio .

Scénario RANKX 5 : Studio DAX

Alors ouvrons le studio DAX et voyons comment RANKX évalue les résultats du classement en arrière-plan.

Dans l'image ci-dessous, j'ai copié la requête du visuel de la table via l' analyseur de performances et je l'ai collée dans le studio DAX. Comme vous pouvez le voir dans cette requête, il y a aussi l'index des produits, un champ de tri à l'intérieur de la table des produits.

RANKX Deep Dive : une fonction LuckyTemplates DAX

Ainsi, même si dans notre tableau visuel nous n'avons apporté que le nom du produit, les ventes totales et la mesure de classement, ce champ est référencé par défaut à l'arrière du calcul de classement.

Alors maintenant, corrigeons notre mesure de classement des produits en référençant le champ de tri dans la fonction RANKX et voyons les résultats pour la dernière fois.

RANKX Deep Dive : une fonction LuckyTemplates DAX

Comme vous pouvez le voir dans l'image ci-dessus, les résultats pour les noms de produits sont maintenant correctement évalués. Ainsi, chaque fois que nous avons un champ trié par un autre champ, nous devons référencer les deux champs dans la fonction RANKX en fonction de tous les scénarios dont nous avons discuté aujourd'hui.

Conclusion

Ce sont donc quelques-uns des scénarios lors de l'utilisation de la fonction RANKX dans les calculs DAX. Dans l'ensemble, il existe de nombreuses autres façons de le faire dans un large éventail de fonctions.

La chose la plus importante à retenir est que vous devez comprendre le contexte dans lequel votre fonction RANKX est placée.

RANKX est exceptionnellement polyvalent pour calculer n'importe quelle analyse de type de classement dans LuckyTemplates. Il permet également des informations avancées qui impressionnent les consommateurs de vos rapports et visualisations.

Tous mes vœux,

Dur Anil Joshi


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