La fonction ALLEXCEPT sur Power BI

-
3
 m de lecture
-

Power BI est un outil de Business Intelligence et de visualisation des données développé par Microsoft. Il aide les organisations à prendre de meilleures décisions basées sur la data.

Grâce aux analyses, la modélisation et le développement personnalisable, le traitement des données devient plus simple. Néanmoins, vous pouvez avoir besoin d’écrire une formule pour adapter un tableau à vos enjeux commerciaux, financiers ou managériaux. C’est là qu’intervient la fonction ALLEXCEPT de Power BI. Selon la documentation Microsoft, la fonction ALLEXCEPT supprime tous les contextes de filtres, sauf ceux spécifiés par la fonction. Cet article aborde donc en détail la syntaxe, les paramètres et comment appliquer la fonction ALLEXCEPT dans Power BI.

La syntaxe de la fonction ALLEXCEPT dans Power BI

La fonction ALLEXCEPT de Power BI aide les développeurs à supprimer tous les filtres contextuels utilisés dans le tableau, sauf les filtres spécifiés par l’utilisateur ou utilisés dans les colonnes spécifiés. La syntaxe s’écrit donc de la manière suivante :

ALLEXCEPT(<table>,<column>[,<column>[,…]])

Les paramètres de la fonction

Terme Définition
<table> La table sur laquelle tous les filtres de contexte sont supprimés, à l’exception des filtres sur les colonnes, spécifiés dans les arguments suivants.
<column> La colonne pour laquelle les filtres de contexte doivent être préservés.
Le premier argument de la fonction ALLEXCEPT de Power BI doit être une référence à la table de base. Par conséquent, tous les arguments suivants doivent être des références à des colonnes de base. En revanche, la fonction ALLEXCEPT ne prend pas en charge les expressions de table ou de colonnes.

Comment utiliser la fonction ALLEXCEPT dans Power BI ?

La fonction ALLEXCEPT de Power BI n’est pas utilisée seule. En effet, il s’agit d’une fonction intermédiaire qui peut être utilisée pour modifier l’ensemble des résultats sur lesquels les calculs sont effectués. Il existe de nombreux scénarios dans lesquels les fonctions ALL et ALLEXCEPT sont utilisées. La liste est fournie par Microsoft ci-dessous :

Fonction et utilisation Description
ALL(Table) Cette fonction supprime l’intégralité des filtres de la table spécifiée. ALL(table) retourne toutes les valeurs de la table, en supprimant les filtres qui seraient normalement appliqués. La fonction est particulièrement utile quand les développeurs travaillent sur plusieurs niveaux de regroupement et qu’ils créent un calcul qui génère un rapport entre une valeur agrégée et la valeur totale.
ALL (Column[, Column[, …]]) Tous les filtres des colonnes spécifiées de la table sont supprimés. Tous les autres filtres sur les autres colonnes de la table restent en vigueur. Tous les arguments de colonne doivent être dérivés de la même table. Lorsque vous souhaitez supprimer les filtres contextuels d’une ou plusieurs colonnes spécifiques tout en conservant tous les autres filtres contextuels, la variante ALL(Column) s’avère pratique.
ALLEXCEPT(Table, Column1 [,Column2]...) Suppression de tous les filtres de contexte de la table, sauf les filtres appliqués aux colonnes spécifiées. Il s’agit d’un raccourci pratique si vous souhaitez supprimer les filtres de plusieurs colonnes d’un tableau, mais pas toutes.

Exemple pour mieux comprendre la fonction ALLEXCEPT dans Power BI

Admettons que vous travailliez dans un magasin et que vous souhaitiez obtenir une colonne avec le total des commandes par catégories. Aujourd’hui, vous avez deux niveaux de filtres de contexte appliqués :

  • Niveau 1 : la catégorie des produits (meubles) ;
  • Niveau 2 : la sous-catégorie des produits (bibliothèques, chaises, fournitures de bureaux, tables)

L’objectif est donc de garder le filtre Niveau 1, mais pas celui du second niveau. ALLEXCEPT prend alors tout son sens avec la fonction suivante :

= CALCULATE(
[Total Orders],
ALLEXCEPT(Orders,Orders[Product Category])
)

En français courant, nous demandons à l’aide d’une fonction DAX de :

  • Supprimer tous les filtres de contexte, sauf les filtres appliqués à la colonne de catégorie de produits.
  • Calculer la somme totale des commandes de la colonne non supprimée, par catégorie de produits.

Conclusion

La fonction ALLEXCEPT de Power BI permet de supprimer tous les filtres contextuels utilisés dans un tableau, à l’exception de ceux spécifiés par l’utilisateur ou utilisés dans les colonnes spécifiées. Elle peut être utilisée avec d’autres fonctions, comme ALL et CALCULATE, pour modifier l’ensemble des résultats sur lesquels les calculs sont effectués.

La syntaxe de la fonction ALLEXCEPT comprend deux paramètres : une référence à la table de base et une ou plusieurs références à des colonnes de base. Elle ne prend pas en charge les expressions de table ou de colonne. La fonction ALLEXCEPT peut être utilisée dans plusieurs scénarios, comme lorsque l’on souhaite supprimer les filtres contextuels d’une ou plusieurs colonnes spécifiques tout en conservant tous les autres filtres de la table, ou encore lorsque l’on veut ajouter des filtres contextuels à une colonne spécifique tout en conservant tous les autres filtres de la table.

Facebook
Twitter
LinkedIn

DataScientest News

Inscrivez-vous à notre Newsletter pour recevoir nos guides, tutoriels, et les dernières actualités data directement dans votre boîte mail.

Vous souhaitez être alerté des nouveaux contenus en data science et intelligence artificielle ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Newsletter icone
icon newsletter

DataNews

Vous souhaitez recevoir notre
newsletter Data hebdomadaire ?