Pages: 1
- Sujet précédent - QGIS 3.6: Somme multiples valeurs numériques dans un champ texte - Sujet suivant
#1 Fri 14 June 2019 10:19
- GlaDal
- Participant assidu
- Date d'inscription: 30 Aug 2013
- Messages: 1087
QGIS 3.6: Somme multiples valeurs numériques dans un champ texte
Bonjour,
Je suis en panne sur l'utilisation d'expressions régulières (encore !) dans Qgis. Je cherche à additionner toutes les valeurs numériques présentes dans un champ texte. Par exemple :
"1/je/3/suis/47/zen"
L'expression donnerait pour cet objet le résultat suivant : 51
D'avance merci à celui qui m'aidera !
Gladal
Hors ligne
#2 Fri 14 June 2019 11:49
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3940
Re: QGIS 3.6: Somme multiples valeurs numériques dans un champ texte
Salut,
Je commence à me mettre aux expressions régulières aussi donc voici une proposition que les gurus sauront certainement mieux écrire (mais ça semble fonctionner)
Code:
array_sum( -- on somme les éléments du tableau string_to_array( regexp_replace( '1/je/3/suis/47/zen', '[/a-zA-Z]+','-' -- on remplace les textes par '-' ) , '-', '0' -- on convertit en tableau les valeurs séparées par le caractère '-' et si un tableau contient '-', on y met plutôt la valeur 0 (compatible ici car on veut sommer) ) )
PS: array_sum requiert l'extension Array Plus (et peut-être qu'Array Plus propose un moyen direct - pas cherché; j'y ai eu recours quand j'avais atteint ce qui me semble être les limites de QGIS en natif)
Hors ligne
#3 Fri 14 June 2019 11:52
- GlaDal
- Participant assidu
- Date d'inscription: 30 Aug 2013
- Messages: 1087
Re: QGIS 3.6: Somme multiples valeurs numériques dans un champ texte
Merci SANTANNA, je regarde de suite. De mémoire, il me semble que les fonctions Array ont été intégrées dans Qgis depuis la dernière version. Je te redis.
Dernière modification par GlaDal (Fri 14 June 2019 11:53)
Hors ligne
#4 Fri 14 June 2019 12:12
- GlaDal
- Participant assidu
- Date d'inscription: 30 Aug 2013
- Messages: 1087
Re: QGIS 3.6: Somme multiples valeurs numériques dans un champ texte
SANTANNA... Ca marche !!! C'est beau....
Merci pour ton aide... Par contre, j'ai bien du installer l'extension dont tu me parlais.
Hors ligne
#5 Fri 14 June 2019 12:14
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3940
Re: QGIS 3.6: Somme multiples valeurs numériques dans un champ texte
Il y a en effet de plus en plus de fonctions array mais elles ne couvrent pas toutes les applications possibles, d'où l'extension.
Hors ligne
#6 Fri 14 June 2019 13:33
- sylvain poupard
- Participant assidu
- Date d'inscription: 19 Mar 2009
- Messages: 362
Re: QGIS 3.6: Somme multiples valeurs numériques dans un champ texte
Bonjour,
Merci SANTANNA, j'étais parti dans la même direction mais j'étais loin qd mm, j'aurai dû rafraichir la page plus rapidement et attendre ton post...
Peux-tu me dire où tu trouves ce genre d'info stp?
'[/a-zA-Z]+'
Merci
Hors ligne
#7 Fri 14 June 2019 14:48
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3940
Re: QGIS 3.6: Somme multiples valeurs numériques dans un champ texte
Peux-tu me dire où tu trouves ce genre d'info stp?
'[/a-zA-Z]+'
Merci
C'est une expression régulière qui signifie: sélection d'une série de un ou plusieurs caractères consécutifs, qu'ils soient alphabétiques (de a à z, majuscule comme minuscule) et de /. Après où je le trouve? Le web. J'ai appris de cet article (la première partie surtout m'intéressait) et un autre que je ne retrouve pas à l'instant, plus un cas pratique que j'ai récemment dû régler .
Hors ligne
#8 Fri 14 June 2019 15:06
- sylvain poupard
- Participant assidu
- Date d'inscription: 19 Mar 2009
- Messages: 362
Re: QGIS 3.6: Somme multiples valeurs numériques dans un champ texte
@SANTANNA : Je n'avais pas les "expressions régulières" comme corde à mon arc ^^'! Très bon article au passage et merci!
Hors ligne
Pages: 1
- Sujet précédent - QGIS 3.6: Somme multiples valeurs numériques dans un champ texte - Sujet suivant