Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

plusieurs tables et une liste...

Bonjour à vous,

J'ai besoin d'un coup de main sur une question peut-être simple.

J'ai plusieurs tables liées entre elle par un identifiant commun (disons le numero client).

et je voudrais les filtrer au travers d'une seule de ces tables  (qui ne contient qu'une liste réduite de ces numeros clients).

Mais quand je mets en place ma liste de sélection, en précisant que mon champ vient seulement de cette seule table, j'ai l'ensemble des numeros clients qui apparaissent, et non laliste réduite que je souhaiterais.

Je ne sais pas si j'ai été clair.

Merci par avance

Eric


6 Replies
alexandros17
Partner - Champion III
Partner - Champion III

I answer in english, tell me if it is not clear:

what you say is the normal behaviour of qlik, to show only som data from a table and keeping all the other tables you need a trick.

When you load the table you need to  use as filter, add a dummy field that you will use as a flag:

load *, '1' as myFlag resident ....

Now, (reload the doc before) in the listbox write an expression:

If(myFlag='1', numero_client, null())

let me know

brunobertels
Master
Master

Bonjour Eric

La solution d'Alessandro est une bonne approche. Et en effet c'est le fonctionnement normal de Qlik de représenter toute la dimension.

Si je veux filtrer / échantillonner  des numéros client, voici personnellement comment je pratique : j'ajoute dans une de mes bases une colonne à coté de Numéro_Client que je vais appeler par Exemple Numéro_Client_Liste :

Et je me sert de la dimension "Numéro_Client_Liste" et je ne prends pas les valeurs Nulles.

  

Numéro_ClientNuméro_Client_Liste
00010001
0002
0003
0004
0005
00060006
00070007
0008
00090009
0010
0011
00120012
0013
00140014
00150015

A présent si tu connais quel échantillon de Nu Client tu souhaites utiliser, par exemple que les Clients dont le numéro commence par "00" ou avec tel ou tel chaine de caractère commune tu peux alors directement restreindre ta dimension à partir du Script.

Si tu as plusieurs catégories par exemple groupe "00-XXX" ; 01-XXX, ...  tu peux également les grouper via le script.

Bruno

Anonymous
Not applicable
Author

Bonjour

effectivement, j'ai traité ce cas de figure, à l'arrache avec soit une redondance de clef sur le numéro de client, soit  une expression de test dans la sélection sur une zone de la table B absente de la table A.

TABLEB.png

appli et fic de test en PJ

Cdlt

LD

Not applicable
Author

Hello,

many thanks to all of you.

Je suis sur le point d'y arriver mais j'ai encore un petit probleme.

pour résumer comme dans l'image en PJ:

List box avec les valeurs restreintes de la table 1 'originelle'

Les deux tables avec les numeros clients (Customer ID) 1 et 2

Ma formule dans la liste box : '=if([Product Grp Id]='99', [Customer ID], null() )

j'ai choisi un champ unique "Product Grp ID" avec une valeur unique '99' afin de différencier.

ma liste filtre bien, mais comme vous pouvez le voir dans l'exemple j'ai à gauche dans la liste les valeurs de Customer ID de la liste 1, et à droite les valeurs de la liste 2.

Je voudrais seulement voir les valeurs de ma table originelle 1

Encore merci et bonnes vacances

ER

Untitled picture.png


Anonymous
Not applicable
Author

hello,

à mon avis, il faut prendre l'expression dans l'onglet général et copier la formule, et ne rien mettre dans l'onglet expression. 😉

TAbleB2.png

Not applicable
Author

Merci beaucoup à vous.

Cela marche parfaitement !

Eric