Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

[QV 11.20] Récupération premier caractère d'un champ ?

Bonjour à tous,

Nouvel utilisateur de QV. En test pour le moment.

Premier Post sur le forum 🙂

J'ai 2 tableaux XLS contenant exactement les mêmes champs (1 pour l'année en cours, l'autre pour l'année N-1)

J'ai un champ "Gravity" qui contient :

- soit un nombre (de 1 à 5)

- soit un texte :

    1 Critical

    2 High

    ...

Ce que je cherche à faire :

Créer une fonction sur le champ "Gravity"

Qui ne reprendrait que le 1er caractère de ce champ (qu'il soit alpha ou numérique)

Ainsi, j'aurais tous le temps un seul caractère sur ce champ ... (idéalement, j'aimerais qu'il soit numérique.

Merci par avance,

Virtuellement

Alexander

11 Replies
amauryviseo
Partner - Contributor II
Partner - Contributor II

Bonjour Alexander

Bienvenue dans la communauté !

Alors il suffit que tu utilises la fonction left(string, nombre de caractères) as LeNomDeMonChamp pour arriver à recuperer les "n" premiers caractères

Soit dans votre cas

LOAD

.....

left(Gravity, 1) as GravityNb

....

FROM .....

QV reconnait les nombres (surtout si ils sont sans format particulier)... Donc pas besoin de transformer le champ en nombre

Cdt

Amaury Moreau
Senior BI Consultant - Qlik Expert
Not applicable
Author

Bonjour,

Merci bcp.

C'est parfait ...

Je peux donc continuer mes tests 😉

Virtuellement,

Alexander

Not applicable
Author

Bonjour Ben,

Avant d'ouvrir une nouvelle discussion, j'aurais souhaité savoir si tu avais une piste pour mon problème (du même ordre que celui d'Alexander) :

j'ai :

10

1110000000

12000

je voudrais :

100000

111000

120000

merci d'avance!

Maxime

Not applicable
Author

Bonjour Maxime,

if(

     len (champ >=6 ,

          left(champ, 6),

          num(champ & repeat( '0', 6 - len(champ) ) )

)

christian

Not applicable
Author

Puis-je insérer cette condition directement dans mon script?

Not applicable
Author

Oui par exemple

LOAD

champ1,

champ2,

if(

     len (champ >=6 ,

          left(champ, 6),

          num(champ & repeat( '0', 6 - len(champ) ) )

),

champ3,

...

from table

La page d'aide de QlikView donne beaucoup d'infos sur les fonctions chaines de caractères

christian

Not applicable
Author

sinon

left(Champ1 & '000000',6) as Champ3

marchera aussi

Not applicable
Author

Simple et efficace. Merci à vous deux!

Not applicable
Author

Un autre extraction de SI me renvoie :

41 Clients...

101300 Capital...

145000 Amortissement...

Total...

(Ces cellules étant concaténées)

Je ne voudrais que les comptes à 6 chiffres.

101300

145000

j'ai tenté : if ( left (champ1, 6)>99999, champ1) mais ceci n'est pas opérant.

Sauriez-vous comment isoler les chiffres?

D'avance merci.