Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

sélection dans graphique

Bonjour,

Ayant été très satisfait des vos retours pour mon premier problème, je reposte ici ma deuxième problématique.

J'ai un graphique avec plusieurs colonnes :

* Dépôt : avec différentes valeurs

* Article : avec différentes valeurs

J'ai besoin de pouvoir extraire certains articles.

Par exemple, je souhaiterai afficher les lignes contenant uniquement le CodAd=AGR05105 ou CodAD=AGR05118.

Il y a bien sur d'autres code article à sortir.

Je vous remercie pour l'aide.

1 Solution

Accepted Solutions
kevinchevrier
Partner - Creator III
Partner - Creator III

Bonjour nicolas,

Pour compléter le propos de Martin, si ton problème est que tu as beaucoup de codes, je te conseille de créer une variable avec tout tes codes à filtrer.

Pour cela tu vas dans ctrl + alt + v puis tu lui donnes un nom. Exemple : vCode

A l'intérieur tu mets tes codes :

GR05105, GR05118 etc.


Puis :

- si tu cherches à filtrer dans une expression, tu fais par exemple :

Sum({<CodAd={$(vCode)} >}  ChampValeur)


- si tu cherches à filtrer dans une dimension :

If(Match(CodAd,$(vCode))>0,CodAd)


Kevin

View solution in original post

5 Replies
martinien
Partner - Contributor III
Partner - Contributor III

Bonjour Nicolas,

Je ne suis pas sur de bien comprendre la demande; la sélection que tu veux faire est elle statique (toujours les même valeurs) est elle faite en fonction de sélections utilisateurs?

Si le but est que les utilisateurs puissent filtrer des articles,  il leur suffit de sélectionner les codes dans le tableau ou dans une liste de sélection pour filtrer les données. C'est le principe même du moteur associatif de Qlik.

Si l'objectif est plutôt de filtrer des valeurs prédéfinies "en dur" , il faut passer par du Set Analysis qui permet de filtrer les résultats d'une fonction d’agrégation ou par des fonctions conditionnelles

Martin

Anonymous
Not applicable
Author

Bonjour Martin,

Oui en fait je souhaite avoir une sélection statique de façon à préparer le tableau pour une autre personne.

C'est là que je n'arrive pas à comprendre comment faire pour indiquer de ne prendre que certaines valeurs prédéfinie.

Pour une seule j'y arrive avec la fonction if et en filtrant les lignes nulles ensuite mais lorsque je dois faire plus de une sélection, je suis bloqué.

martinien
Partner - Contributor III
Partner - Contributor III

Alors pour filtrer sur une dimension, on peut effectivement utiliser la fonction if. Lorsqu'on travaille avec des listes de valeurs, les fonctions de listes telles que Match() ou wildMatch() sont souvent très utiles, par exemple en dimension:

If(Match(CodAd,'AGR05105','AGR05118')>0,CodAd)

La fonction Wildmatch permet d'utiliser des masques , par exemple:

If(WildMatch(CodAd,'AGR05*')>0,CodAd)

renverra les valeurs de CodAd qui commencent par AGR05.

A noter que l'utilisation de fonction if() en dimension n'est pas terrible en terme de performances si les volumes de donnée sont importants.

Pour filtrer au niveau des expressions du graphique, on utilise le set analysis ex:

Sum({<CodAd={'AGR05105','AGR05118'} >}  ChampValeur)

Martin

kevinchevrier
Partner - Creator III
Partner - Creator III

Bonjour nicolas,

Pour compléter le propos de Martin, si ton problème est que tu as beaucoup de codes, je te conseille de créer une variable avec tout tes codes à filtrer.

Pour cela tu vas dans ctrl + alt + v puis tu lui donnes un nom. Exemple : vCode

A l'intérieur tu mets tes codes :

GR05105, GR05118 etc.


Puis :

- si tu cherches à filtrer dans une expression, tu fais par exemple :

Sum({<CodAd={$(vCode)} >}  ChampValeur)


- si tu cherches à filtrer dans une dimension :

If(Match(CodAd,$(vCode))>0,CodAd)


Kevin

Anonymous
Not applicable
Author

Super merci à tous les 2 !

Ca fonctionne comme je le souhaite.