Pages: 1
- Sujet précédent - QGIS 2.2 : Transformer automatiquement valeurs dans table attribut. - Sujet suivant
#1 Tue 01 April 2014 15:13
- Julien34
- Participant actif
- Lieu: Lille
- Date d'inscription: 19 Sep 2007
- Messages: 114
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: 3947
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: 114
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: 3947
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
Pages: 1
- Sujet précédent - QGIS 2.2 : Transformer automatiquement valeurs dans table attribut. - Sujet suivant