Usi i caratteri jolly per le intestazioni di colonna nel calcolatore di campo QGIS?


10

So che puoi usare i caratteri jolly per i campi in questo modo (nel calcolatore di campo):

case when "column" ILIKE '%example%' then 1
else 0
end

Puoi fare qualcosa di simile per le intestazioni di colonna stesse?

Lo chiedo perché sto unendo diversi livelli (usando le proprietà Joins ) e mi renderebbe più semplice modificare un set di filtri invece di modificare diversi filtri poiché i nomi delle colonne dovranno includere il nome del livello unito.

Sto usando QGIS 2.2.

Risposte:


4

Scusate. I caratteri jolly sono da utilizzare nelle stringhe e, sfortunatamente, le doppie virgolette attorno al nome di una colonna non significano che sia una stringa. I nomi delle colonne sono "identificatori", che credo siano fondamentalmente nomi di oggetti, ma non sono un esperto. Ciò non significa che non c'è modo di fare quello che stai chiedendo, ma non accadrà nel calcolatore di campo.


Grazie Zack, capisco che colonne / campi siano "identificatori", sarebbe bello se potessero in qualche modo includerlo. Accetterò comunque questa risposta per ora :)
Joseph

6

Con l'introduzione dell'Editor delle funzioni in QGIS 2.8, è possibile scorrere i nomi dei campi ed eseguire una sorta di analisi:

from qgis.core import *
from qgis.gui import *

@qgsfunction(args='auto', group='Custom')
def fields(feature, parent):
    layer = qgis.utils.iface.activeLayer()
    field_names = [field.name() for field in layer.fields()]
    for name in field_names:
        if "some_name" in name:
            # Do something
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.