[FOSSGIS-Talk] QGIS: Suchen & Ersetzen in Attributtabelle

Martin Miethke martin.miethke at gmx.net
Do Jul 9 14:25:59 CEST 2020


Hallo Lars, Danke für deine Antwort!

Tatsächlich ist das Selektieren aber gar nicht nötig – mit 'replace()' wird automatisch nur in den betreffenden Datensätzen ersetzt.
Mein Denkfehler war, dass ich meinte, das Attribut (den Spaltennamen) über die Funktion 'attribute()' in das erste Argument einsetzen zu müssen anstatt einfach nur mit dem Feldnamen (in doppelten Hochkommas).

Herzliche Grüße – Martin


> Am 09.07.2020 um 13:11 schrieb lars lingner <lars at lingner.eu>:
> 
> Hallo Martin,
> 
> der Feldrechner geht über alle Datensätze. Wenn nur eine Teilmenge
> bearbeitet werden soll, fallen mir zwei Lösungen ein:
> 
> a) zuerst die gewünschten Features selektieren. Dann im Feldrechner die
> Checkbox "Nur selektierte Datensätze"  aktivieren
> 
> b) in dem Filterquery gezielt die Datensätze filtern, auf die die
> Ersetzung angewandt werden soll. z.B.
> if ($attribute1 = 'irgendwas',
>    replace(attribute( "attributname" ),
>      'zu_ersetzen_string',
>      'ersetzen_durch_string'
>    ),
>    attribute( "attributname" )
> )
> 
> Vielleicht gibt es mit deinem Query auch ein Problem. Kannst du das
> vollständige Query zeigen?
> 
> 
> Viele Grüße
> 
> Lars
> 
> 
> Am 09.07.20 um 12:30 schrieb Martin Miethke:
>> Hallo miteinander,
>> 
>> ich möchte in einer Attributtabelle einen Begriff in einem bestimmten Feld (Attribut), der nur in einem Teil der Datensätze vorkommt, durch einen anderen ersetzen. Meine Versuche mit dem Feldrechner und replace scheiterten kläglich – das Ergebnis ist immer nur ein in allen Datensätzen komplett geleertes Feld.
>> 
>> Ist das der falsche Ansatz? Vielleicht verstehe ich aber auch die replace-Funktion falsch – für das erste Argument habe ich 
>> attribute ( "attributname" )
>> eingesetzt, gefolgt von dem zu suchenden und dem zu ersetzenden Begriff.
>> 
>> Herzliche Grüße – Martin
>> 



Mehr Informationen über die Mailingliste FOSSGIS-Talk-Liste