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

Recursive -

  • 1.  Recursive -

    Posted Mar 05, 2019 08:59 AM
    Bonjour,

    Je cherche à faire le calcul suivant  : Stock Mois-1+ Entrées Prév - Sorties Prév pour chaque mois.

    La colonne "Sorties Prev" est une mesure qui fait elle même référence à d'autres mesures. Je dois intégrer une simulation par la suite.
    J'ai une mesure : ForecastCalculation =
    VAR PrevInv = CALCULATE(SUMX('Simulation StockDP (2)'; 'Simulation StockDP (2)'[Stock]); DATEADD(DateTable[Date]; -1; MONTH))
    RETURN (PrevInv + SUMX('Simulation StockDP (2)'; [Entrées Prév - Sorties Prév]))
    Le résultat pour Février est correct mais pour les mois suivants les résultats sont faux car le stock n'est pas valorisé.

    En effet, je dois me baser sur le stock M-1 pour effectuer mon calcul.
    Pour Mars, : Stock Février+ Entrées Prev - Sorties Prév (6673+2576-2693)
    Pour avril : Résultat du calcul de Mars + Entrées Prev - Sorties Prév (6556+1730-2474)
    Pour Mai : Résultat du calcul de Mai + Entrées Prév - Sorties Prév

    thumbnail image

    Exemple sous Excel :

    thumbnail image
    Est-ce possible de faire ce calcul en DAX ?
    Merci par avance de votre aide.

    ------------------------------
    Pierre Baroux
    ------------------------------


  • 2.  RE: Recursive -

    Posted Mar 05, 2019 02:46 PM
    Bonsoir,

    Pour chaque mois
    Stock Final = Stock Initial + somme des entrées depuis le début de l'année -  somme des sorties depuis le début de l'année

    donc pour la somme des entrées et pour la somme des sorties, faire une mesure cumulative avec la fonction TOTALYTD()

    ------------------------------
    FRANCOISE LE PAVEC
    charted accountant / expert-comptable
    Atcompta
    LA ROCHE SUR YON CEDEX
    251066403
    ------------------------------



  • 3.  RE: Recursive -

    Posted Mar 07, 2019 02:47 AM

    Bonjour,

    Merci pour ces éléments de réponses.
    Je vais tester votre solution.
    Je reviens vers vous rapidement.

    Cordialement



    ------------------------------
    Pierre Baroux
    0320056153
    ------------------------------



  • 4.  RE: Recursive -

    Silver Contributor
    Posted Mar 06, 2019 03:32 AM
    Bonjour,

    Juste un détail, la fonction TOTALYTD ne fonctionne que si votre exercice comptable commence en janvier... Pour les Exercices "décalés", il faudra passer par d'autres fonctions.

    SI votre table est résumée comme sur Excel, vous pouvez passez aussi par une colonne calculée.

    Bon courage!

    ------------------------------
    GAUDFROY Guillaume
    Dirigeant
    KPI Consulting
    066302847
    ------------------------------



  • 5.  RE: Recursive -

    Posted Mar 06, 2019 07:06 AM
    Mon cher Guillaume,

    Et pour une fois (qui n'est pas coutume), pas d'accord avec toi !
    La fonction TOTALYTD() fonctionne parfaitement en exercice décalé
    Il faut juste passer en 4ème paramètre le mois de clôture (attention au format).
    -Le 3ème paramètre (facultatif) permet de modifier le contexte de filtre si besoin-

    Pour être complète :
    - il faut que le modèle intègre une table calendrier "native pbi" (cad créée avec une fonction CALENDAR() ou CALENDARAUTO () )
    - et résoudre le problème de l'ordre d'affichage des mois (si vous utilisez la hiérarchie de date en sélectionnant uniquement le mois, le classement se fera de janvier à décembre et non à partir du 1er mois de votre exercice fiscal - dans mon exemple octobre).

    Pour cela la nouvelle fonctionnalité "groupe" ou "compartiment" est très utile 
    A partir du champ date vous créez un groupe comme ci dessous
    Alternative : créer une colonne "numéro de mois" dans la table des dates

    ------------------------------
    FRANCOISE LE PAVEC
    charted accountant / expert-comptable
    Atcompta
    LA ROCHE SUR YON CEDEX
    251066403
    ------------------------------



  • 6.  RE: Recursive -

    Silver Contributor
    Posted Mar 06, 2019 07:20 AM
    Absolument raison Francoise!

    je voulais simplement ajouter que dans ce cas il fallait passer par d'autres fonctions que tu vient de résumer. ( table de dates.... )

    PS : nous sommes plutôt en phase d'habitude... 😀

    ------------------------------
    GAUDFROY Guillaume
    Dirigeant
    KPI Consulting
    066302847
    ------------------------------



  • 7.  RE: Recursive -

    Posted Mar 07, 2019 03:22 AM
      |   view attached

    Bonjour,
    J'ai ajouté une mesure qui effectue le cumul des entrées = ok. (mesure toute simple qui fait référence à la somme d'une colonne)
    Cependant le cumul de sorties ne fonctionnent pas (cf impression écran), je fais appel à la mesure ci-dessous:
    Exemple : Sortiec ctrl recons2 = ((sum('Simulation StockDP (2)'[ETP Réél Ctrle])+sum('Simulation StockDP (2)'[Entraide Ctrle])+sum('Simulation StockDP (2)'[Aide Inst. Vers Ctrle (ETP)]))*sum('Simulation StockDP (2)'[Productivité hors entraide Ctlre])+sum('Simulation StockDP (2)'[Heures Suppl. Calc Ctrle]))

    Ai-je loupé quelque chose ?

    Globalement, le but est de faire :
    StockM-1(Stock Janvier  + Entrées du mois en cours (Février) + Sorties du mois en Cours (Février) = Stock Février
    Résultat du calcul du dessus + Entrées du mois en cours (Mars) + Sorties du mois en Cours (Mars) = Stock Mars
    Résultat du calcul du dessus + Entrées du mois en cours (Avril) + Sorties du mois en Cours (Avril) = Stock Avril

    Merci de votre aide.



    ------------------------------
    Pierre Baroux
    0320056153
    ------------------------------



  • 8.  RE: Recursive -

    Posted Mar 07, 2019 06:27 AM
    Edited by Pierre Baroux Mar 07, 2019 06:28 AM

    Bonjour,

    Ma mesure Forecast2  me ramène le bon résultat pour Janvier2019 mais pas pour les autres mois.

    Seriez-vous d'où peut provenir le dysfonctionnement ?

    La colonne "Sorties2" est une mesure qui inclut un paramètre de simulation (Tx de controle).
    Les résultats affichés sont correctes pour la mesure "Sorties2".

    Le dysfonctionnement provient de la mesure Forecast2 lorsque j'ajoute la différence "- Sorties2" dans la formule.
    Merci d'avance pour votre aide.
    Cordialement



    ------------------------------
    Pierre Baroux
    0320056153
    ------------------------------



  • 9.  RE: Recursive -

    Posted Mar 13, 2019 02:00 AM
    Bonjour,
    Nous n'avons pas toutes vos mesures mais il me semble que vos erreurs viennent de votre code DAX ... pas si simple à maîtriser ...
    Dans vos formules, il me semble que vous utilisez ce genre de formule : SUM() X SUM() ou SUM() X a
    Le DAX va dabord faire la somme des SUM() en tenant compte du contexte de filtre puis ensuite multiplier les sommes obtenues.
    Pour faire le produit ligne à ligne puis additionner ces produits, il faut utiliser une fonction SUMX.

    J'espère vous avoir donné une piste pour résoudre votre problème
    Françoise

    ------------------------------
    FRANCOISE LE PAVEC
    charted accountant / expert-comptable
    Atcompta
    LA ROCHE SUR YON CEDEX
    251066403
    ------------------------------