Événements
31 mars, 23 h - 2 avr., 23 h
L’événement de la communauté Microsoft Fabric, Power BI, SQL et AI ultime. 31 mars au 2 avril 2025.
Inscrivez-vous aujourd’huiCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
s’applique à :colonne calculéetable calculéemesurecalcul visuel
Retourne toutes les lignes d’une table, ou toutes les valeurs d’une colonne, ignorant les filtres qui ont pu être appliqués. Cette fonction est utile pour effacer les filtres et créer des calculs sur toutes les lignes d’une table.
ALL( [<table> | <column>[, <column>[, <column>[,…]]]] )
Terme | Définition |
---|---|
table |
Tableau sur lequel vous souhaitez effacer les filtres. |
column |
Colonne sur laquelle vous souhaitez effacer les filtres. |
L’argument de la fonction ALL doit être une référence à une table de base ou une référence à une colonne de base. Vous ne pouvez pas utiliser des expressions de table ou des expressions de colonne avec la fonction ALL.
Table ou colonne avec filtres supprimés.
Cette fonction n’est pas utilisée par elle-même, mais sert de fonction intermédiaire qui peut être utilisée pour modifier l’ensemble de résultats sur lequel un autre calcul est effectué.
Le comportement normal des expressions DAX contenant la fonction ALL() est que tous les filtres appliqués seront ignorés. Toutefois, il existe certains scénarios où cela n’est pas le cas en raison de auto-exist
, une technologie DAX qui optimise le filtrage afin de réduire la quantité de traitement requise pour certaines requêtes DAX. Par exemple, l’existence automatique et ALL() fournissent des résultats inattendus consiste à filtrer sur deux colonnes ou plus de la même table (comme lorsque vous utilisez des segments) et qu’il existe une mesure sur cette même table qui utilise ALL(). Dans ce cas, l’existence automatique fusionner les filtres multiples en un seul et ne filtre que sur les combinaisons de valeurs existantes. En raison de cette fusion, la mesure sera calculée sur les combinaisons existantes de valeurs et le résultat sera basé sur des valeurs filtrées au lieu de toutes les valeurs attendues. Pour en savoir plus sur l’existence automatique et son effet sur les calculs, consultez l’article Understanding DAX Auto-Exist de Microsoft MVP Alberto Ferrari sur sql.bi.com.
Le tableau suivant décrit comment utiliser les fonctions ALL et ALLEXCEPT dans différents scénarios.
Fonction et utilisation | Description |
---|---|
ALL() | Supprime tous les filtres partout. ALL() ne peut être utilisé que pour effacer les filtres, mais pas pour retourner une table. |
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 être appliqués. Cette fonction est utile lorsque vous travaillez avec de nombreux niveaux de regroupement et que vous souhaitez créer un calcul qui crée un rapport d’une valeur agrégée à la valeur totale. Le premier exemple illustre ce scénario. |
ALL (Column[, Column[, ...]]) | Supprime tous les filtres des colonnes spécifiées dans la table ; tous les autres filtres sur d’autres colonnes de la table s’appliquent toujours. Tous les arguments de colonne doivent provenir de la même table. La variante ALL(Column) est utile lorsque vous souhaitez supprimer les filtres de contexte pour une ou plusieurs colonnes spécifiques et conserver tous les autres filtres de contexte. Les deuxième et troisième exemples illustrent ce scénario. |
ALLEXCEPT(Table, Column1 [,Column2]...) | Supprime tous les filtres de contexte dans la table, à l’exception des filtres appliqués aux colonnes spécifiées. Il s’agit d’un raccourci pratique pour les situations dans lesquelles vous souhaitez supprimer les filtres sur de nombreuses colonnes, mais pas toutes, dans une table. |
Cette fonction n’est pas prise en charge pour une utilisation en mode DirectQuery lorsqu’elle est utilisée dans les colonnes calculées ou les règles de sécurité au niveau des lignes (RLS).
Calculer le ratio des ventes de catégorie à total des ventes
Supposons que vous souhaitez trouver le montant des ventes pour la cellule active, dans votre tableau croisé dynamique, divisé par le total des ventes pour tous les revendeurs. Pour vous assurer que le dénominateur est le même, quel que soit le filtrage ou le regroupement des données par l’utilisateur de tableau croisé dynamique, vous définissez une formule qui utilise ALL pour créer le total général correct.
Le tableau suivant montre les résultats lorsqu’une nouvelle mesure, All Reseller Sales Ratio, est créée à l’aide de la formule indiquée dans la section de code. Pour voir comment cela fonctionne, ajoutez le champ CalendarYear à la zone
Étiquettes de ligne | Accessoires | Vélos | Vêtement | Composants | Total général |
---|---|---|---|---|---|
2005 | 0.02% | 9.10% | 0,04% | 0,75% | 9,91% |
2006 | 0.11% | 24.71% | 0,60% | 4.48% | 29,90% |
2007 | 0,36% | 31.71% | 1.07% | 6.79% | 39,93% |
2008 | 0.20% | 16.95% | 0,48% | 2.63% | 20.26% |
Total général | 0,70% | 82.47% | 2.18% | 14.65% | 100.00% |
formule
= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/SUMX(ALL(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
La formule est construite comme suit :
Le numérateur, SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])
, est la somme des valeurs de ResellerSales_USD[SalesAmount_USD] pour la cellule active du tableau croisé dynamique, avec des filtres de contexte appliqués à CalendarYear et ProductCategoryName.
Pour le dénominateur, vous commencez par spécifier une table, ResellerSales_USD et utilisez la fonction ALL pour supprimer tous les filtres de contexte de la table.
Vous utilisez ensuite la fonction SUMX pour additionner les valeurs de la colonne ResellerSales_USD[SalesAmount_USD]. En d’autres termes, vous obtenez la somme de ResellerSales_USD[SalesAmount_USD] pour toutes les ventes de revendeurs.
Calculer le ratio des ventes de produits au total des ventes au cours de l’année en cours
Supposons que vous souhaitez créer une table affichant le pourcentage de ventes comparées au cours des années pour chaque catégorie de produit (ProductCategoryName). Pour obtenir le pourcentage pour chaque année sur chaque valeur de ProductCategoryName, vous devez diviser la somme des ventes de cette année et de cette catégorie de produit par la somme des ventes pour la même catégorie de produits sur toutes les années. En d’autres termes, vous souhaitez conserver le filtre sur ProductCategoryName, mais supprimer le filtre sur l’année lors du calcul du dénominateur du pourcentage.
Le tableau suivant montre les résultats lorsqu’une nouvelle mesure, Reseller Sales Year, est créée à l’aide de la formule indiquée dans la section de code. Pour voir comment cela fonctionne, ajoutez le champ, CalendarYear, aux étiquettes de ligne
Étiquettes de ligne | Accessoires | Vélos | Vêtement | Composants | Total général |
---|---|---|---|---|---|
2005 | 3.48% | 11.03% | 1.91% | 5.12% | 9,91% |
2006 | 16.21% | 29,96% | 27.29% | 30,59% | 29,90% |
2007 | 51.62% | 38,45% | 48.86% | 46.36% | 39,93% |
2008 | 28,69% | 20,56% | 21.95% | 17.92% | 20.26% |
Total général | 100.00% | 100.00% | 100.00% | 100.00% | 100.00% |
formule
= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/CALCULATE( SUM( ResellerSales_USD[SalesAmount_USD]), ALL(DateTime[CalendarYear]))
La formule est construite comme suit :
Le numérateur, SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])
, est la somme des valeurs de ResellerSales_USD[SalesAmount_USD] pour la cellule active du tableau croisé dynamique, avec des filtres de contexte appliqués aux colonnes CalendarYear et ProductCategoryName.
Pour le dénominateur, vous supprimez le filtre existant sur CalendarYear à l’aide de la fonction ALL(Column). Cela calcule la somme sur les lignes restantes de la table ResellerSales_USD, après avoir appliqué les filtres de contexte existants à partir des étiquettes de colonne. L’effet net est que pour le dénominateur, la somme est calculée sur le ProductCategoryName sélectionné (filtre de contexte implicite) et pour toutes les valeurs dans Year.
Calculer la contribution des catégories de produits au total des ventes par année
Supposons que vous souhaitez créer une table qui affiche le pourcentage de ventes pour chaque catégorie de produit, sur une base annuelle. Pour obtenir le pourcentage de chaque catégorie de produit dans une année particulière, vous devez calculer la somme des ventes pour cette catégorie de produit spécifique (ProductCategoryName) dans l’année n, puis diviser la valeur résultante par la somme des ventes de l’année n sur toutes les catégories de produits. En d’autres termes, vous souhaitez conserver le filtre sur l’année, mais supprimer le filtre sur ProductCategoryName lors du calcul du dénominateur du pourcentage.
Le tableau suivant montre les résultats lorsqu’une nouvelle mesure, Reseller Sales CategoryName, est créée à l’aide de la formule indiquée dans la section de code. Pour voir comment cela fonctionne, ajoutez le champ CalendarYear à la zone
Étiquettes de ligne | Accessoires | Vélos | Vêtement | Composants | Total général |
---|---|---|---|---|---|
2005 | 0,25% | 91,76% | 0,42% | 7,57% | 100.00% |
2006 | 0,38% | 82.64% | 1,99% | 14.99% | 100.00% |
2007 | 0,90% | 79,42% | 2.67% | 17.01% | 100.00% |
2008 | 0,99% | 83,69% | 2.37% | 12,96% | 100.00% |
Total général | 0,70% | 82.47% | 2.18% | 14.65% | 100.00% |
formule
= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/CALCULATE( SUM( ResellerSales_USD[SalesAmount_USD]), ALL(ProductCategory[ProductCategoryName]))
La formule est construite comme suit :
Le numérateur, SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])
, est la somme des valeurs de ResellerSales_USD[SalesAmount_USD] pour la cellule active du tableau croisé dynamique, avec des filtres de contexte appliqués aux champs, CalendarYear et ProductCategoryName.
Pour le dénominateur, vous utilisez la fonction ALL(Column), pour supprimer le filtre sur ProductCategoryName et calculer la somme sur les lignes restantes de la table ResellerSales_USD, après avoir appliqué les filtres de contexte existants des étiquettes de ligne. L’effet net est que, pour le dénominateur, la somme est calculée sur l’année sélectionnée (le filtre de contexte implicite) et pour toutes les valeurs de ProductCategoryName.
fonctions de filtre
fonction ALL
fonction ALLEXCEPT
fonction FILTER
Événements
31 mars, 23 h - 2 avr., 23 h
L’événement de la communauté Microsoft Fabric, Power BI, SQL et AI ultime. 31 mars au 2 avril 2025.
Inscrivez-vous aujourd’hui