QGIS에서 하나의 필드가 null 인 경우 여러 필드를 레이블로 표시합니까?


13

QGIS에서 단일 레이블에 대해 여러 필드를 표시하려는 데 문제가 있습니다. QGIS2.6에서 여러 필드로 구성된 피처의 레이블을 표시하려고하면 필드 중 하나가 널인 경우 빈 레이블이됩니다. 예를 들어 레이블 표현식 대화 상자에서

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

필드 중 하나가 null이 아닌 한 정상적으로 작동하면 레이블이 표시되지 않습니다. '||'사용 대신 표현식 대화 상자에서 연산자는 동일한 동작을 발생시킵니다.

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

필드 중 하나가 null 인 경우에도 레이블을 표시하는 방법이 있습니까?

답변:


20

"Coalesce"기능을 사용하십시오. Coalesce는 인수에서 첫 번째 널이 아닌 값을 가져옵니다. 따라서이 표현은 효과가 있습니다.

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

1
그것이 내가 표현처럼 사용되는 라벨의 중간에 빈 라인을 방지하기 위해 의미가 있다면 당신은 또한 병합 기능 내에서 새로운 라인을 래핑 할 수coalesce("Temp Site", ' ') || coalesce(('\n' || "Notes"), ' ') || coalesce(('\n' || "Function"), ' ' )
브라이언 피셔
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.