Skip to main content
Announcements
Global Transformation Awards! Applications are now open. Submit Entry
cancel
Showing results for 
Search instead for 
Did you mean: 
flochi75
Creator III
Creator III

regrouper 3 colonnes en script de chargement qlikview

Bonjour, 

j'ai dans ma base de données 3 colonnes distinctes que j'aimerai regrouper en 1, car pour 1 valeur x donnée, seule 1 de ses 3 colonnes a une correspondance.

ci dessous une image du QVD généré :

Capture.JPG

je voudrais donc les réunir comme la 1ere colonne, qui serait la clé de jointure pour une autre table.

 

merci pour vos retours.

 

Florent

1 Solution

Accepted Solutions
christophebrault
Specialist
Specialist

Bonjour,

Lors du chargement initial tu peux tester la présence d'une valeur pour alimenter une seule colonne :

 

If(Len(Col1)>0,Col1,

     If(Len(Col2)>0,Col2, Col3)) As FieldName

Inscrivez vous à ma Newletter Qlik
DoNotMissQlik- Connect with me on Linkedin

View solution in original post

5 Replies
mahieuphilippe
Creator
Creator

Bonjour,

 

Je n'utilise pas depuis longtemps Qlikview mais je pense que cela va t'aider, si cela n'est pas le cas désolé

 

Afin de regrouper les trois colonnes dans une seule, il faut lors du script donner un alias commun afin de n'avoir qu'une seule donnée.

LOAD ......

CLE REGROUP  DA as CLEREGROUPCOMMUN,

CLE REGROUP  GA as CLEREGROUPCOMMUN,

CLE REGROUP  GP as CLEREGROUPCOMMUN,

 

Ensuite tu peux mettre to alias comme dimension ou dans ton expression, afin de faire la correspondance

 

J'espère que cela t'aideras

flochi75
Creator III
Creator III
Author

Bonjour Philippe,

le pb vient du fait que ces 3 champs viennent du même fichier, du coup on ne peut pas les renommer avec le même alias, chaque nom devant être unique.

 

J'ai contourné le pb en remappant et en rechargeant 3 fois la table de correspondance, qui elle, est unique...

merci pour ton retour en tous cas.

 

Florent

christophebrault
Specialist
Specialist

Bonjour,

Lors du chargement initial tu peux tester la présence d'une valeur pour alimenter une seule colonne :

 

If(Len(Col1)>0,Col1,

     If(Len(Col2)>0,Col2, Col3)) As FieldName

Inscrivez vous à ma Newletter Qlik
DoNotMissQlik- Connect with me on Linkedin
MarcAndres
Partner - Contributor
Partner - Contributor

Bonjour,

 

mon sentiment est que cette solution est la plus simple.

 

Marc

flochi75
Creator III
Creator III
Author

Merci Christophe,

je n'avais pas pensé à cette solution "if"... 😜

pourtant j'ai cherché une fonction spécifique qui ferai ça....

 

Florent