Fonctions de filtrage de type ALL

Voir plus d’articles

Partager sur :


Parce que récemment, quelqu’un m’a demandé un éclairage sur la compréhension des différences entre le ALL, le ALLSELECTED et le ALLEXCEPT, il m’est venu l’envie de vous partager ma façon d’appréhender le choix entre ces fonctions.



Dans Power BI, qu’est-ce qu’on fait ?



Tout d’abord, on définit son besoin. En effet, ce n’est pas la même chose de devoir répartir un budget annuel en fonction des périmètres historiques des catégories de produits que de devoir montrer à un chef de produit la quote-part de chacune de ses catégories sur le total de son périmètre.

Lorsque le besoin est correctement défini, alors il est possible de se lancer.

Bon à savoir : Dans le comportement par défaut de Power BI, la donnée est calculée en fonction du contexte de requête mis en place. Le contexte de requête, c’est l’ensemble des filtres appliqués, du croisement des lignes, des colonnes, que l’on visualise au travers d’un visuel.





  •    ALL



    Cette fonction permet de retirer l’ensemble des filtres, des contextes de lignes et de colonnes appliqués sur une table ou sur certaines colonnes d’une table. Cela signifie que l’on ôte tout le contexte de requête. Il est possible de l’utiliser au sein d’un CALCULATE, comme ceci.




    C’est la fonction que j’emploie quand on me demande de répartir un montant de budget sur base des quote-part de catégories présentes sur un historique.



    Cela permet que quelque soit les filtres appliqués sur la table des catégories par la personne qui regarde les données, elle voit bien uniquement la quote-part du budget qui correspond à son périmètre.





    Il est possible dans le cas de cette fonction de retirer une table complète, comme précédemment, ou seulement d’une ou plusieurs colonnes. On l’écrirait alors comme ceci.





    Attention, bien évidemment, dans le cas où on ajouterait une donnée de la table Catégories non comprises dans la fonction, le contexte de requête sur ce champ s’applique. Cela ne serait donc pas juste ici pour l’utiliser comme dénominateur dans notre quote-part de répartition de budget.





    Cet exemple, et tous ceux qui suivront, sont des exemples simples, qui ne prennent pas en compte la totalité du modèle. Il faut bien évidemment prendre en considération l’exhaustivité du modèle pour répartir correctement un budget selon des axes d’analyse historiques.



    •    ALLSELECTED



      Cette fonction permet de retirer uniquement des contexte de lignes et de colonnes parmis l’ensemble du contexte de requête. Cela signifie que le contexte de filtre continue de s’appliquer dans le calcul. Là encore, il est possible de l’utiliser au sein d’un CALCULATE, comme ceci.





      C’est la fonction que j’emploie quand on me demande de donner à un Chef de produit la quote-part de chacune de ses catégories parmi le total qui le concerne. Ici, le calcul se refait sur une base 100 correspondant toujours au contexte de filtre, et ne prend pas en considération le contexte de ligne ou de colonne.





      Pour celle-ci également, on peut retirer la table complète ou de seulement quelques colonnes.



      •    ALLEXCEPT



        Cette fonction permet de retirer l’ensemble du contexte de requête posé sur une table, sauf pour les colonnes précisées. Quand on souhaite retirer les contextes pour toutes les colonnes sauf une, sur une table qui fait 10 colonnes, il est donc plus pertinent d’utiliser cette fonction qui permettra de citer uniquement la colonne sur laquelle la contextualisation devra continuer à se faire, plutôt que d’utiliser un ALL et de préciser les 9 colonnes sur laquelle la contextuation devra s’arreter.



        Imaginons que l’on souhaite un calcul retire le contexte de toutes notre table de catégories, sauf le regroupement, on pourrait l’écrire comme ceci.





        Cet exemple dans lequel la Description est présente,  permet de bien voir la différence entre le comportement du ALL et du ALLEXCEPT. Le ALL ne s’applique pas sur le contexte de Description, tandis que le ALLEXCEPT s’applique et retire le contexte.



        KPI Consulting – Julie GUIDE