Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Wed 01 August 2018 18:29

Tykran
Juste Inscrit !
Date d'inscription: 1 Aug 2018
Messages: 6

QGIS: Sélection en fonction du premier caractère

Bonjour,

Je dispose dans ma table attributaire d'un champ "type" vide et d'un champ "pot" contenant des infos du type 'BS8', 'MM7', 'BM6' et 'AUTRE'(au niveau chiffre ça va de 1 à beaucoup pour chaque terme).

Mon objectif est d'utiliser la calculatrice de champ pour remplir le champ "type" avec 'BOIS' ou 'METAL' en fonction du champ "pot", 'BS', 'BM' et autre B correspondant à 'BOIS' et les 'MM' et autre M à métal.

A l'heure actuelle, j'utilise cette expression:
IF (  regexp_match( "type_appui", 'B' ), 'BOIS', '')

Celle si marche très bien pour les 'B', mais le problème se pose avec les 'M', le caractère étant présent dans les deux termes ('MM' ce qui va, ou 'BM' ce qui coince).

Ma question est donc la suivant, puis-je rajouter dans l'expression une requête me permettant de cibler seulement la première lettre de mon champ "pot" ?
En gros quelque chose qui me donnerait ça:
IF (  regexp_match( "type_appui", premier caractere 'B' ), 'BOIS', '')

Merci d'avance !!

Hors ligne

 

#2 Wed 01 August 2018 19:31

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3799

Re: QGIS: Sélection en fonction du premier caractère

Bonjour et bienvenue sur le forum,
Regardez donc du côté de la fonction left.

Hors ligne

 

#3 Thu 02 August 2018 08:56

jmarsac
Participant assidu
Lieu: NICE
Date d'inscription: 26 Oct 2005
Messages: 567
Site web

Re: QGIS: Sélection en fonction du premier caractère

Bonjour,

Tykran a écrit:

Ma question est donc la suivant, puis-je rajouter dans l'expression une requête me permettant de cibler seulement la première lettre de mon champ "pot" ?
En gros quelque chose qui me donnerait ça:
IF (  regexp_match( "type_appui", premier caractere 'B' ), 'BOIS', '')

Merci d'avance !!


Code:

IF (  regexp_match( "type_appui", '^B' ), 'BOIS', '')
IF (  regexp_match( "type_appui", '^M' ), 'METAL', '')

le "^" est celui de la touche 9 sur un clavier azerty; il indique que le motif doit être en début de chaîne


Jean-Marie
Azimut

Hors ligne

 

#4 Thu 02 August 2018 11:55

Tykran
Juste Inscrit !
Date d'inscription: 1 Aug 2018
Messages: 6

Re: QGIS: Sélection en fonction du premier caractère

Bonjour Santanna et jmarsac,

Merci pour vos deux réponses qui donnent exactement le résultat attendu !!!
Dans mon cas je privilégierai la deuxième au vu de mes données et j'ai appliqué un petit CASE plutôt que IF et tout roule !!

Dernière modification par Tykran (Thu 02 August 2018 13:44)

Hors ligne

 

Pied de page des forums

Powered by FluxBB