Qlik Community

Groupe des Utilisateurs Francophones

Announcements
Submit your remarkable customer story for the Global Transformation Awards at QlikWorld Denver 2022. SUBMIT A STORY
cancel
Showing results for 
Search instead for 
Did you mean: 
afguillard
Contributor III
Contributor III

Format d'une référence

Bonjour,

C'est une question certainement basique pour vous, mais ça m'aiderait bien d'avoir la solution.

J'importe une référence de type 00012345 et je voudrais la transformer en 12345. Certaines références par contre sont correctes de type 45678 et ne commencent pas par 000. Comment puis-je faire dans le script ?

Merci

Anne

1 Solution

Accepted Solutions
agilos_mla
Partner
Partner

La réponse de Jérôme est correcte pour autant qu'il n'y a que trois zéros. l'expression générique est :

replace(ltrim(replace(MyField,'0',' ')),' ','0') AS MyField



View solution in original post

7 Replies
Not applicable

Bonjour Anne,

S'il s'agit tout le temps de 000 que tu veux supprimer tu peux utiliser la fonction replace dans ton script :

LOAD replace(tonChamp,'000','') as tonChamp
FROM ...;

Jerome

agilos_mla
Partner
Partner

La réponse de Jérôme est correcte pour autant qu'il n'y a que trois zéros. l'expression générique est :

replace(ltrim(replace(MyField,'0',' ')),' ','0') AS MyField



View solution in original post

afguillard
Contributor III
Contributor III
Author

Merci pour vos réponses. En fait, il peut y avoir une référence de type : 53000 à conserver telle quelle. Donc est-ce que cette formule ne supprime bien les 0 qu'en début de chaîne de caractères ?

Merci

Anne

agilos_mla
Partner
Partner

Oui cette formule permet bien d'enlever les "leading zeroes " uniquement.

Bav,

Michael

lcloatre
Partner
Partner

Oui Anne.

ltrim (pour left). Il aurait fallu utiliser rtrim (right) pour supprimer les zéros à droite.

martin59
Specialist II
Specialist II

Bonjour Anne,

Je pense que vous pouvez tout simplement utiliser la fonction qui permet de convertir votre chaîne en numérique, ce qui donnerait :

num(MyField) as MyField

ou

num(num#(MyField)) as MyField

Martin Favier

afguillard
Contributor III
Contributor III
Author

Merci à tous, ça fonctionne bien maintenant.

Cordialement,

Anne