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

GeoDataDays 2025

#1 Wed 30 July 2025 17:16

Sofia2025
Participant occasionnel
Date d'inscription: 15 May 2025
Messages: 11

QGIS/Etiquettes: coalesce avec couleur par colonne

Bonjour
Je suis en train d'essayer d'afficher une etiquette composé de plusieurs colonnes de texte (format texte)
Par exemple colonne 1 que j'appelle "Chats". Dans 1 case de cette colonne je vais mettre "Anne, Victor, Kiki"
Colonne 2 "Chiens". Dans 1 case je vais mettre "Bebou, Alain, Maria"

Pour les afficher dans la meme etiquette je fais COALESCE( "Chats" ,'')||  '\n'  ||COALESCE( "Chiens" ,'')

J'aimerais bien que les noms des chats apparaissent toujours en rouge et les chiens toujours en bleu, rien si la case est vide.

Est ce que je dois passer par CASE WHEN ?
Je vous remercie !
Bonne journée, Sofia

Hors ligne

 

#2 Wed 30 July 2025 17:35

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

Re: QGIS/Etiquettes: coalesce avec couleur par colonne

Bonjour,
voir la doc, du côté du formatage HTML de votre étiquette (https://docs.qgis.org/3.40/fr/docs/user … formatting)

Hors ligne

 

#3 Wed 30 July 2025 18:20

Sofia2025
Participant occasionnel
Date d'inscription: 15 May 2025
Messages: 11

Re: QGIS/Etiquettes: coalesce avec couleur par colonne

Bonjour Santanna
Merci beaucoup pour votre reponse.
Je vais etudier la question autant q'il le faut en etant absolut 0 sur QGIS et dans le code, je vais mettre ici le code final quand je vais y arriver !

UPD

Code:

'<div style="color:red;">' || "Chats" || '</div>'

Je pense que je ne suis pas loin mais j'arrive pas a faire la bonne ponctuation, ça ne fonctionne pas pour le moment

UPD 2

Code:

format(
  '<div style="color:blue">%1</span> <p> <span style="color:red">%2</div>',
   "Chats" ,
   "Chiens" 
)

ce code la n'a pas marché non plus, erreur montrée au niveau de "format("

REUSSI

Code:

COALESCE( "PYR" ,'')||  '\n'  ||COALESCE( "AM" ,'')
|| format(
  '<div style="color:blue">%1</span> <p> <span style="color:red">%2</div>',
   "Chats" ,
   "Chiens" )

Probleme etait dans la manque de || entre COALESCE et FORMAT

UPD 3
Il fallait enlever COALESCE, FORMAT etait suffisant smile

MERCI!!

SANTANNA a écrit:

Bonjour,
voir la doc, du côté du formatage HTML de votre étiquette (https://docs.qgis.org/3.40/fr/docs/user … formatting)

Dernière modification par Sofia2025 (Thu 31 July 2025 08:42)

Hors ligne

 

#4 Thu 31 July 2025 10:42

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

Re: QGIS/Etiquettes: coalesce avec couleur par colonne

Bonjour,

en etant absolut 0 sur QGIS et dans le code


Vous avez gagné le droit de ne plus dire/écrire cela, je pense.
Bravo, Sofia.

Hors ligne

 

#5 Thu 31 July 2025 20:59

Sofia2025
Participant occasionnel
Date d'inscription: 15 May 2025
Messages: 11

Re: QGIS/Etiquettes: coalesce avec couleur par colonne

Merci beaucoup Santanna, en grande partie grace a vous et ce forum !!
Vu que j'ai plus d'animaux que les chiens et les chats je mets dans la conversation le code qui a marché pour l'ensemble de mes données si quelqun a besoin. C'est repetitif parce que je l'ai redigé moi meme et je sais pas comment l'optimiser ce qui est pas grave vu que ça marche est c'est facile de le corriger (ajouter et enlever les colonnes, comprendre quelle couleur va avec quelle donnée).

Code:

CASE 
WHEN "COLONNE1" IS NULL THEN ''
WHEN "COLONNE1" IS NOT NULL THEN format(
'<div style="color:#D6AD84">%1</span> <p>',
"COLONNE1") END  || 
CASE 
WHEN "COLONNE2" IS NULL THEN ''
WHEN "COLONNE2" IS NOT NULL THEN 
format(
'<div style="color:#ffffff">%1</span> <p>',
"COLONNE2") END || 
CASE 
WHEN "COLONNE3" IS NULL THEN ''
WHEN "COLONNE3" IS NOT NULL THEN 
format(
'<div style="color:#A2D46A">%1</span> <p>',
"COLONNE3") END || 
CASE 
WHEN "COLONNE4" IS NULL THEN ''
WHEN "COLONNE4" IS NOT NULL THEN 
format(
'<div style="color:#FFBDFC">%1</span>',
"COLONNE4" ) END || 
CASE 
WHEN "COLONNE5" IS NULL THEN ''
WHEN "COLONNE5" IS NOT NULL THEN 
format(
'<div style="color:#74CBF6">%1</span>',
"COLONNE5" ) END || 
CASE 
WHEN "COLONNE6" IS NULL THEN ''
WHEN "COLONNE6" IS NOT NULL THEN 
format(
'<div style="color:#B5B5B5">%1</span>',
"COLONNE6" ) END
SANTANNA a écrit:

Bonjour,

en etant absolut 0 sur QGIS et dans le code


Vous avez gagné le droit de ne plus dire/écrire cela, je pense.
Bravo, Sofia.

Hors ligne

 

Pied de page des forums

Copyright Association GeoRezo