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é ?

#1 Tue 01 April 2014 15:13

Julien34
Participant actif
Lieu: Lille
Date d'inscription: 19 Sep 2007
Messages: 112

QGIS 2.2 : Transformer automatiquement valeurs dans table attribut.

Bonjour à tous,
Je sollicite votre aide pour résoudre un problème récurrent quand j'utilise QGIS. J'avais déjà posé une question (http://georezo.net/forum/viewtopic.php?id=89237) mais en fait mon problème n'a été que partiellement résolu...
J'ai une couche de points. J'ai crée une colonne intitulée "DEPARTEMEN", renseignée "NULL" partout. Je voudrais remplacer ce "NULL" par "80". Comment feriez vous ?
Perso je vais dans le calculateur de champs, et je tape :
CASE WHEN  "DEPARTEMEN" ="NULL" THEN "80" END
QGIS refuse de considérer ma formule comme valide. Pourtant j'ai bien tout regardé, je ne trouve pas de solution. Pourriez-vous débloquer ma situation ?
D'avance merci aux contributeurs actifs.
Julien.

Hors ligne

 

#2 Tue 01 April 2014 15:25

cyrille
Participant assidu
Date d'inscription: 7 Feb 2006
Messages: 401

Re: QGIS 2.2 : Transformer automatiquement valeurs dans table attribut.

Bonjour et en tapant juste "80" ?
Quel est le type de champ ? caractère ou numérique ?

Hors ligne

 

#3 Tue 01 April 2014 15:28

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

Re: QGIS 2.2 : Transformer automatiquement valeurs dans table attribut.

Bonjour,
Si Toutes les valeurs sont "null" alors tapez seulement dans la calculatrice de champ '80'. Pas besoin de CASE WHEN puisque tout le monde remplit la condition!
Par contre attention, c'est soit '80' si c'est un champ texte, soit 80 si c'est un champ nombre, pas "80" (qui équivaut à un nom de champ). Et c'est d'ailleurs ça le problème dans votre requête, essayez donc

Code:

CASE WHEN  "DEPARTEMEN" is NULL THEN '80' END

(ou 80 selon le type de champ)

Dernière modification par SANTANNA (Tue 01 April 2014 15:30)

Hors ligne

 

#4 Tue 01 April 2014 15:55

Julien34
Participant actif
Lieu: Lille
Date d'inscription: 19 Sep 2007
Messages: 112

Re: QGIS 2.2 : Transformer automatiquement valeurs dans table attribut.

Mon champs est du "nombre entier", largeur 2.
J'ai donc tapé :
CASE WHEN  "DEPARTEMEN"  THEN 80 END
Mais là non plus ça marche pas. j'ai essayé avec " et ', mais c'est la même chose. Une chose : lorsque je suis dans le calculateur de champs et que je demande les valeurs du champ sélectionné, il ne m'affiche rien. Il devrait au moins me proposer "NULL" non ? A contrario quand je demande les valeurs de champs de la colonne "REGION", il me propose les deux possibilités : "PICARDIE" ou "NULL".
Santanna, quand tu dis "Pas besoin de CASE WHEN", du coup quelle est ta formule ?
En tout cas merci pour votre rapidité. Je ne connaissais pas les différences entre ", ' et rien.
Julien.

Hors ligne

 

#5 Tue 01 April 2014 16:32

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

Re: QGIS 2.2 : Transformer automatiquement valeurs dans table attribut.

Dans ta requête CASE WHEN  "DEPARTEMEN"  THEN 80 END, il manque la valeur à vérifier pour le champ "DEPARTEMENT" donc ça ne devrait pas marcher. Je t'ai proposé deux écritures ci-dessus (ajustées maintenant qu'on connaît le type du champ), à savoir

Code:

80

ou, si tu veux vraiment tester le CASE WHEN

Code:

CASE WHEN  "DEPARTEMEN"='' THEN 80 END

Une chose : lorsque je suis dans le calculateur de champs et que je demande les valeurs du champ sélectionné, il ne m'affiche rien.


Je pense qu'il affiche bien une valeur : du blanc. Double clique dans la fenêtre de liste de valeurs pour voir s'il ne te récupère pas dans la zone expression, la valeur ''. (d'où le remplacement du NULL dans ma seconde requête)

Hors ligne

 

Pied de page des forums

Powered by FluxBB