Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
jmialoundama
Specialist
Specialist

Convertir text en numeric

Bonjour,

J'aimerai convertir cette colonne qui est au format text en numeric 

Cependant j'ai des '-' entre chaque nombre donc je me demande si le format numeric fonctionnera.

 

Capture.JPG

 

 

 

 

 

 

 

 

 

 

 

Merci d'avance 

1 Solution

Accepted Solutions
Taoufiq_Zarra

Je pense que le tri est inversé au lieu de :

NETMGC > 62200

NETMGC > GROMGC

maye be

NETMGC > GROMGC

NETMGC > 62200

---------------------------

donc pour résoudre ce type de problème la meilleur façon et d'appliquer la fonction dual, c'est pour cela je te propose d'ajouter ce code :

[TABLE 1]:
LOAD * INLINE [
LIBELLE,ORDER
EBITWO,0031||||||
GRORTEC,0000||||||
NETMGC,0001||||||
NETMGC > 62200,0001|62200|||||
NETMGC > GROMGC,0001|1077|||||
];

Map1:

mapping load ORDER, RowNo() as CODE resident [TABLE 1] order by ORDER;

Output:

load dual(KeepChar(ORDER,'0123456789'),ApplyMap('Map1',ORDER)) as New_ORDER,* resident [TABLE 1];

drop table [TABLE 1];

 

l'objectif est dans la table de mapping on ajoute un code pour trier et la fonction dual permet avec le code de map de faire le tri :

le résultat :

en haut sans la fonction keepchar et en bas avec la fonction, et tu remarques que nous gardons le même tri

Capture.PNG

ci-joint l'exemple

 

 

Regards,
Taoufiq ZARRA

"Please LIKE posts and "Accept as Solution" if the provided solution is helpful "

(you can mark up to 3 "solutions") 😉

View solution in original post

9 Replies
Taoufiq_Zarra

tu peux essayer :

LOAD keepchar(ICA_ORDER_Multi_noveau,'0123456789') as New_ICA_ORDER_Multi_noveau,

....

 

résultat :

Capture.PNG

Regards,
Taoufiq ZARRA

"Please LIKE posts and "Accept as Solution" if the provided solution is helpful "

(you can mark up to 3 "solutions") 😉
soka41
Contributor III
Contributor III

tu peux aussi essayer ça : 

 

load
num(replace(ICA_ORDER_Multi_niveau,'_','')) as ICA_ORDER_Multi_niveau,
....
....
....

 

 

jmialoundama
Specialist
Specialist
Author

Merci pour vos réponses. 

J'ai utilisé la fonction "Keepchar" du coup. 

Je souhaite convertir cette colonne pour ensuite l'utiliser filtrer les données de mon tableau sur cette colonne. 

Lorsque j'ai ma colonne ICA_CODE_ORDER_MULTI_NIVEAU avec les '-' , le tri s'effectue bien : 

tri.JPG

Cependant lorsque je converti cette colonne en enlevant les '-' le tri ne s'effectue plus comme je le souhaite (comme dans le tableau précédent) : 

tri2.JPG

Taoufiq_Zarra

je ne sais pas si tu as remarqué :

Capture.PNG

 

sinon tu peux agir sur l'ordre, par par exemple laisser la colonne avec les '_'dans le script puis dans le tableau ajouter la nouvelle colonne sans les '_' puis dans le tri je vais choisir tri par expression égal à la colonne avec les '_'.

 

 

 

 

Regards,
Taoufiq ZARRA

"Please LIKE posts and "Accept as Solution" if the provided solution is helpful "

(you can mark up to 3 "solutions") 😉
soka41
Contributor III
Contributor III

la transformation de ta colonne ICA_CODE_ORDER_MULTI_NIVEAU  doit se faire dans le script.

jmialoundama
Specialist
Specialist
Author

En fait j'ai gardé l'ancienne colonne(ICA_ORDER_Multi_niveau) et la nouvelle colonne crée (ICA_ORDER_Multi_niv_new)  pour voir la différence entre les deux colonnes.

Ces deux colonnes sont crées dans le script. 

Ensuite mon problème c'est que la colonne ICA_ORDER_Multi_niveau ne doit pas être dans mon tableau car quand je laisse cette colonne dans mon tableau le tri fonctionne bien mais lorsque j'enlève cette colonne et que j'effectue un tri par expression dans la colonne CODE en mettant au niveau du champs fx = ICA_ORDER_Multi_niveau , mon tri ne fonctionne pas. 

Je pensais que le tri ne fonctionnait pas car ma colonne était au format text et qu'il fallait que la convertisse au format numeric. 

 

Taoufiq_Zarra

Bonjour,

est ce que tu peux partager un exemple de fichier qlik pour voir ?

l'ordre souhaité : Numérique ou ALpha

Regards,
Taoufiq ZARRA

"Please LIKE posts and "Accept as Solution" if the provided solution is helpful "

(you can mark up to 3 "solutions") 😉
jmialoundama
Specialist
Specialist
Author

Voici une application avec un exemple de mes données

Capture.JPG

 

 

 

 

 

J'aimerai trier en fonction de la colonne "ORDER"

Le tri que je devrais avoir est le suivant : 

GRORTEC 

NETMGC

NETMGC > 62200

NETMGC > GROMGC

EBITWO 

 

Il faut noter que la colonne ORDER est une concatenation de plusieurs code.

Exemple pour le 0001|62200||||| il s'agit de le 0001 est l'ORDER du code NETMGC et le 62200 est l'ORDER du code 62200

Taoufiq_Zarra

Je pense que le tri est inversé au lieu de :

NETMGC > 62200

NETMGC > GROMGC

maye be

NETMGC > GROMGC

NETMGC > 62200

---------------------------

donc pour résoudre ce type de problème la meilleur façon et d'appliquer la fonction dual, c'est pour cela je te propose d'ajouter ce code :

[TABLE 1]:
LOAD * INLINE [
LIBELLE,ORDER
EBITWO,0031||||||
GRORTEC,0000||||||
NETMGC,0001||||||
NETMGC > 62200,0001|62200|||||
NETMGC > GROMGC,0001|1077|||||
];

Map1:

mapping load ORDER, RowNo() as CODE resident [TABLE 1] order by ORDER;

Output:

load dual(KeepChar(ORDER,'0123456789'),ApplyMap('Map1',ORDER)) as New_ORDER,* resident [TABLE 1];

drop table [TABLE 1];

 

l'objectif est dans la table de mapping on ajoute un code pour trier et la fonction dual permet avec le code de map de faire le tri :

le résultat :

en haut sans la fonction keepchar et en bas avec la fonction, et tu remarques que nous gardons le même tri

Capture.PNG

ci-joint l'exemple

 

 

Regards,
Taoufiq ZARRA

"Please LIKE posts and "Accept as Solution" if the provided solution is helpful "

(you can mark up to 3 "solutions") 😉