Annonce
Pour sa 21ème année, l’association GeoRezo a toujours besoin de vous !
10€ = 1 mois de frais bancaires ; 15€ = 12 mois de nom de domaine ; 30€ = 1 semaine de location des serveurs …
Retrouver nos membres bienfaiteurs
Pages: 1
- Sujet précédent - QGIS: Soucis de cumul de Null pour afficher une Etiquette - Sujet suivant
#1 Mon 16 December 2024 12:40
- Thomas 37
- Juste Inscrit !
- Date d'inscription: 16 Dec 2024
- Messages: 1
QGIS: Soucis de cumul de Null pour afficher une Etiquette
Bonjour à tous,
J'ai un petit soucis d'étiquette dans QGIS :
Je veux afficher des étiquettes qui cumulent 3 champs texte (NOM, LONG, RMQ)
Dans certains cas le champ LONG peut être NULL, le CHAMPS RMQ peut être NULL et enfin ces 2 champs peuvent être NULL
Voici la synthaxe que j'ai utilisé :
Code:
Case When "LONG" is NULL then "NOM" || 'n' || "RMQ" When "RMQ" is NULL then "NOM" || 'n' || "LONG" WHEN "LONG" is null and "RMQ" is NULL then "NOM" --> [b]cela ne fonctionne pas [/b] Else "TITRE_ETI" || 'n' || "LG_SURF_ET" || 'n' || "RMQ" END
Je ne sais pas où je me trompe.
Auriez vous la solution à ce problème ?
Merci pour le temps passé à me répondre !
Hors ligne
#2 Mon 16 December 2024 14:14
- Tixi
- Participant actif
- Date d'inscription: 6 Jun 2022
- Messages: 129
Re: QGIS: Soucis de cumul de Null pour afficher une Etiquette
Bonjour,
Il ne faut pas utiliser || mais plutôt concat().
|| ne va afficher une solution que si tous les elements sont non null.
concat va laisser un blanc, mais affichera une solution quoiqu'il arrive.
Hors ligne
#3 Mon 16 December 2024 14:24
Re: QGIS: Soucis de cumul de Null pour afficher une Etiquette
Bonjour,
Sujet déplacé dans le forum QGIS
Hors ligne
#4 Mon 16 December 2024 14:58
- GlaDal
- Participant assidu
- Date d'inscription: 30 Aug 2013
- Messages: 1126
Re: QGIS: Soucis de cumul de Null pour afficher une Etiquette
Hors ligne
#5 Mon 16 December 2024 16:52
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3959
Re: QGIS: Soucis de cumul de Null pour afficher une Etiquette
Bonjour,
Effectivement, comme dit Tixi, || renvoie NULL si une entrée est NULL mais cela vous l'aviez déjà compris vu que vous passez par un CASE WHEN. Le souci, pour rester dans le type de solution que vous essayez, est l'ordre de vos conditions; la troisième n'est jamais atteinte car pour arriver à
Code:
WHEN "LONG" is null and "RMQ" is NULL
on passe entre temps par
Code:
When "LONG" is NULL
qui est incluse, donc c'est celle-ci qui s'applique. Donc résultat NULL car RMQ l'est.
Il faudrait modifier l'ordre et passer la double condition de nullité en premier.
Code:
Case WHEN "LONG" is null and "RMQ" is NULL then "NOM" # [b]ça fonctionne!!![/b] When "LONG" is NULL then "NOM" || 'n' || "RMQ" When "RMQ" is NULL then "NOM" || 'n' || "LONG" Else "TITRE_ETI" || 'n' || "LG_SURF_ET" || 'n' || "RMQ" END
Dernière modification par SANTANNA (Mon 16 December 2024 17:54)
Hors ligne
#6 Mon 16 December 2024 17:16
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1166
Re: QGIS: Soucis de cumul de Null pour afficher une Etiquette
Salut,
Code:
regexp_replace(concat("NOM", ', ', "LONG", ', ', "RMQ"), '(^,| ,|,$'), '')
Pratique si on veut rajouter un champ
Code:
regexp_replace(concat("NOM", ', ', "LONG", ', ', "NOUVEAU", ', ', "RMQ"), '(^,| ,|,$'), '')
EDIT: c'est un peu la même chose que la réponse au post sur gisexhange mentionné par GlaDal
Dernière modification par tumasgiu (Tue 17 December 2024 09:37)
Hors ligne
Pages: 1
- Sujet précédent - QGIS: Soucis de cumul de Null pour afficher une Etiquette - Sujet suivant