Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
clemporte
Contributor II
Contributor II

Zone de texte dynamique

Bonjour à toutes et à tous,

Je rencontre le problème suivant sur qlik sense : par manque de place dans ma feuille, je ne suis pas en mesure d'afficher les étiquettes en abscisse de 2 graphiques qui renvoient les 10 principales entreprises d'envoi ou d'accueil. J'ai donc été obligé d'insérer 2 zones de texte dans lesquelles j'ai reporté le nom de mes 10 premières entreprises.

Quelqu'un aurait-il une solution afin de rendre dynamique ces zones de texte ?

J'espère que j'ai été assez clair.

Merci d'avance pour votre aide.

Clément

1 Solution

Accepted Solutions
sfatoux72
Partner - Specialist
Partner - Specialist

‌Salut, je l’écrirai avec le If à l’intérieur du count, cela devrait mieux fonctionner :

count(distinct {$<formulairedate_date ={"*2017"}>} if(OrganismeLibPays='ESPAGNE'or OrganismeLibPays='POLOGNE', (assure_nom_sans_acc&assure_prenom_sans_acc&assure_naissance_date)

, (assure_immatriculation)))

View solution in original post

9 Replies
Aurelien_Martinez
Partner - Specialist II
Partner - Specialist II

Bonjour,

Pour une valeur c'est facile :

FirstSortedValue(entreprises, -aggr(Sum(mesure), entreprises), 1)

Par contre sur plusieurs je n'ai pas encore trouvé ^^ (mise à part écrite 10 fois la formule)

Aurélien

Help users find answers! Don't forget to mark a solution that worked for you!
sfatoux72
Partner - Specialist
Partner - Specialist

‌Pour plusieurs aussi c’est facile  

=concat ( IF( aggr ( Rank(sum(mesure)),entreprises)<=10, entreprises & chr(10)))

brunobertels
Master
Master

Bonjour

Voir du coté de cette fonction :

Concat()

=Concat({<TaDimension= {"=Rank(Sum(Value))<=10"}>} DISTINCT DimensionField,', ', -Sum(Value) )


TaDimenison = Entreprise


Sum(Value) l'expression que tu utilises dans ton graphique pour avoir le nombre d'envoi ou le nombre d'accueil

clemporte
Contributor II
Contributor II
Author

Bonjour Sébastien,

Merci beaucoup pour ta réponse. Le résultat obtenu est presque bon. Presque dans le sens où pour faire tourner ta formule j'ai été obligé de simplifier les expressions de mes 2 graphiques top 10. Sans cela, j'ai un message "Undefined"

Ci-dessous, le résultat "presque" correct :

concat ( IF( aggr ( Rank(count(assure_immatriculation)),[Employeur - Nom ])<=10, [Employeur - Nom ] & chr(10)))

A présent, j'aimerais remplacer la mesure count(assure_immatriculation) par la mesure suivante :

if(OrganismeLibPays='ESPAGNE'or OrganismeLibPays='POLOGNE',count(distinct {$<formulairedate_date ={"*2017"}>}(assure_nom_sans_acc&assure_prenom_sans_acc&assure_naissance_date))

,count(distinct {$<formulairedate_date ={"*2017"}>}(assure_immatriculation)))

Merci d'avance

Clément

sfatoux72
Partner - Specialist
Partner - Specialist

‌Salut, je l’écrirai avec le If à l’intérieur du count, cela devrait mieux fonctionner :

count(distinct {$<formulairedate_date ={"*2017"}>} if(OrganismeLibPays='ESPAGNE'or OrganismeLibPays='POLOGNE', (assure_nom_sans_acc&assure_prenom_sans_acc&assure_naissance_date)

, (assure_immatriculation)))

clemporte
Contributor II
Contributor II
Author

Bonjour,

Merci bcq, cela fonctionne nickel. Une dernière chose, les entreprises sont classées par défaut par ordre alphabétique mais je voudrais qu'elles le soient par ordre de grandeur. Je suppose que cela est possible mais n'ai pas trouvé la solution. Pouvez-vous m'aider ?

Merci d'avance !

sfatoux72
Partner - Specialist
Partner - Specialist

‌Ce n’est malheureusement pas possible.

Tu peux ordonner un Aggr, mais uniquement en fonction de ces dimensions lorsque elles sont Dual. Tu peux les ordonner en fonction de leur valeur numérique ou de leur représentation textuelle.

la seul possibilité que je vois, c’est de répéter 10 fois l’expression :

=concat (

    IF( aggr ( Rank(sum(mesure)),entreprises)=1, entreprises & chr(10)),

    IF( aggr ( Rank(sum(mesure)),entreprises)=2, entreprises & chr(10)),

     ...

    IF( aggr ( Rank(sum(mesure)),entreprises)=10, entreprises & chr(10))

)

clemporte
Contributor II
Contributor II
Author

Merci beaucoup pour ton aide. C'est déjà très bien comme cela !

sfatoux72
Partner - Specialist
Partner - Specialist

‌merci de mettre la question comme résolue afin d’aider les autres membres de la communauté qui auraient le même type de problèmantique.