Auf was muss ich achten, wenn ich Filter mit mehreren Filterpositionen erstelle?
Reihenfolge über die Position
Achte darauf, dass die Ansicht immer nach der Position sortiert bleibt. Die Position bestimmt die Reihenfolge, in welcher der Filter angewendet wird und so die Adressen selektiert. Dies hat insbesondere Einfluss auf die implizite Klammersetzung (siehe unten).
Bedeutung der «und» und «oder» Operatoren
Die Operatoren «und» sowie «oder» müssen mathematisch verstanden werden. Sie werden wie in der Mengenlehre angewendet, sodass Filterposition A <und> Filterposition B
die Schnittmenge der beiden Filterpositionen beschreibt.
Analog bezeichnet der «oder» Operator die Menge, die entsteht, wenn entweder Filterposition A erfüllt ist oder Filterposition B.
Inklusive Wertbereichsgrenzen
In funtrade sind alle Wertbereichsgrenzen immer «inklusive». Dies hat zur Folge, dass gerade beim Erstellen von mehreren Filterpositionen, Überlappungen von Wertbereichen auftreten können und deshalb manuell ausgeschlossen werden müssen.
Mehr zur Inklusivität von Wertbereichsgrenzen in unserem FAQ «Sind Filter / Filterpositionen / Filtergrenzen immer inklusive?»
Priorität der Operatoren und die Klammersetzung
In der Mengenlehre geniesst der «und» Operator immer die höhere Priorität vor dem «oder» Operator. Um den Filter mit den Positionen A und B oder C
auszuwerten, werden implizite Klammern gesetzt. Nämlich (A und B) oder C
.
Bei mehreren Filterpositionen ist es deshalb wichtig, die Klammern explizit zu setzen und so die Priorität explizit festzulegen:
A oder B und C oder D
ist implizit
A oder (B und C) oder D
Deshalb wollen wir explizit definieren, welche Filterpositionen zusammengehören:
(A oder B) und (C oder D)