¿Mostrar múltiples campos como etiquetas si un campo es nulo en QGIS?

13

Tengo algunos problemas al intentar mostrar varios campos para una sola etiqueta en QGIS. En QGIS2.6, intentar mostrar etiquetas para una característica que consta de múltiples campos da como resultado una etiqueta vacía si uno de los campos es nulo. Entonces, por ejemplo, en el diálogo de expresión de etiqueta:

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

funcionará normalmente a menos que uno de los campos sea nulo, entonces no se mostrará ninguna etiqueta. Usando el '||' en cambio, el operador en el cuadro de diálogo de expresión también produce el mismo comportamiento:

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

¿Hay alguna manera de mostrar las etiquetas incluso si uno de los campos es nulo?

kilolima
fuente

Respuestas:

20

Use la función "Fusionar". Coalesce toma el primer valor no nulo de sus argumentos. Entonces esta expresión debería funcionar:

coalesce("Temp Site",'') || '\n'  ||  coalesce("Notes",'') || '\n'  ||  coalesce("Function",'')
ndawson
fuente
1
También puede ajustar la nueva línea dentro de la función de fusión, si tiene sentido evitar las líneas en blanco en el medio de la etiqueta. Utilicé una expresión comocoalesce("Temp Site", ' ') || coalesce(('\n' || "Notes"), ' ') || coalesce(('\n' || "Function"), ' ' )
Brian Fisher