5 Replies Latest reply: Jul 28, 2016 9:12 AM by Jérôme Renimel RSS

    Comptage spécial

    Jérôme Renimel

      Bonjour,

      Je cherche à calculer le nombre d'activités que mes ressources ont à faire au cours d'un temps donné. Cependant ces ressources peuvent travailler en tant que ressource 1 ou en tant que ressource 2, comme je le montre dans le tableau ci-dessous :

       

      ActivitéRessource 1Ressource 2

      act1

      Roger
      act2Jeremy
      act3BaptisteJeremy
      act4Roger
      act5RogerPaul
      act6DimitryBaptiste
      act7Paul
      .........

       

      Du coup, j'aimerai savoir comment faire compter le nombre d'activités effectuées par chacune de mes ressources en comptant les activités effectuées par cette ressource en tant que ressource 1 et en tant que ressource2.

       

      Merci d'avance pour vos réponses

        • Re: Comptage spécial
          Jérôme Renimel

          A noter qu'avec la bonne fonction, dans le cas présent je devrais obtenir :

          Roger : 3

          Jeremy : 2

          Baptiste :2

          Paul : 2

          Dimitry : 1

           

           

          • Re: Comptage spécial
            Denis Tronel

            // Tout d'abord, lister l'ensemble des ressources distinctes contenu dans ton tableau (que j'appellerai TABLE ci-après, et dont je présuppose qu'elle est chargée en mémoire....)

            RESSOURCES:

            Load distinct Ressource1 as RessourceId resident TABLE;

            Load distinct Ressource2 as RessourceId residentTABLE;

            // Puis faire une "réduction" pour filtrer les cas ou un Id travaille en Ressource 1 et en Ressource 2

            inner join load distinct RessourceId resident RESSOURCES;

            // Puis effectuer le comptage pour chaque RessourceId du nb de fois ou elle apparait en tant que Ressouce1 puis en tant que Ressource2

            left join load Ressource1 as RessouceId, count(Activité) as NbactiviteCommeRess1 resident TABLE group by Ressource1;

            left join load Ressource2 as RessouceId, count(Activité) as NbactiviteCommeRess2 resident TABLE group by Ressource2;

             

            Voila, ça devrait le faire...

            cdlmt

              • Re: Comptage spécial
                Denis Tronel

                Mon résultat sera un peu+ "fin"

                ID            ActivitéRess1      ActivitéRess1

                Roger                3                        -

                Jeremy              1                          1

                Baptiste              1                          1

                Paul                    1                          1

                Dimitry                1                        -

                NB1 : Si tout souhaite le TOTAL, il suffit de rajouter à la fin du script:

                inner join load RessourceId, NbactiviteCommeRess2+NbactiviteCommeRess2 as NbActiviteTotal resident RESSOURCES;

                NB2 :: Et si tu souhaites un tri décroissant sur le nombre, rajouter un "order by NbActiviteTotal Desc".....

                • Re: Comptage spécial
                  Jérôme Renimel

                  Merci, c'est ce qu'il me fallait .

                   

                  Cependant, j'aimerai garder l'intéraction avec toutes les autres variables existantes.
                  Par exemple, lorsque je clique sur une de mes activités, j'aimerai que la table activité réagisse en n'affichant que les activités faites par ma ressource (peu importe que ce soit en tant que 1ère ou 2ème ressource). Savez-vous comment faire ?

                • Re: Comptage spécial
                  Almamy DIABY

                  Dans le Script;

                  Load

                  Activité,

                  [Ressource 1] as Ressource,

                  'Ressource 1' as Type_Ressource

                  From Chemin_Fichier;


                  concatenate

                   

                  Load

                  Activité,

                  [Ressource 2] as Ressource,

                  'Ressource 2' as Type_Ressource

                  From Chemin_Fichier;


                  Dans le graphique:


                  count( Ressource)