7 Replies Latest reply: May 21, 2014 9:37 AM by Sovathary Sim RSS

    Afficher les données du mois précédents dans un tableau ?

      Bonjour,

       

      Je souhaiterai afficher dans un tableau simple, les effectifs du mois précédents.

       

      Donc dans la colonne de février, afficher les effectifs de janvier.

       

      -------------------

       

      Je souhaiterai ensuite calculer les ventes du mois M / les effectifs du mois M-1.

       

      Exemple :

      janvier : effectif = 50, ventes = 120

      février : effectif = 65, ventes = 200

       

      Dans mon tableau, colonne de février, le calcul devra donc etre :

      ventes de février / effectif de janvier = 200 / 50.

       

      Merci pour vos aides !

        • Re: Afficher les données du mois précédents dans un tableau ?
          Massimo Grossi

          maybe (with sorted data, dimension year-month)

          sum(ventes) / Above(sum(effectif))

            • Re: Afficher les données du mois précédents dans un tableau ?

              Une méthode simple : créer une colonne supplémentaire dans votre ensemble de données "effectif" référençant la période de vente.

              Exemple :

               

              VENTE:
              LOAD * INLINE [
                  PERIODE_VENTE, MONTANT
                  201401, 100
                  201402, 120
                  201403, 150
                  201404, 200
              ];

              EFFECTIF:
              LOAD * INLINE [
                  PERIODE_EFFECTIF, NB_PERSONNE, PERIODE_VENTE
                  201401, 10, 201402
                  201402, 11, 201403
                  201403, 12, 201404
                  201404, 15, 201405
              ];

               

              Créer un tableau avec

              - PERIODE_VENTE en dimension

              - SUM(MONTANT) et SUM(NB_PERSONNE) en expression

                • Re: Afficher les données du mois précédents dans un tableau ?

                  Mon souci c'est que j'ai en plus du tableau, une liste de sélection ou je choisi mon année de référence.

                   

                  Dans mon tableau, je met en dimension le mois et en expression les effectifs et les ventes du mois.

                  C'est uniquement dans la 3eme expression que je veux faire mon calcul sur vente M-1 / effectif M

                  avec M le mois.

                    • Re: Afficher les données du mois précédents dans un tableau ?

                      Dans ce cas, vous pouvez faire quelque chose du genre :

                       

                      VENTE:
                      LOAD * INLINE [
                          ANNEE_VENTE, MOIS_VENTE, MONTANT
                          2014, 01, 100
                          2014, 02, 120
                          2014, 03, 150
                          2014, 04, 200
                      ];

                      EFFECTIF:
                      LOAD * INLINE [
                          ANNEE_EFFECTIF, MOIS_EFFECTIF, NB_PERSONNE, ANNEE_VENTE, MOIS_VENTE
                          2014, 01, 10, 2014, 02
                          2014, 02, 11, 2014, 03
                          2014, 03, 12, 2014, 04
                          2014, 04, 15, 2014, 05
                      ];

                       

                      Créer une liste de sélection sur ANNEE_VENTE

                      Créer un tableau avec :

                      - MOIS_VENTE en dimension

                      - SUM(MONTANT) en expression 1

                      - SUM(NB_PERSONNE) en expression 2

                      - SUM(MONTANT)/SUM(NB_PERSONNE) en expression 3

                        • Re: Afficher les données du mois précédents dans un tableau ?

                          Désolée mais je suis débutante sur l'outil...

                           

                          On est forcément obligé de passer par une "table" qui fait le lien entre année effectif, année vente, ... ?

                          J'ai énormément de données (plus de 1000 salariés !)

                           

                          On ne peut pas calculer directement dans une expression ?

                           

                          J'ai essayé avec only(année)-1 mais cela fonctionne uniquement dans une zone de texte et pas dans un tableau...

                            • Re: Afficher les données du mois précédents dans un tableau ?

                              L'instruction only fonctionne aussi dans un tableau mais ne me paraît pas adaptée à votre problème.

                               

                              Pour répondre à votre question : Non on n'est pas obligé de passer par une table mais c'est une solution qui a le mérite d'être simple.

                              La méthode de Massimo Grossi est correcte mais elle nécessite d'ordonner les données correctement dans le tableau.

                               

                              Une autre solution consiste à utiliser une fonction dans le script :
                              VENTE:
                              LOAD * INLINE [
                                  ANNEE_VENTE, MOIS_VENTE, MONTANT
                                  2014, 01, 100
                                  2014, 02, 120
                                  2014, 03, 150
                                  2014, 04, 200
                              ];

                              EFFECTIF:
                              LOAD * INLINE [
                                  PERIODE_EFFECTIF, NB_PERSONNE
                                  201401, 10
                                  201402, 11
                                  201403, 12
                                  201404, 15
                              ];
                                 
                              SET GetPrecPeriod = If($1=1,($2-1)*100+12, $2*100+ ($1-1));

                               

                              Créer un tableau avec :

                              - dimension 1 = MOIS_VENTE

                              - dimension 2 = If($(GetPrecPeriod(MOIS_VENTE, ANNEE_VENTE))=PERIODE_EFFECTIF, 1, Null())

                              - cocher la case "Supprimer si la valeur est nulle" pour la dimension 2

                              - masquer la dimension 2 (dans l'onglet présentation)

                              - SUM(MONTANT) en expression 1

                              - SUM(NB_PERSONNE) en expression 2

                              - SUM(MONTANT)/SUM(NB_PERSONNE) en expression 3

                               

                              Cordialement