Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Printemps des cartes 2024

#1 Fri 19 September 2014 15:05

amandine.pons
Participant actif
Lieu: Rodez
Date d'inscription: 18 Jan 2011
Messages: 147

QGIS : Fonction "SI"

Bonjour,

J ai une table avec une multitude de données. Je voudrais donc utiliser une fonction de type "si" pour faire quelques vérifications.
J'ai testé cette formule:

CASE WHEN  "Colonne 1"  OR  "Colonne" OR "Colonne 3" OR "Colonne 4" =' ' THEN '?'  ELSE  '??' END.

Je voudrais qu'il me mette au final:
si une des 4 colonne est vide alors il met ?
si mes 4 colonnes sont vides il met ??
si mes 4 colonnes sont pleines alors il me met ok.

Là avec la fonction que j ai utilisé il me met même un ? si mes 4 colonnes sont pleines.

Merci de votre aide

Cordialement

Amandine

PS: je vais aussi poster ce message sur forum sig

Hors ligne

 

#2 Fri 19 September 2014 15:46

vlanher
Participant occasionnel
Date d'inscription: 17 Nov 2010
Messages: 29

Re: QGIS : Fonction "SI"

Bonjour,

cela n'irait pas mieux avec quelque chose comme ça?

Code:

CASE 
WHEN  "Colonne 1" ='' OR  "Colonne2" ='' OR "Colonne 3" ='' OR "Colonne 4" ='' THEN '?'  
WHEN  "Colonne 1" ='' AND  "Colonne2" ='' AND "Colonne 3" ='' AND "Colonne 4" ='' THEN '??'  
ELSE  'OK' 
END.

Vincent

Hors ligne

 

#3 Fri 19 September 2014 15:55

amandine.pons
Participant actif
Lieu: Rodez
Date d'inscription: 18 Jan 2011
Messages: 147

Re: QGIS : Fonction "SI"

Avec cette formule il me met des "ok" partout :-(

Hors ligne

 

#4 Fri 19 September 2014 15:56

Dof
Participant assidu
Lieu: Grenoble
Date d'inscription: 28 Oct 2009
Messages: 317
Site web

Re: QGIS : Fonction "SI"

Bonjour,
La fonction "is not null" renvoie 1  si il y a une valeur ou bien 0.

Ainsi, en faisant la somme : (COL1 is not null) + (COL2 is not null) + (COL3 is not null) +(COL3 is not null) on obtient le nombre de colonne non vide.

On peut donc faire  : CASE WHEN (COL1 is not null) + (COL2 is not null) + (COL3 is not null) +(COL3 is not null) == 4 THEN 'ok'
ELSE (COL1 is not null) + (COL2 is not null) + (COL3 is not null) +(COL3 is not null) == 0 THEN '??'
etc...

Hors ligne

 

#5 Fri 19 September 2014 16:12

amandine.pons
Participant actif
Lieu: Rodez
Date d'inscription: 18 Jan 2011
Messages: 147

Re: QGIS : Fonction "SI"

Ca marche avec cette formule (réponse de forum sig):

CASE WHEN "Colonne 1" is null and "Colonne 2" is null ... then '??'
WHEN "Colonne 1" is not null and "Colonne 2" is not null ... then 'OK'
else '?'
END

Hors ligne

 

#6 Fri 19 September 2014 16:15

MathieuB
Membre du bureau
Lieu: Montpellier
Date d'inscription: 18 Jan 2006
Messages: 1220
Site web

Re: QGIS : Fonction "SI"

Merci pour le suivi.

@dof : dans l'absolu, un test logique comme "COL1 is not null" renvoie un booléen qui ne peut être sommé.


Mathieu BOSSAERT
Association GeoRezo

Hors ligne

 

Pied de page des forums

Powered by FluxBB