Fonction ALLEXCEPT
Supprime tous les filtres de contexte de la table, à l'exception de ceux qui ont été appliqués aux colonnes spécifiées.
Syntaxe
ALLEXCEPT(<table>,<column>[,<column>[,…]])
Paramètres
Terme |
Définition |
---|---|
table |
Table sur laquelle tous les filtres de contexte sont supprimés, à l'exception des filtres sur les colonnes qui sont spécifiées dans les arguments suivants. |
column |
Colonnes pour lesquelles les filtres de contexte doivent être conservés. |
Le premier argument de la fonction ALLEXCEPT doit être une référence à une table de base ; tous les arguments suivants doivent être des références à des colonnes de base. Vous ne pouvez pas utiliser d'expressions de table ou de colonne avec la fonction ALLEXCEPT.
Valeur de retour
Table avec tous les filtres supprimés à l'exception de ceux des colonnes spécifiées.
Notes
Cette fonction n'est pas utilisée seule, mais sert de fonction intermédiaire qui peut être utilisée pour modifier le jeu de résultats sur lequel un autre calcul est effectué.
Comme décrit dans le tableau ci-dessous, vous pouvez utiliser les fonctions ALL et ALLEXCEPT dans différents scénarios.
Fonction et utilisation |
Description |
---|---|
ALL(Table) |
Supprime tous les filtres de la table spécifiée. En fait, ALL(Table) retourne toutes les valeurs de la table, en supprimant du contexte tous les filtres qui auraient sinon pu être appliqués. Cette fonction est utile lorsque vous travaillez avec de nombreux niveaux de regroupement et souhaitez créer un calcul qui crée un ratio d'une valeur agrégée sur une valeur totale. |
ALL (Colonne[, Colonne[, …]]) |
Supprime tous les filtres des colonnes spécifiées dans la table ; tous les autres filtres sur les autres colonnes de la table restent applicables. Tous les arguments de colonne doivent venir de la même table. La variante ALL(Colonne) est utile lorsque vous souhaitez supprimer les filtres de contexte d'une colonne spécifique ou plus et conserver les autres. |
ALLEXCEPT (Table, Colonne1 [, Colonne2]...) |
Supprime tous les filtres de contexte de la table, à l'exception de ceux qui sont appliqués aux colonnes spécifiées. Ceci est un raccourci commode lorsque vous souhaitez supprimer les filtres sur beaucoup de colonnes d'une table, mais pas toutes. |
Exemple
L'exemple suivant présente une formule que vous pouvez utiliser dans une mesure. Pour plus d'informations sur la création d'une mesure, consultez Créer une mesure dans un tableau croisé dynamique ou un graphique croisé dynamique.
La formule calcule la somme de SalesAmount_USD et utilise la fonction ALLEXCEPT pour supprimer tous les filtres de contexte de la table DateTime, sauf si le filtre a été appliqué à la colonne CalendarYear.
[!REMARQUE]
L'exemple ci-dessus utilise les tables ResellerSales_USD et DateTime de l'exemple de classeur DAX. Pour plus d'informations sur les exemples, consultez Obtenir des exemples de données.
=CALCULATE(SUM(ResellerSales_USD[SalesAmount_USD]), ALLEXCEPT(DateTime, DateTime[CalendarYear]))
Dans la mesure où la formule utilise ALLEXCEPT, chaque fois qu'une colonne autre que CalendarYear de la table DateTime est utilisée pour découper le tableau croisé dynamique, la formule supprime tout filtre de découpage, en fournissant une valeur égale à la somme de SalesAmount_USD pour la valeur de l'étiquette de colonne, comme illustré dans le tableau 1.
Toutefois, si la colonne CalendarYear est utilisée pour découper le tableau croisé dynamique, les résultats sont différents. Étant donné que la colonne CalendarYear est spécifiée comme argument pour ALLEXCEPT, lorsque les données sont découpées sur l'année, un filtre est appliqué sur les années au niveau de la ligne, comme illustré dans le tableau 2. L'utilisateur est encouragé à comparer ces tableaux pour comprendre le comportement de ALLEXCEPT().