Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Comptage spécial

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

1 Solution

Accepted Solutions
dtronel
Contributor III
Contributor III

// 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

View solution in original post

5 Replies
Not applicable
Author

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

dtronel
Contributor III
Contributor III

// 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

dtronel
Contributor III
Contributor III

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".....

almamy_diaby
Creator
Creator

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)


Not applicable
Author

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 ?