11 Replies Latest reply: Jun 14, 2013 4:13 AM by helentran RSS

    Problème calcul %Evol(N-1) set analysis

      Bonjour,

       

      J'ai besoin de votre aide pour un problème de calcul %Evol(N-1).

       

      Je m'explique : j'ai une colonne de quantité du mois en cours ( c'est la somme des quantités du mois sélectionné), une colonne de quantité de l'année en cours ( c'est la somme des quantités de l'année jusqu'au mois sélectionné). Ces deux colonnes fonctionnent très bien, le système s'affiche bien les bons chiffres.

      Par contre, pour calculer %Evol(N-1), j'ai appliqué le formule: [(qté mois en cours - qté mois de l'année N-1)/ qté mois de l'année N-1]*100.

      J'ai utilisé set analysis pour réaliser cette expression :

       

      (sum({$ <InvoiceYear={$(=Only(InvoiceYear))}> } [_QuantitySold]) - sum( { $ <InvoiceYear ={$(=Only(InvoiceYear)-1)},InvoiceMonth= { "<= $(=max(InvoiceMonth))"}>} [_QuantitySold]))/sum( { $ <InvoiceYear ={$(=Only(InvoiceYear)-1)},InvoiceMonth= { "<= $(=max(InvoiceMonth)) * 100.

       

      Par exemple si je choisi le mois 02/2013

      le système s'affiche bien la somme qté mois en cours = 456.

      mais la somme qté mois de l'année N-1, il fait un calcul du total des quantités de l'année N-1 = 4444 alors que je veux qu'il affiche juste la quantité du mois l'année N-1 (c'est à dire 02/2012) = 230.

       

       

      Je vous joins une capture d'écran pour que vous puissiez visualiser mon problème.

       

       

      Je vous remercie d'avance pour votre aide.

       

      Cordialement,

        • Re: Problème calcul %Evol(N-1) set analysis
          Almamy DIABY

          =num(((Sum({$< InvoiceYear={$(=Max(InvoiceYear))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),0),'MMM'))"}>} [QuantitySold])

          -      

            Sum({$< InvoiceYear={$(=Max(InvoiceYear)),$(=Max(InvoiceYear-1))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),-13),'MMM'))"}>} [QuantitySold]))

          /

            Sum({$< InvoiceYear={$(=Max(InvoiceYear)),$(=Max(InvoiceYear-1))},  InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),-13),'MMM'))"}>}[QuantitySold])

             ) ,'# ##0,00%')

            • Re: Problème calcul %Evol(N-1) set analysis

              j'ai utilisé votre expression mais ça fontionne toujours pas. Il m'a rien affiché...

              Ca veut dire quoi quand vous mettez (,-13),'MMM')?

              si 13 correspond à l'année 2013, ce n'est pas ce que je veux faire car je dois avoir une expression générique qui permet aux utilisateurs de choisir n'importe quelle année dans la liste ( par exemple s'ils choisit l'année 2011, ils vont avoir le résultat %Evol(N-1) = %Evol2010 par exemple.

              Sum({$< InvoiceYear={$(=Max(InvoiceYear)),$(=Max(InvoiceYear-1))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),-13),'MMM'))"}>} [QuantitySold]))

              Merci encore pour votre aide

              • Re: Problème calcul %Evol(N-1) set analysis

                Bonjour Almamy,

                 

                Je sais pas si c'est à cause du format de mon indicateur "InvoiceYear,InvoiceMonth" que l'expression fonctionne pas.

                 

                Je vous joins une capture d'écran de la liste de ces indicateurs.

                format indicateur mois année.png

                  • Re: Problème calcul %Evol(N-1) set analysis
                    Almamy DIABY

                    C'est sans doute a cause du format du Mois

                    Essaie Ceci:

                     

                    =num(((Sum({$< InvoiceYear={$(=Max(InvoiceYear))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),0),'MMM YYYY'))"}>} [QuantitySold])

                    -     

                      Sum({$< InvoiceYear={$(=Max(InvoiceYear)),$(=Max(InvoiceYear-1))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),-13),'MMM YYYY'))"}>} [QuantitySold]))

                    /

                      Sum({$< InvoiceYear={$(=Max(InvoiceYear)),$(=Max(InvoiceYear-1))},  InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),-13),'MMM YYYY'))"}>}[QuantitySold])

                       ) ,'# ##0,00%')

                      • Re: Problème calcul %Evol(N-1) set analysis

                        J'ai essayé ton expression, il m'affiche maitenant les chiffres mais pas les bons chiffres.

                         

                        Sum({$< InvoiceYear={$(=Max(InvoiceYear)),$(=Max(InvoiceYear-1))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),-13),'MMM YYYY'))"}>} [QuantitySold])

                         

                        Dans cette expression, il prend en compte le mois Jan 2012 alors je veux qu'il prend le mois Feb 2012 car quand je sélectionne dans la liste des mois = Feb 2013, pour calculer %Evol (N-1), j'ai besoin le mois qui correspond au mois sélectionné, c'est à dire Feb 2012 au lieu Jan 2012

                         

                        Je vous joins la capture d'écran de mon problème

                          • Re: Problème calcul %Evol(N-1) set analysis
                            Almamy DIABY

                            ok je comprends:

                            mets (-12) à la place de (-13)

                             

                            =num(((Sum({$< InvoiceYear={$(=Max(InvoiceYear))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),0),'MMM YYYY'))"}>} [QuantitySold])

                            -    

                              Sum({$< InvoiceYear={$(=Max(InvoiceYear)),$(=Max(InvoiceYear-1))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),-12),'MMM YYYY'))"}>} [QuantitySold]))

                            /

                              Sum({$< InvoiceYear={$(=Max(InvoiceYear)),$(=Max(InvoiceYear-1))},  InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),-12),'MMM YYYY'))"}>}[QuantitySold])

                               ) ,'# ##0,00%')

                              • Re: Problème calcul %Evol(N-1) set analysis

                                Ca fonctionne parfaitement. Merci encore

                                 

                                Est-ce que tu peux m'expliquer en détail de ton expression stp?

                                -12 ça correspond à quoi ?

                                  • Re: Problème calcul %Evol(N-1) set analysis
                                    Almamy DIABY

                                    Fonction Addmonths

                                     

                                    Addmonths(mois , 1) : Mois en Mois prochain

                                     

                                    Addmonths(mois , 0) : Mois en cours

                                     

                                    Addmonths(mois , -1) : Mois en précedant

                                     

                                    Je t'invite à voir la Fonction Addmonths dans l'aide

                                      • Re: Problème calcul %Evol(N-1) set analysis

                                        Merci encore

                                        • Re: Problème calcul %Evol(N-1) set analysis

                                          Bonjour Almamy,

                                           

                                          J'ai rencontré encore un problème pour calculer le total des quantités jusqu'au mois sélectionné.

                                          J'ai essayé avec cette expression mais ca fonctionne pas comme je souhaite faire.

                                           

                                          =num(((Sum({$< InvoiceYear={$(=Max(InvoiceYear))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),0),'MMM YYYY'))"}>} [_QuantitySold])

                                                +Sum({$< InvoiceYear={$(=Max(InvoiceYear))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),-1),'MMM YYYY'))"}>} [_QuantitySold]))

                                          -   

                                            (Sum({$< InvoiceYear={$(=Max(InvoiceYear)),$(=Max(InvoiceYear-1))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),-12),'MMM YYYY'))"}>} [_QuantitySold])

                                            +Sum({$< InvoiceYear={$(=Max(InvoiceYear)),$(=Max(InvoiceYear-1))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),-13),'MMM YYYY'))"}>} [_QuantitySold])))

                                          /

                                          (Sum({$< InvoiceYear={$(=Max(InvoiceYear)),$(=Max(InvoiceYear-1))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),-12),'MMM YYYY'))"}>} [_QuantitySold])

                                            +Sum({$< InvoiceYear={$(=Max(InvoiceYear)),$(=Max(InvoiceYear-1))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),-13),'MMM YYYY'))"}>} [_QuantitySold]))

                                             ) ,'# ##0,00%')

                                           

                                          Je m'explique : si je choisi le mois 02/2013, cette expression fonctionne correctement.

                                          Mais si je choisi 03/2013, elle fonctionne plus car elle compte pas la quantité du mois 01+02 mais pas le mois 03.

                                          Est-ce que tu as une idée comment je peux faire la somme des quantités jusqu'au mois sélectionné?

                                          Pareil, je dois aussi faire la somme des quantités jusqu'au mois sélectionné de l'année N-1.

                                           

                                          Merci encore pour ton aide.