ALLEXCEPT
S’applique à :Colonne calculéeTable calculéeMesureCalcul visuel
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 |
---|---|
tableau | Table de laquelle sont supprimés tous les filtres de contexte, à l’exception des filtres appliqués aux colonnes spécifiées dans les arguments suivants. |
colonne | Colonne pour laquelle 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 ni d’expressions de colonne avec la fonction ALLEXCEPT.
Valeur de retour
Table dans laquelle tous les filtres ont été supprimés, à l’exception des filtres appliqués aux colonnes spécifiées.
Remarques
Cette fonction ne s’utilise pas seule : elle fait office de fonction intermédiaire qui permet de changer le jeu de résultats sur duquel un autre calcul est effectué.
Les fonctions ALL et ALLEXCEPT peuvent être utilisées dans différents scénarios :
Fonction et utilisation Description ALL(Table) Supprime tous les filtres de la table spécifiée. En effet, ALL(Table) retourne toutes les valeurs de la table, en supprimant tous les filtres du contexte qui auraient pu autrement être appliqués. Cette fonction s’avère utile quand vous travaillez avec de nombreux niveaux de regroupement et que vous voulez créer un calcul qui établisse un rapport entre une valeur agrégée et la valeur totale. ALL (Column[, Column[, …]]) Supprime tous les filtres des colonnes spécifiées de la table ; tous les autres filtres des autres colonnes de la table continuent de s’appliquer. Tous les arguments de colonne doivent provenir de la même table. La variante ALL(Column) est utile quand vous voulez supprimer les filtres de contexte pour une ou plusieurs colonnes spécifiques et conserver tous les autres filtres de contexte. ALLEXCEPT(Table, Column1 [,Column2]...) Supprime tous les filtres de contexte de la table, à l’exception des filtres appliqués aux colonnes spécifiées. C’est une méthode simple à utiliser si vous souhaitez supprimer les filtres sur beaucoup de colonnes, mais pas sur toutes, dans une table. Cette fonction n’est pas prise en charge pour une utilisation en mode DirectQuery quand elle est utilisée dans des colonnes calculées ou des règles de sécurité au niveau des lignes (RLS).
Exemple
La formule de mesure suivante calcule le total SalesAmount_USD et utilise la fonction ALLEXCEPT pour supprimer tous les filtres de contexte sur la table DateTime, sauf les filtres qui ont été appliqués à la colonne CalendarYear.
= CALCULATE(SUM(ResellerSales_USD[SalesAmount_USD]), ALLEXCEPT(DateTime, DateTime[CalendarYear]))
Du fait que la formule utilise la fonction ALLEXCEPT, quand l’une des colonnes (à l’exception de CalendarYear) de la table DateTime est utilisée pour segmenter les données d’une visualisation, la formule supprime tous les filtres de segment, et retourne une valeur égale à la somme de SalesAmount_USD. Toutefois, si la colonne CalendarYear est utilisée pour segmenter la visualisation, les résultats sont différents. Étant donné que CalendarYear est spécifié comme argument dans la fonction ALLEXCEPT, quand les données sont segmentées sur l’année, un filtre est appliqué sur les années au niveau des lignes