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 Mon 08 June 2020 03:13
- Ilyass
- Juste Inscrit !
- Date d'inscription: 7 Jun 2020
- Messages: 9
QGIS: Calculatrice de champ: fonction left et right
Bonjour,
J'ai un champ numero qui contient les valeurs :
Exmple :
123456-321654
123-321
1234-4321
159-32
J'ai crée deux nouveau champs pour récupérer les valeurs comme suit.
Champ_gauche : 123456, 123, 1234, 159
Champ_droite : 321654, 321, 4321, 32
J'ai utilisé le code suivant pour les valeurs à gauche:
if("numero" '' AND "numero" 0, to_string(left("numero", strpos("numero", '-')-1)),’999’)
Le résultat est bon
Pour récupérer les valeurs à droite, j'ai utilisé:
if("numero" '' AND "numero" 0, to_string(right("numero", strpos("numero", '-')-1)),’999’)
Le résultat parfois est bon parfois il me récupère le tiret -123, ou bien des fois 9-32
Je sais pas comment résoudre le problème
Merci !
Hors ligne
#2 Mon 08 June 2020 11:25
- GlaDal
- Participant assidu
- Date d'inscription: 30 Aug 2013
- Messages: 1110
Re: QGIS: Calculatrice de champ: fonction left et right
Bonjour,
Dans votre cas, j'aurais utilisé les fonctions ARRAY. String_to_array permet de scinder les informations contenues dans votre cellule en plusieurs "colonnes" en fonction d'un séparateur '-' ; array_get permet de récupérer l'information d'une des colonnes. Ici, il faudra saisir 0 pour récupérer les valeurs à gauche du '-' et il faudra saisir '1' pour récupérer les valeurs à droite du '-' :
Pour récupérer les valeurs à gauche du premier tiret : array_get(string_to_array("NUMERO",'-'),0)
Pour récupérer les valeurs à droite du premier tiret : array_get(string_to_array("NUMERO",'-'),1)
SANTANNA qui va certainement passer par là l'aurait mieux expliquer que moi ! Mais, ça devrait tout de même faire l'affaire.
Au plaisir,
Hors ligne
#3 Mon 08 June 2020 12:09
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3948
Re: QGIS: Calculatrice de champ: fonction left et right
Bonjour,
Je passe, pour ne pas te faire mentir, GlaDal. Autrement j'avais répondu sur son autre commentaire, et ta formule ici est beaucoup plus clean que ma proposition (faut vraiment que je prenne le réflexe array, moi!!!). Pour l'explication, rien à ajouter, si ce n'est de voir dans QGIS l'aide et les exemples des fonctions suggérées ici pour mieux s'imprégner de leur utilisation.
Hors ligne
#4 Mon 08 June 2020 13:03
- Ilyass
- Juste Inscrit !
- Date d'inscription: 7 Jun 2020
- Messages: 9
Re: QGIS: Calculatrice de champ: fonction left et right
J'ai essayé la même chose mais en utilisant length et strpos et ça marche.
voici le code : if("numero" <>'' AND "numero" <> 0,right("numero", length("numero") - strpos("numero", '-')),999)
Merci à vous !
Hors ligne