Somme filtres multiples

Accueil – Le CFO masqué Forums Power BI Somme filtres multiples

  • Ce sujet contient 8 réponses, 4 participants et a été mis à jour pour la dernière fois par did4421, le il y a 2 années et 6 mois.
9 sujets de 1 à 9 (sur un total de 9)
  • Auteur
    Articles
  • #101786
    jojo_917
    Participant

    Bonjour à tous,

    Je rencontre actuellement un problème sur mon rapport PBI qui doit retourner une somme par catégorie selon plusieurs filtres.
    J’ai réalisé un fichier excel exemple pour illustrer mon problème (ci-joint).

    L’objectif est d’obtenir la somme des factures en statut OVERDUE_DUE_PREVISION par Pays (en retirant les clients dont la somme des factures est < 0).
    Une client négatif ne doit pas venir fausser le total par pays.

    En espérant qu’une solution existe à mon besoin.
    Merci d’avance pour le temps que vous consacrerez à ma demande.

    Attachments:
    You must be logged in to view attached files.
    #101789
    Olivier Cucuat
    Participant

    Bonjour Jojo,

    Il y a plusieurs façons de faire.
    J’ai opté pour ajouter une colonne de contrôle sur Query : une colonne personnalisé nommée “CheckPosNeg” qui va retourner “1” si le montant est > 0 et 0 si le montant est < 0

    Ensuite dans la fonction Calculate, j’entre la condition TableFaits[CheckPosNeg]=1 afin de prendre uniquement en compte les montants positifs.

    Vous trouverez la copie d’écran du résultat en attache.

    Olivier

    Attachments:
    You must be logged in to view attached files.
    #101805
    jojo_917
    Participant

    Bonjour Olivier,

    Merci pour l’aide.
    Malheureusement cela ne résout pas mon problème car la manip’ exclue chaque facture < 0 ligne à ligne.
    Je dois faire la somme des factures par client pour une sélection de statut (DUE, OVERDUE, PREVISION), puis exclure les clients dont la somme est négative.
    Et enfin, afficher ces sommes par pays (hors client négatif).

    Désolé si ma demande n’était pas claire.

    En espérant que ces multiples filtres soient possibles dans PBI.

    #102645
    did4421
    Participant

    Bonjour,
    Merci à tous les acteurs de ce site très utile et bien clair.
    il me semble que cette question correspond à ma problématique en cours… je me permets donc de soumettre mon problème qui donnera peut-être un éclairage complémentaire à cette question de “Somme sous plusieurs conditions”:

    Pour résumer mon problème:
    -> a= j’ai un % de CA par article et par vendeur
    -> b= J’ai le rang de ce CA par Vendeur
    ?? Je veux calculer le %cumulé de (a) par ordre croissant de rang (b) ??

    J’ai mis un exemple sous Excel en PJ où je souhaite savoir comment résoudre sous PowerBI la colonne de droite qui sous Excel est un SOMME.SI.ENS avec 2 conditions (j’ai réussi à résoudre les autres colonnes avec PowerBI).

    Attachments:
    You must be logged in to view attached files.
    #102647
    did4421
    Participant

    le tableau sous Excel correspond à cela:
    Vendeur ; Article ; CA ; CA_Vendeur ; %CA vendeur ; Rang ; %cumulé par Rang
    A a 20 80 25% 2 88%
    A b 50 80 63% 1 63%
    A c 10 80 13% 3 100%
    B a 20 160 13% 3 94%
    B b 30 160 19% 2 81%
    B c 10 160 6% 4 100%
    B d 100 160 63% 1 63%
    … et je souhaite calculer la colonne de droite sous PowerBI.

    • Cette réponse a été modifiée le il y a 2 années et 6 mois par did4421. Raison: tableau illisible
    • Cette réponse a été modifiée le il y a 2 années et 6 mois par did4421.
    #102659
    Éric Ste-Croix
    Participant

    Bonjour,

    Au depart, je suggere d’effectuer le calcul du rang des articles par vendeur par des colonnes calculees (et non des mesures). – Voir detail du calcul dans le fichier joint

    Afin d’obtenir le calcul du solde cumulatif sur la base du rang par vendeur, voici la mesure :
    Cumulative Cost = CALCULATE([Tot_Ventes],FILTER(ALLSELECTED(Analyse_Ventes),Analyse_Ventes[RANK_TOTAL]<=MAX(Analyse_Ventes[RANK_TOTAL])))

    La calcul de la somme cumulative est possible en comparant le rang de l’article p/r au rang Max.
    Par la suite, avec le total cumulatif, il s’agit de le diviser par le total des ventes afin d’obtenir le % cumulatif.

    Je joins le fichier exemple.

    En esperant que cela pourra vous aider.

    Eric Ste-Croix

    Attachments:
    You must be logged in to view attached files.
    #102846
    did4421
    Participant

    merci Eric,

    Votre méthode est instructive et fonctionne pour une analyse au cas par cas dans un rapport.

    Comme je le disais à l’énoncé de mon problème, j’avais réussi à calculer le rang des articles en fonction des ventes par vendeur,
    pour cela j’ai utilisé la formule:
    Rang_Article = RANKX(CALCULATETABLE(‘Analyse_Ventes’,ALLEXCEPT(‘Analyse_Ventes’,Analyse_Ventes[Vendeur])),’Analyse_Ventes'[Ventes])
    Ci-joint le fichier.

    Il me reste toujours à trouver le moyen de calculer les ventes cumulées dans une colonne de la table, car je ne peux passer comme vous le proposez par des filtres de rapport, car j’ai plusieurs dizaines de vendeurs et je dois faire ensuite des analyses systématiques sans passer chaque vendeur en revue.
    Dans l’attente de vos réponses…

    Attachments:
    You must be logged in to view attached files.
    #103129
    Éric Ste-Croix
    Participant

    Bonjour,

    La formule DAX suivante permet de calculer les ventes cumulées dans une seule colonne :
    Cumulative Cost = CALCULATE([Tot_Ventes],FILTER(ALLSELECTED(Analyse_Ventes),Analyse_Ventes[RANK_TOTAL]<=MAX(Analyse_Ventes[RANK_TOTAL])),VALUES(Analyse_Ventes[Vendeur]))

    Je joins le fichier demo.

    Eric Ste-Croix

    Attachments:
    You must be logged in to view attached files.
    #103170
    did4421
    Participant

    Bonjour ,
    merci beaucoup, cela marche très bien!

    je comprends maintenant:
    * que l’on peut mettre une pluralité de filtre avec CALCULATE ( expression, filtre1, filtre2, …)
    * avec VALUE , on filtre les données par le fait de simplement les nommer, sans besoin d’expression

    j’ai vu aussi qu’il était possible de faire
    CALCULATE (expression, FILTER (table, ET(filtre1, filtre2, …))

    le problème est résolu pour moi, merci!

9 sujets de 1 à 9 (sur un total de 9)
  • Vous devez être connecté pour répondre à ce sujet.