Retour

DAX : Filtre inversé

Temps de lecture : 3 minutes

1/Mis en Situation :

Au sein d’une entreprise des employés peuvent avoir différents statuts qui leur donne accès à différentes parties de l’entreprise :
– base de données,
– pièces spécifique,
– entrepôt,

Les différents statuts associés sont stockés dans une table dans une base de données.

Il arrive qu’un utilisateur veut voir la liste des personnes n’ayant pas un certain statut.
une des solutions qu’un utilisateur puisse penser est de segmenter ou filtrer la table.

Au-dessus du tableau, se trouve un segment sur le statut (2) et à droite du tableau un filtre que l’utilisateur peut appliquer sur le tableau. (3)

Si l’utilisateur clique sur un des statuts du segment :

Il obtient dans le tableau les utilisateurs ayant le statut sélectionné.

Maintenant l’utilisateur choisi une valeur dans le filtre au lieu de sélectionner sur le segment :

En sélectionnant dans le filtre, le tableau restera figé sur les utilisateurs qui ont le statut choisi mais le segment permet toujours de sélectionner parmi les 4 statuts disponibles.

Cependant, avec les deux méthodes présentées il n’est pas possible d’afficher la liste des personnes n’ayant pas le statut sélectionné.

Pour faire cela, il faut passer par une mesure DAX.

2/ création d’une table de choix de statut

La formule suivante :

choix statut = DISTINCT(SELECTCOLUMNS(statut,statut[statut]))

crée à partir de la table « statut » une liste avec les différents statuts disponible :

3/ Création d’une mesure


Ensuite, il faut créer une mesure comme celle qui suit :

La mesure suivante :

calcul dans une variable « a » une table qui contient les noms des personnes avec le statut que l’utilisateur choisira. Puis elle attribuera à chaque personne 0 si la personne n’appartient pas à la liste des personnes avec le statut sélectionné et 1 sinon.

Si cette mesure est ajouté dans le visuel table

Tant que l’utilisateur ne selectionne pas un statut issu de la table choix statut, la valeur pour chaque utilisateur sera 0 sauf si le statut de la personne est vide (pas de statut affecté)

Si l’utilisteur sélectionne un statut dans le segment statut_statut

Le chiffre  1 sera affecté à toutes les personnes ayant le statut sélectionné

Si l’utilisateur veut voir ceux qui n’ont pas le statut sélectionné, il peut appliquer un filtre au niveau du visuel tableau sur la mesure 3.

En gardant que les valeurs dont la valeur de la mesure 3 est 0, l’utilisateur obtient la liste des utilisateurs qui n’ont pas le statut sélectionné.

 Dans le tableau, aucun des utilisateurs n’a le statut « aquatique », et si  l’un d’eux l’obtient plus tard le filtre le retirera de la liste.

L’utilisateur peut par la suite retirer la mesure « mesure 3 » du tableau, le plus importante est que la « mesure 3 » soit appliqué au niveau « filtres sur ce visuel »  :

Laisser un commentaire

Il n'y a pas de commentaires pour le moment. Soyez le premier à participer !