Cumuler des données selon des performances dans Power BI : Le guide ultime
Cumuler des données en fonction de performances spécifiques (par exemple, le chiffre d’affaires cumulé par fournisseur) dans Power BI ? Dans un précédent article, nous avions exploré les fonctions cumulatives basées sur des dates. Aujourd’hui, découvrez comment réaliser un cumul basé sur des critères de performance, comme le classement des fournisseurs par chiffre d’affaires (CA).
Pourquoi cumuler des données par performance ?
Contrairement à un cumul chronologique, le cumul par performance permet de :
- Identifier les meilleurs fournisseurs et leur contribution au CA global.
- Analyser la répartition des performances (ex : loi de Pareto).
- Prendre des décisions basées sur des classements dynamiques.
Étape 1 : Définir le rang des fournisseurs avec RANKX
Pour cumuler des données en fonction de la performance, il faut d’abord classer vos fournisseurs. La fonction DAX RANKX est idéale pour cela.
Voici comment l’utiliser pour obtenir le rang de chaque fournisseur en fonction de leur CA :
Rang_frs =
RANKX(
ALLSELECTED(Fournisseur), // Contexte de filtrage (fournisseurs sélectionnés)
[CA_N], // Mesure à classer (CA net)
, // Valeur à ignorer en cas d'égalité
DESC, // Classement par ordre décroissant (du meilleur au moins bon)
SKIP // Gestion des ex-aequo
)
Astuce : Remplacez ALLSELECTED par ALL si vous souhaitez classer l’ensemble des fournisseurs de votre base, sans tenir compte des filtres visuels.
Étape 2 : Calculer le cumul du CA avec CALCULATE et FILTER
Une fois le rang défini, vous pouvez calculer le CA cumulé pour chaque fournisseur. L’idée est d’additionner le CA de tous les fournisseurs dont le rang est inférieur ou égal au rang courant.
CA_cumul_frs =
VAR __rang = [Rang_frs] // Stocke le rang du fournisseur actuel
RETURN
CALCULATE(
[CA_N], // Mesure à cumuler
FILTER(
ALLSELECTED(Fournisseur), // Contexte de filtrage
[Rang_frs] <= __rang // Condition : rang inférieur ou égal
)
)
Pourquoi utiliser FILTER ici ?
La fonction FILTER est nécessaire car la donnée filtrée (Rang_frs) ne provient pas directement de la table source de la mesure [CA_N]. Elle permet de créer un contexte de filtrage dynamique.
Optimisation : Tout en une seule mesure
Si vous n’avez pas besoin d’afficher le rang séparément, vous pouvez combiner les deux étapes dans une seule mesure :
CA_cumul_performance =
VAR __rang =
RANKX(
ALLSELECTED(Fournisseur),
[CA_N],
,
DESC,
SKIP
)
RETURN
CALCULATE(
[CA_N],
FILTER(
ALLSELECTED(Fournisseur),
RANKX(ALLSELECTED(Fournisseur), [CA_N], , DESC, SKIP) <= __rang
)
)
Pour aller plus loin : Le calcul de Pareto
Si votre objectif est d’identifier le CA généré par vos X meilleurs fournisseurs (par exemple, les 20% de fournisseurs qui génèrent 80% du CA), vous devez mettre en place un calcul de Pareto. Ce type d’analyse est particulièrement utile pour :
- Optimiser votre portefeuille fournisseurs.
- Identifier les leviers de performance.
- Prioriser vos actions commerciales.
Découvrez comment réaliser un calcul de Pareto dans Power BI.
Besoin d’aide pour implémenter ces mesures dans vos rapports Power BI ? Contactez-nous pour une formation ou un accompagnement personnalisé !
