#1 Thu 04 August 2016 18:14
- hcad
- Participant occasionnel
- Date d'inscription: 13 Feb 2008
- Messages: 10
QGIS 2.14: Calculateur d'expressions multiples-ajout
Bonjour,
J'ai créer une colonne dans mes attributs "E_Resultat" puis j'ai rempli la colonne grâce à une expression 
en lui disant : 
de prendre le 1er caractère de ma colonne P et si il trouve 1 mettre 1 + le 1er caractère colonne H et si il trouve 1 mettre 1 - colonne C si oui mettre 1
NB : mes colonnes sont en texte c'est pour ça que 1 =1
cela fonctionne pas de souci il me fait les additions.
Voila ma question:
je voudrais que le résultat de l’addition puisse me servir dans la même colonne et dans la même expression..
 
Si il trouve en additionnant 3 
WHEN     "E_Resultat"      =3    THEN    'A'.....voir en dessous 
NB : l'expression 2 fonctionne dans une autre colonne
Que doit-on mettre entre les deux expressions? ou comment l'ecrire?
 1ère expression 
CASE WHEN     left(   "P"   ,1  )     =1    THEN 1
END  +  
CASE WHEN     left(  "Haie"    ,1  )     =1    THEN 1
 END -
CASE WHEN     "C"      ='oui'    THEN '1' END
2ème expression
CASE WHEN      "E_Resutat"     =1    THEN 'A'
|| '/P' ||  left(   "P"   ,1  ) 
|| '/H' ||  left(    "H"    ,1  ) 
||'(' || 
CASE WHEN     "C"      ='oui'    THEN ' '
WHEN     "C"      ='non'    THEN    '-'
END ||')'  
Merci à vous!
Hors ligne
#2 Fri 05 August 2016 09:23
- Olivier69
- Participant actif
- Date d'inscription: 17 Mar 2016
- Messages: 61
Re: QGIS 2.14: Calculateur d'expressions multiples-ajout
Bonjour, tu veux additionner que dans le cas ou ça fait 3 parce que je te propose cette expression : 
CASE WHEN     left(   "P"   ,1  )     =1    and left(  "Haie"    ,1  )     =1    and     "C"      ='oui'    THEN 'A'
WHEN     "C"      ='oui'    THEN ' '
WHEN     "C"      ='non'    THEN    '-'
END
Tu obtiendras dans ta colonne soit des 'A' ou ' ' ou '-'.
Est ce dans ta colonne tu es intéressé par les résultats 2,1 ou 0 ? Si oui, je te conseille alors de faire une colonne addition et une colonne résultat que tu veux obtenir suivant le chiffre obtenu.
Hors ligne





