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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Fri 08 December 2017 09:19

monique
Participant actif
Date d'inscription: 7 Oct 2005
Messages: 146

QGIS 2.18.1: Trier les colonnes de la table d'attribut

Bonjour,

Pour trier les enregistrements avec l'option de tri du menu contextuel de l'en-tête de colonne sur plusieurs champs, j'utilise l'expression : concat (col0, col1)
Je voulais faire un tri sur un premier champ en caractère et un second en numérique, résultat le champ numérique est classé en ordre alphabétique et non numérique. Qu'elle autre expression conviendrait pour ce type de tri ?

Merci pour votre aide, Monique

Hors ligne

 

#2 Tue 12 December 2017 09:01

mfangain
Participant actif
Date d'inscription: 12 Jun 2012
Messages: 88

Re: QGIS 2.18.1: Trier les colonnes de la table d'attribut

Bonjour,

Vous pouvez peut-être essayer de forcer la conversion en numérique de votre seconde colonne :
Ce qui donnerait quelquechose du style :

Code:

concat(col0, toreal(col1))

Ou remplacer toreal par toint si les valeurs sont de type entier.

Ou alors

Code:

col0|| toreal(col1)

MFANGAIN

Hors ligne

 

#3 Fri 15 December 2017 16:02

monique
Participant actif
Date d'inscription: 7 Oct 2005
Messages: 146

Re: QGIS 2.18.1: Trier les colonnes de la table d'attribut

Bonjour,

Si je trie uniquement sur le champ en numérique (ici pop_mun_14) le tri est correct
Si je trie avec un autre champ (qu'il soit caractère ou numérique) le numérique est considéré comme du caractère, même avec to_int (voir fichier joint)

est-ce qu'il y aurait une autre astuce ?

Merci
Monique


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#4 Fri 15 December 2017 16:09

monique
Participant actif
Date d'inscription: 7 Oct 2005
Messages: 146

Re: QGIS 2.18.1: Trier les colonnes de la table d'attribut

voici une seconde capture sur le tri avec 2 champs numériques


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#5 Fri 15 December 2017 16:58

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

Re: QGIS 2.18.1: Trier les colonnes de la table d'attribut

Bonjour,
Le concat balance le résultat en texte donc ignore le toreal. L'astuce sera de remplir le champ numérique par des 0 pour assurer une comparaison caractère à caractère (genre '006' vs '025' plutôt que '6' vs '25'). Cela se fait avec

Code:

concat(col0, lpad(col1, nbremaxdechiffres, 0))

Hors ligne

 

Pied de page des forums

Powered by FluxBB