Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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.
Merci d'avance
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
ci-joint l'exemple
tu peux essayer :
LOAD keepchar(ICA_ORDER_Multi_noveau,'0123456789') as New_ICA_ORDER_Multi_noveau,
....
résultat :
tu peux aussi essayer ça :
load
num(replace(ICA_ORDER_Multi_niveau,'_','')) as ICA_ORDER_Multi_niveau,
....
....
....
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 :
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) :
je ne sais pas si tu as remarqué :
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 '_'.
la transformation de ta colonne ICA_CODE_ORDER_MULTI_NIVEAU doit se faire dans le script.
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.
Bonjour,
est ce que tu peux partager un exemple de fichier qlik pour voir ?
l'ordre souhaité : Numérique ou ALpha
Voici une application avec un exemple de mes données
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
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
ci-joint l'exemple