advanced labeling

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

advanced labeling

a.ciali@libero.it
Salvea tutti,
sto tentando di creare una label (QGIS Master - w7) con il tool advanced
labeling, concatenando il contenuto di 2 campi testo con la seguente
espressione:

'campo1' || 'campo2'

il risultato è quello sperato solo per le feature che hanno un valore sia per
campo1 che per campo2, mentre se uno dei 2 campi è NULL,  la label non viene
visualizzata. Prima di aprire un ticket chiedevo se è semplicemente un problema
di query oppure un piccolo bug.
Saluti a tutti
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
569 iscritti al 4.1.2012
Reply | Threaded
Open this post in threaded view
|

Re: advanced labeling

Giuseppe Sucameli
Salve,

2012/3/4 [hidden email] <[hidden email]>:
> sto tentando di creare una label (QGIS Master - w7) con il tool advanced
> labeling, concatenando il contenuto di 2 campi testo con la seguente
> espressione:
>
> 'campo1' || 'campo2'
>
> il risultato è quello sperato solo per le feature che hanno un valore sia per
> campo1 che per campo2, mentre se uno dei 2 campi è NULL,  la label non viene
> visualizzata.

E' concettualmente corretto: NULL non e' un valore che si puo' concatenare
in una stringa.

Se vuoi che NULL sia convertito in qualcosa (es. stringa 'null') devi
specificarlo:

CASE WHEN "campo1" IS NULL THEN 'null' ELSE "campo1" END || CASE WHEN
"campo2" IS NULL THEN 'null' ELSE "campo2" END

Saluti.

--
Giuseppe Sucameli
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
569 iscritti al 4.1.2012
Reply | Threaded
Open this post in threaded view
|

Re: advanced labeling

pcav
Il 04/03/2012 15:54, Giuseppe Sucameli ha scritto:
> E' concettualmente corretto: NULL non e' un valore che si puo' concatenare
> in una stringa.
Concettualmente correttissimo, ma di sicuro inaspettato per l'utente.
Meglio chiedere (in un ticket) che venga semplificata la sintassi.
Saluti.

--
Paolo Cavallini
See: http://www.faunalia.it/pc

_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
569 iscritti al 4.1.2012
Reply | Threaded
Open this post in threaded view
|

Re: advanced labeling

Giuseppe Sucameli
2012/3/4 Paolo Cavallini <[hidden email]>:
> Il 04/03/2012 15:54, Giuseppe Sucameli ha scritto:
>
>> E' concettualmente corretto: NULL non e' un valore che si puo' concatenare
>> in una stringa.
>
> Concettualmente correttissimo, ma di sicuro inaspettato per l'utente.
> Meglio chiedere (in un ticket) che venga semplificata la sintassi.

e' SQL-like,

al massimo si potrebbe chiedere di modificare la funzione tostring()
affinche' stampi una stringa vuota quando in input ha un valore nullo,
cosi' che si possa usare

tostring( "campo1" ) || tostring( "campo2" )

per il resto mi sembra che ci sia davvero poco da fare.

--
Giuseppe Sucameli
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
569 iscritti al 4.1.2012