8 Replies Latest reply: Jun 18, 2013 5:43 AM by helentran RSS

    calcul total année précédente

      Bonjour,

       

      J'ai besoin de votre aide pour un problème de calcul le total des quantités de l'année précédente jusqu'au mois sélectionné.

      Je m'explique : j'ai une liste de quantité par mois :

       

      Jan 2013=200        Jan 2012=100

      Fev 2013=600         Fev 2012=500

      Mars 2013=1000     Mars 2012=800

       

      Si l'utilisateur choisi un mois dans la liste des mois (par ex: Fev 2013)

       

      Je dois calculer le total des quantités de l'année précédente, c'est à dire : qté Jan 2012 + qté Fev 2012= 100+500 = 600.

       

      Est-ce que c'est possible de faire ça avec set analysis?

       

       

      Merci d'avance pour votre aide.

       

      Cordialement,

        • Re: calcul total année précédente
          Vishwaranjan Kumar

          IN SCRIPT MAKE A FIELD

          DATE(DATE#(datefield,'MMM YYYY'),'YYYY') AS Year

          then try this

          sum({<Year=>}VALUE)

           

          or this one

          sum({<Year=>}TOTAL VALUE)

            • Re: calcul total année précédente

              Ca fonctionne pas, il ne calcule pas le total des quantités de l'année précédente, il m'affiche juste la quantité du mois sélectionné.

               

              Je m'explique un peu plus ce que je souhaite faire:

               

              Si je sélectionne Fev 2013 dans la liste, je souhaite faire un calcul des quantités de l'année précédente : 100+500 = 600.

               

              Si je sélectionne Mars 2013 dans la liste, je souhaite faire un calcul : 100+500+ 800 = 1400.

               

              En gros, chaque fois quand je sélectionne un mois dans la liste, je souhaite obtenir un calcul du total des quantités de l'année précédent jusqu'au mois ( le mois égal = mois sélectionné).

                • Re: calcul total année précédente
                  Christophe JOUVE

                  Bonjour,

                  Le YTD et LYTD sont assez classiquement demandés en analyse. QlikView permet de le faire assez simplement.

                  Pour vous en sortir, 2 solutions :

                   

                  -          Full SET ANALYSIS

                   

                  -          Mixte chargement et SET ANALYSIS

                  Vous trouverez en pièce jointe une application que j’avais envoyé il y a quelques mois et qui reprend le principe de la modélisation associative pour calculer un YTD à partir de données mensuelles, soit un mixte chargement et SET ANALYSIS. L’avantage est que cela marche quel que soit l’exercice et si votre exercice commence à un mois autre que janvier. En solution full set analysis, cela ne marcherait que pour les calendriers commençant en janvier.

                  Pour ce faire, on part du principe que en YTD, janv YTD=janv, fevr YTD=janvfevr, mars YTD =janvfévr+mars, etc…Il suffit donc de créer une table permettant de faire le lien entre votre période des data et une colonne période YTD et le tour est joué.

                  Cela peut être une bonne base de travail pour débuter. Si vous avez besoin de plus de détails, continuez la discussion.

                   

                  Cdt

                   

                   

                  Christophe Jouve

                  Senior Solution Architect

                   

                  Direct: +33 1 55 62 65 54

                  Mobile: +33 6 76 24 22 47

                  Email:  Christophe.Jouve@qlik.com

                   

                  QlikTech

                  France Headquarters Office,93 avenue Charles de Gaulle

                  92200 Neuilly sur Seine

                   

                  qlik.com<http://www.qlik.com/>

                   

                   

                  18 octobre 2012 | De la Business Intelligence à la Business Discovery...

                   

                  http://www.qlikview.fr/BDWT-Paris

                   

                  The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer.

                    • Re: calcul total année précédente

                      Bonjour Christophe,

                       

                      Je travaille sous client web donc je ne peux pas créer une table qui me permet de faire le lien entre la période des data et une colonne période YTD comme vous avez dit.

                      Est-ce que vous pouvez m'expliquer un peu plus en détail ce que je dois faire pour obtenir le total des quantités de l'année N-1 s'il vous plait?

                       

                      Actuellement, j'ai réussi de calculer les qtés MTD, qté YTD  et aussi %Evolution MTD/(N-1) (grace à la solution de "Almamy DIABY").

                      Voici l'expression :

                      =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%')

                       

                       

                      Mtn je dois calculer %Evolution YTD/(N-1), donc j'ai besoin de calculer le total des quantités de l'année précédente jusqu'au mois séléctionné.

                       

                      %Evolution YTD/(N-1) = qté YTD - qté (N-1)]/ qté N-1 *100.

                      Pour faire ce calcul, j'ai besoin d'une expression qui me permet de calculer la quantité de l'année (N-1).

                       

                      ex: j'ai une liste des mois , si je sélectionne Fev 2013 dans la liste des mois ,

                      %Evolution YTD/(N-1) = (200+600) - (100+500)/(100+500) * 100

                       

                      Mes données:

                      Jan 2013=200        Jan 2012=100

                      Fev 2013=600         Fev 2012=500

                      Mars 2013=1000     Mars 2012=800

                       

                      j'ai pas eu de problème pour calculer qté YTD (200+600) mais j'arrive pas à calculer qté N-1  (100+500), est-ce que vous pouvez me expliquer comment je peux obtenir ce calcul en utilisant une expression set analysis?

                       

                      Merci encore pour votre aide.


                        • Re: calcul total année précédente
                          Christophe JOUVE

                          Re,

                          Solution en pièce jointe (si j’ai bien compris ce qu’il vous faut). Cela répond-t-il à votre besoin ?

                          Pour cet exemple, j’ai recalé l’exercice sur le mois de janvier en utilisant des annees et mois calendaires plutôt qu’une notion d’exercice commençant à n’importe quelle période.

                          Seule contrainte : avoir un champ annee et mois dans les données d’origine pour caler les calculs. Si tel n’est pas le cas, il faudra alors complexifier les formules pour extraire la valeur de l’annee et du mois en direct à partir de la date.

                          Onglet « calcul Set Analysis ».

                          Principe de chaque formule :

                          Pour l’annee calendaire, prendre soit le max de l’annee sélectionnée et le max -1 pour l’exercice précédent

                          Pour le mois, on prend toutes les valeurs de mois <= max(mois calendaire). Les mois étant des duals (association interne entre un nombre et un libellé), ils sont automatiquement utilisés en chiffre ou chaine selon les besoins.

                          Cdt

                           

                           

                          Christophe Jouve

                          Senior Solution Architect

                           

                          Direct: +33 1 55 62 65 54

                          Mobile: +33 6 76 24 22 47

                          Email:  Christophe.Jouve@qlik.com

                           

                          QlikTech

                          France Headquarters Office,93 avenue Charles de Gaulle

                          92200 Neuilly sur Seine

                           

                          qlik.com<http://www.qlik.com/>

                           

                           

                          18 octobre 2012 | De la Business Intelligence à la Business Discovery...

                           

                          http://www.qlikview.fr/BDWT-Paris

                           

                          The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer.

                          • Re: calcul total année précédente
                            Almamy DIABY

                            bonjour ,

                            Je ne suis pas parvenu à trouver un set analysis pour t'aider. Cependant, j'ai une solution en attendant.

                             

                            Année en cours:

                             

                            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))}, InvoiceMonth={"$(=date(AddMonths(max(InvoiceMonth),-11),'MMM YYYY'))"}>} [QuantitySold])

                             

                            Il s'agit de faire la somme de la première expression en faisant varier le 0 à - 11

                             

                             

                            Année Précédente:

                             

                            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),- 23),'MMM YYYY'))"}>} [QuantitySold]))

                             

                            Il s'agit de faire la somme de la première expression en faisant varier le -12 à - 23