Club Power BI

Please login or click SIGN UP FOR FREE to create your PowerBIUG account to join this user group.
Expand all | Collapse all

Dax

  • 1.  Dax

    Posted Aug 10, 2021 05:50 AM
    Edited by savart edouard Aug 10, 2021 05:54 AM
    Bonjour à tous,

    Dans le passé, j'ai réussi à faire cette mesure, mais là je sèche !!!! c'est pourtant simple :)

    Mon code Dax :


    Ecart sur quantite = 
    Var qteLY = [10_TOTAL_QTE_N-1] // formula = 1_TOTAL_QTE = CALCULATE(sum(MVTPDT[QUANTITE]))
    Var qteN = [1_TOTAL_QTE]       // formula = 10_TOTAL_QTE_N-1 = CALCULATE([1_TOTAL_QTE],SAMEPERIODLASTYEAR(TEMPS[Date]))
    var Variation_ttc = qteLY-qteN
    var pmp =CALCULATE(sum(BASE_PRODUIT[PMP]))  // from another table 
    Return
    (pmp*Variation_ttc)

    au niveau de la ligne cela fonctionne parfaitement, parcontre mon total à la fin est faux, j'ai essayé de travaillé avec le SUMX mais sans succès


    L'écart sur chaque ligne est bien correcte
    Par contre l'écart total est lui faux
    je voudrais la Somme de la colonne Ecart

    Mon modèle est assez simple :

    Une table avec tous les mouvements sur 3 ans

    Une table avec les prix à aujourd'hui (le PMP) (nota : une ligne par produit (pas de doublon) )


    Une table de date

    si quelqu'un à une idée je suis preneur

    bien à vous tous :)




    ------------------------------
    savart edouard
    ------------------------------


  • 2.  RE: Dax

    Top Contributor
    Posted Aug 10, 2021 06:30 AM
    Hello,

    1. Le CALCULATE pour faire une somme est inutile,
    2. L'écart Total n'est pas faux, il correspond à ce que vous lui demandez de faire dans la formule (pmp*variation_ttc) :
      1. Pour le vérifier :
        1. Regardez ce que renvoie la variable pmp (77.68870),
        2. Regardez ensuite ce que renvoie la variable variation_ttc (-26 292),
        3. Multipliez l'un par l'autre avec une calculette et ça fera - 2 042 591.30.
    3. Je pense que vous pouvez enlever tous les CALCULATE inutiles puis faire une nouvelle mesure et ajouter une condition,
      1. Si les données sont filtrées par pmp, alors Ecart sur Quantite,
      2. Sinon SUMX(VALUES(BASE_PRODUIT[PMP]), Ecart sur Quantite) 

    Avec un pbix et des données fictives, ce serait plus simple pour vous aider.

    Enfin, il y a un problème dans votre façon d'utiliser des variables. Je pense que pour le moment, pour simplifier les choses, vous devriez simplement utiliser des mesures distinctes pour chaque chose. Une fois que tout fonctionnera, ce sera plus simple de gérer ça avec des variables.

    Bon courage,

    ------------------------------
    Jonathan CHANAL
    Chef de Projet Digital / Data Analyst
    MCSA Power BI & Excel
    ------------------------------



  • 3.  RE: Dax

    Posted Aug 10, 2021 06:34 AM
    Merci beaucoup, je vais tester :)

    ------------------------------
    savart edouard
    ------------------------------



  • 4.  RE: Dax

    Top Contributor
    Posted Aug 10, 2021 06:54 AM
    J'ai testé du coup :)

    • Une mesure : Variation_TTC = ([10_TOTAL_QTE_N-1] - [1_TOTAL_QTE]) * MAX( BASE_PRODUIT[PMP]) -- Je pense qu'il y a une inversion dans vos commentaires de formule
    • Une autre mesure : Ecart Quantite = SUMX(VALUES(BASE_PRODUIT[PMP]), [Variation_TTC])
    Et cela fonctionne sur chaque ligne et sur le Total.

    ------------------------------
    Jonathan CHANAL
    Chef de Projet Digital / Data Analyst
    MCSA Power BI & Excel
    ------------------------------



  • 5.  RE: Dax

    Posted Aug 10, 2021 06:56 AM
      |   view attached
    Re bonjour,

    je viens de faire un modèle TEST, je pense avoir trouvé la solution

    Votre avis ?

    ------------------------------
    savart edouard
    ------------------------------

    Attachment(s)

    pbix
    test ecart qte.pbix   61 KB 1 version


  • 6.  RE: Dax

    Posted Aug 10, 2021 08:17 AM
    Merci encore :)

    ------------------------------
    savart edouard
    ------------------------------



  • 7.  RE: Dax

    Top Contributor
    Posted Aug 10, 2021 08:26 AM
      |   view attached
    J'ai fait quelques modifications :

    • Au niveau du modèle, il faut essayer tant que possible de rester sur un modèle en étoile,
      • La table PMP n'a donc aucune utilité, tout peut rester dans Produit,
      • J'ai remonté les données dans Produit et masqué la table PMP,
    • Pour les mesures :
      • Pas besoin de chose compliquée pour PMP, un MAX ou une simple somme fonctionne,
      • Pour la mesure finale d'écart, vous avez compris l'idée, c'est parfait.

    Bonne continuation pour la suite de votre projet et à bientôt sur le forum,

    ------------------------------
    Jonathan CHANAL
    Chef de Projet Digital / Data Analyst
    MCSA Power BI & Excel
    ------------------------------

    Attachment(s)

    pbix
    test ecart qte.pbix   64 KB 1 version