Visualizzazione di più campi come etichette se un campo è null in QGIS?


13

Sto riscontrando alcuni problemi nel tentativo di mostrare più campi per una singola etichetta in QGIS. In QGIS2.6, il tentativo di visualizzare etichette per una funzione costituita da più campi genera un'etichetta vuota se uno dei campi è nullo. Ad esempio, nella finestra di dialogo dell'espressione dell'etichetta:

concat("Temp Site",'\n',"Notes",'\n',"Function")

funzionerà normalmente a meno che uno dei campi sia nullo, quindi non verrà mostrata alcuna etichetta. Usando il '||' l'operatore invece nella finestra di dialogo dell'espressione comporta anche lo stesso comportamento:

"Temp Site" || '\n'  ||  "Notes" || '\n'  ||  "Function"

C'è un modo per visualizzare le etichette anche se uno dei campi è nullo?

Risposte:


20

Utilizzare la funzione "Coalesce". Coalesce prende il primo valore non nullo dai suoi argomenti. Quindi questa espressione dovrebbe funzionare:

coalesce("Temp Site",'') || '\n'  ||  coalesce("Notes",'') || '\n'  ||  coalesce("Function",'')

1
Puoi anche avvolgere la nuova riga all'interno della funzione di coalescenza, se ha senso evitare le righe vuote nel mezzo dell'etichetta ho usato un'espressione similecoalesce("Temp Site", ' ') || coalesce(('\n' || "Notes"), ' ') || coalesce(('\n' || "Function"), ' ' )
Brian Fisher,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.