logo kpi consulting
a
Fonctions de filtrage de type ALL
Microsoft Power BI

Voir plus d’articles

Dans l’univers de Power BI, maîtriser les fonctions ALL, ALLSELECTED et ALLEXCEPT est essentiel pour créer des calculs précis et des rapports dynamiques. Ces fonctions permettent de manipuler le et les filtres, mais leur utilisation dépend du besoin spécifique : répartition de budget, analyse de quote-part, ou conservation de certains filtres.

Dans cet article, découvrez comment choisir entre ALL, ALLSELECTED et ALLEXCEPT en fonction de vos objectifs, avec des exemples concrets et des bonnes pratiques pour éviter les pièges courants.

1. Qu’est-ce que le contexte de requête dans Power BI ?

Avant de plonger dans les fonctions, il est crucial de comprendre le contexte de requête. Dans Power BI, chaque visuel (tableau, graphique, etc.) est influencé par :

  • Les filtres appliqués (par l’utilisateur ou le rapport).
  • Les lignes et colonnes du visuel.
  • Les relations entre les tables.

Par défaut, Power BI calcule les données en fonction de ce contexte. Les fonctions ALL, ALLSELECTED et ALLEXCEPT permettent de modifier ou supprimer ce contexte pour obtenir des résultats spécifiques.

2. La fonction ALL : Supprimer tous les filtres et contextes

À quoi sert ALL ?

La fonction ALL supprime tous les filtres, contextes de lignes et de colonnes appliqués à une table ou à des colonnes spécifiques. Elle est idéale pour :

  • Répartir un budget annuel en fonction de quote-parts historiques.
  • Ignorer les filtres utilisateur pour afficher des données globales.

Exemple d’utilisation

Il est possible de l’utiliser au sein d’un CALCULATE, comme ceci :

Fonction ALL

Fonction ALL

Cela permet que quel que 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.

Fonction ALL

  • Si une colonne n’est pas incluse dans ALL, son contexte s’applique toujours.
  • , incluez toutes les colonnes liées dans la fonction.

Fonction ALL

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.

3. La fonction ALLSELECTED : Conserver les filtres utilisateur

À quoi sert ALLSELECTED ?

Contrairement à ALL, ALLSELECTED ne supprime que les contextes de lignes et de colonnes, mais conserve les filtres appliqués par l’utilisateur. Elle est utile pour :

  • Afficher la quote-part d’une catégorie dans un total filtré (ex : pour un chef de produit).
  • Maintenir la cohérence avec les sélections de l’utilisateur.

Exemple d’utilisation

Là encore, il est possible de l’utiliser au sein d’un CALCULATE, comme ceci.

ALLSELECTED

C’est la fonction employer quand on 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.

ALLSELECTED

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

4. La fonction ALLEXCEPT : Conserver des filtres spécifiques

À quoi sert ALLEXCEPT ?

ALLEXCEPT supprime tous les contextes de requête sauf ceux des colonnes spécifiées. Elle est optimale pour :

  • : Plutôt que de lister 9 colonnes à exclure avec ALL, utilisez ALLEXCEPT pour en conserver 1.
  • Conserver un filtre critique (ex : un regroupement de catégories).

Rappel : si vous souhaitez retirer une colonne triée par une autre, il vous faut impérativement retirer les deux.

Exemple d’utilisation

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.

ALLEXCEPT

 

ALLEXCEPT

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.

7. Conclusion 

Les fonctions ALL, ALLSELECTED et ALLEXCEPT sont des outils puissants pour manipuler le contexte de requête dans Power BI. Leur choix dépend de votre objectif :

  • ALL pour ignorer tous les filtres.
  • ALLSELECTED pour conserver les filtres utilisateur.
  • ALLEXCEPT pour préserver des contextes spécifiques.

dans vos rapports ? Contactez-nous pour un accompagnement personnalisée !