Skip to main content
Announcements
Qlik Community Office Hours - Bring your Ideation questions- May 15th, 11 AM ET: REGISTER NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Killembien
Contributor II
Contributor II

Compter le nombre de réponse séparées par un ";" dans une cellule

Bonjour, 

Je viens  vous demander de l'aide car je ne trouve pas de solution à mon problème (j'ai peut-être mal cherché).

J'ai un fichier Excel, issu d'une enquête, avec des champs à réponses multiples. Dans le fichier Excel exporté, lorsque les gens cochent plusieurs réponses, ca apparait dans la même case séparé par un ";"

30. Quel(s) type(s) d'action(s) d'amélioration avez-vous réalisé(s) cette année ?
A3;Mini A3;Gains rapides;Création ou refonte du MV

 

Je cherche à afficher dans un graphique (Ex : Camembert) le nombre de réponses A3 / Mini A3 / Gains rapide/...

Pour le moment si quelqu'un a répondu A3 puis un autre A3;Mini A3 et un dernier A3;Mini A3; Gain rapides il compte (et c'est normal) chaque réponse comme des réponses différentes.

Suis-je clair ? Si ce n'est pas le cas j'essaierai de l'être davantage.

Comment faire ?

Merci d'avance  🙂

4 Replies
hic
Former Employee
Former Employee

Since each question can have multiple answers, the answers need to be stored in a separate table.

If you load the original data using

Questions:
Load Question,
Len(KeepChar(Réponses,';'))+1 as NombreDesRéponses,
Réponses
From ... ;

you can get the individual answers using

Réponses:
Load Réponses,
Trim(SubField(Réponses, ';')) as Réponse
Resident Questions ;

The SubField() will loop over the same record and produce multiple records in the second table.

See also https://community.qlik.com/t5/Design/Loops-in-the-Script/ba-p/1473543

HIC

Killembien
Contributor II
Contributor II
Author

Bonjour,

merci pour votre réponse. Je suis débutant sur QlikSense donc je n'arrive pas a bien comprendre votre solution.

Voici en exemple un échantillon d'une des colonnes de mon fichiers Excel : 

30. Quel(s) type(s) d'action(s) d'amélioration avez-vous réalisé(s) cette année ?_(plusieurs réponses possible)
Je n'ai pas réalisé d'amélioration
A3;Mini A3
Je n'ai pas réalisé d'amélioration
Gains rapides;Création ou refonte du MV;Je n'ai pas réalisé d'amélioration
A3;Mini A3;Gains rapides;Création ou refonte du MV

 

Je cherche à afficher le nombre de fois (%) ou chaque expression est présente. Exemple : "30% de A3" "20% de Mini A3"

Peux-tu m'expliquer un peu plus la solution que tu proposes ? 

Merci d'avance 🙂

hic
Former Employee
Former Employee

D'accord. Si tout est dans une colonne, c'est différent. J'ai pensé à une colonne pour les questions, et une autre pour les réponses.

Essaye ce qui suit

Load
RecNo() as Répondant,
Trim(SubField("30. Quel(s) type(s) d'action(s) d'amélioration avez-vous réalisé(s) cette année ?_(plusieurs réponses possible)",';')) as Q30,
From <Fichier> ...;

"Répondant" est le numéro du répondant.

Alors tu peux calculer les pourcentages en utilisant "Q30" comme dimension et "Count(Q30) / Count(distinct total Répondant)" comme mesure. 

Cependant, si vous avez des questions différentes dans différentes colonnes, vous pouvez utiliser le préfixe Crosstable. Voir https://community.qlik.com/t5/Design/The-Crosstable-Load/ba-p/1468083

HIC

Killembien
Contributor II
Contributor II
Author

Merci pour votre réponse. Ca fonctionne pour ce champs ! En revanche je suis confronté à un nouveau problème : 

Il créer une ligne pour chaque réponse présent dans la celulle, et le tableau comporte d'autres champs sur lesquels je souhaite produire des graphiques. Comment , par exemple,  faire un camembert pour afficher la répartition par fonction (réponse 1) ? En les comptants simplement, les résultats ne sont pas bons car il a ajouté des lignes.

De plus dans le fichier Excel (que je joins), il y a plusieurs colonnes avec la même problématique : des réponses différentes, dans une même cellule, séparées par des ";".

Pourriez-vous m'aider ?

Merci d'avance