Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour
j'aimerai figer 5 caractères d'une table qui possède des champs de 1 à 10 caractères, je souhaite donc conserver les champs de 1 à 5 caractères. Ex le nom de ma table = TABLE1 analyse du champ NOMCHAMP1.
J'ai réalisé l'instruction left(champs, 5) as NOMCHAMP1_LEFT et cela me ressort tous les caractères correspondant à 5 chiffres sur ma table.
Mon souci :
Quand je fais un count sur NOMCHAMP1_LEFT il me ressort 19 167 caractères avec l'instruction left.
J'ai voulu vérifié s'il me ressortait le bon nombre total de champ que j'analyse, j'ai donc insérer ce même champ sans instruction left pour ainsi compter le nombre total de champs dans NOMCHAMP1. Il me ressort exactement le même nombre de champ : 19 167
Je dois donc supprimer les données conserver dans mon filtre, j'ai essayer un drop field avec un as pour ainsi garder le filtre ça ne fonctionne pas.
Puis j'ai renommer ma table par : TABLE2: noconcatenate; load* resident TABLE1; drop table TABLE1
Fonctionne toujours pas, avez vous des idées, peut être que j'utilise pas les bonne instruction je dois peut être faire un set dans mon objet de feuille ?
En vous remerciant de votre aide !
Je crois que je viens de comprendre ce que tu veux faire. C'est normal que tu aies toujours autant de champ (19167) car ton instruction dis juste de prendre seulement les 5 premiers caractères. Donc sur 10 caractères, il t'en garde 5. Ton champ est toujours présent...
Si tu veux afficher seulement les champs qui ont une longueur max de 5 caractères, alors il faut jouer avec la fonction len()
=IF(len(champs)<=5,champs)
Kevin
avec la formule len() ?
Je ne suis pas sûr de comprendre ce que tu souhaites. Pourrais-tu imager ton propos ?
Je crois que je viens de comprendre ce que tu veux faire. C'est normal que tu aies toujours autant de champ (19167) car ton instruction dis juste de prendre seulement les 5 premiers caractères. Donc sur 10 caractères, il t'en garde 5. Ton champ est toujours présent...
Si tu veux afficher seulement les champs qui ont une longueur max de 5 caractères, alors il faut jouer avec la fonction len()
=IF(len(champs)<=5,champs)
Kevin
Bonjour
Si j'ai bien compris ta demande :
j'aimerai figer 5 caractères d'une table qui possède des champs de 1 à 10 caractères, je souhaite donc conserver les champs de 1 à 5 caractères
je ferai ceci :
if(len(NOMCHAMP1)<='5',NOMCHAMP1) as NOMCHAMP1_LEFT,
Bruno
Merci Kevin et Bruno pour votre réactivité je mets la réponse de Kevin comme correcte mais celle de Bruno est également juste... Merci pour votre réactivité !
Bonjour
Avec plaisir , l'important c'est que tu aies ta réponse et que tu puisses avancer
Bruno