Annonce
Pour sa 21ème année, l’association GeoRezo a toujours besoin de vous !
10€ = 1 mois de frais bancaires ; 15€ = 12 mois de nom de domaine ; 30€ = 1 semaine de location des serveurs …
Retrouver nos membres bienfaiteurs
#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: 3954
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
Re: QGIS: Sélection en fonction du premier caractère
Bonjour,
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