QGISで1つのフィールドがnullの場合、複数のフィールドをラベルとして表示しますか?


12

QGISで単一のラベルに複数のフィールドを表示しようとすると、いくつかの問題が発生します。QGIS2.6では、複数のフィールドで構成されるフィーチャのラベルを表示しようとすると、フィールドの1つがnullの場合、空のラベルになります。たとえば、ラベル式ダイアログで:

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

フィールドの1つがnullでない限り正常に機能し、ラベルが表示されなくなります。「||」を使用する 代わりに式ダイアログの演算子も同じ動作になります。

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

フィールドの1つがnullでもラベルを表示する方法はありますか?

回答:


20

「合体」機能を使用します。Coalesceは、引数から最初のnull以外の値を取得します。したがって、この式は機能するはずです。

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

1
それは私が好きな表現を使用したラベルの中央に空白行を避けるために理にかなっている場合にも、COALESCE関数内の新しい行をラップすることができますcoalesce("Temp Site", ' ') || coalesce(('\n' || "Notes"), ' ') || coalesce(('\n' || "Function"), ' ' )
ブライアン・フィッシャー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.