---
title: "Der Query Builder von List Filter Online: Bedingungen, Gruppen und die CAML-Abfrage dahinter"
description: "Referenz zum Query Builder des Vitextra-Webparts List Filter Online: wo er zu finden ist, wie Bedingungen und UND/ODER-Gruppen funktionieren, welche Operatoren für jeden Spaltentyp verfügbar sind, wie dynamische Bedingungen wie „Ist aktueller Benutzer\" und „Letzte X Jahre\" aufgelöst werden, wie der vordefinierte Filter mit Benutzerfiltern kombiniert wird und wie Sie die erzeugte CAML-Abfrage anzeigen."
url: https://vitextra.com/de/support/kb/10320
language: de
published: 2026-10-21
modified: 2026-10-21
products:
  - "List Filter Online"
author: "Lidija Reising"
tags: ["List Filter Online Query Builder", "SharePoint CAML-Abfrage erstellen", "vordefinierter Filter Listen-Webpart SharePoint", "UND ODER Filtergruppen SharePoint", "dynamischer Filter aktueller Benutzer", "Filter letzte X Monate", "verschachtelte Filterbedingungen SharePoint Online", "CAML-Abfrage anzeigen", "Vitextra List Filter Online"]
---

# Der Query Builder von List Filter Online: Bedingungen, Gruppen und die CAML-Abfrage dahinter

Referenz zum Query Builder des Vitextra-Webparts List Filter Online: wo er zu finden ist, wie Bedingungen und UND/ODER-Gruppen funktionieren, welche Operatoren für jeden Spaltentyp verfügbar sind, wie dynamische Bedingungen wie „Ist aktueller Benutzer" und „Letzte X Jahre" aufgelöst werden, wie der vordefinierte Filter mit Benutzerfiltern kombiniert wird und wie Sie die erzeugte CAML-Abfrage anzeigen.

## Überblick

Der **Query Builder** ist der Teil des Vitextra-Webparts List Filter Online, in dem ein Seitenbearbeiter den **vordefinierten Filter** festlegt — die Menge der Bedingungen, die jedes Element erfüllen muss, bevor es im Webpart erscheint. Benutzer können diesen Filter weder sehen noch entfernen; sie schränken das Ergebnis lediglich mit dem Filterbereich und den Spaltenkopffiltern weiter ein.

Der vordefinierte Filter wird als Baum aus Bedingungen und Gruppen gespeichert und in eine **CAML-Abfrage** übersetzt, die SharePoint auf dem Server ausführt. Es wird nichts in den Browser geladen und erst dort gefiltert: Die Liste liefert nur die passenden Elemente, Seite für Seite — genau das hält das Webpart auch bei großen Listen schnell.

Typische Einsatzfälle des vordefinierten Filters:

- Nur Dokumente anzeigen, die **vom aktuellen Benutzer erstellt oder geändert** wurden.
- Auf einer Dashboard-Seite nur die Datensätze der **letzten 12 Monate** anzeigen.
- Nur **genehmigte** Elemente, Elemente **mit Anlagen** oder Elemente anzeigen, deren **Status** nicht *Geschlossen* ist.
- Aus einer Liste eine Seite pro Abteilung aufbauen, ohne pro Abteilung eine Ansicht anzulegen.

📝 **Hinweis**  
Der Query Builder definiert den Filter, der immer angewendet wird. Die Steuerelemente, die Benutzer im Filterbereich sehen, werden separat konfiguriert — siehe [KB10255. Steuerelemente des Filterbereichs und unterstützte Spaltentypen in List Filter Online](https://vitextra.com/de/support/kb/10255).

---

## Wo Sie den Query Builder finden

1. Öffnen Sie die Seite im Bearbeitungsmodus und wählen Sie am Webpart List Filter Online **Webpart bearbeiten**.
2. Scrollen Sie im Eigenschaftenbereich zur Gruppe **Filter**. Auf die Beschriftung **Ansicht filtern nach:** folgt eine Vorschau des aktuellen Filters — **Kein Filter angewendet**, solange noch nichts definiert ist.
3. Wählen Sie **Filter bearbeiten**. Der Query Builder öffnet sich in einem großen Seitenbereich.
4. Stellen Sie die Abfrage zusammen und wählen Sie dann **Speichern**, um sie anzuwenden, oder **Abbrechen**, um die Änderungen zu verwerfen. Das Webpart wird sofort mit dem neuen Filter neu gerendert.

![Die Gruppe „Filter" im Eigenschaftenbereich mit der Filtervorschau und der Schaltfläche „Filter bearbeiten"](https://static.vitextra.com/articles/10320/filter-group-property-pane-de.png)
*Die Gruppe „Filter" im Eigenschaftenbereich mit der Filtervorschau und der Schaltfläche „Filter bearbeiten"*

Der Query Builder steht erst zur Verfügung, nachdem in der Gruppe **Datenquelle** die **Website** und die **Liste oder Bibliothek** ausgewählt wurden, denn die Liste der Felder und ihrer Typen stammt aus der ausgewählten Liste.

---

## Bedingungen und Gruppen

Eine Abfrage besteht aus zwei Arten von Bausteinen.

- Eine **Bedingung** ist ein einzelner Vergleich: *Feld* — *Operator* — *Wert*, zum Beispiel `Betrag` — *Ist größer als* — `5000`. Einige Operatoren benötigen keinen Wert (*Enthält Daten*, *Ist aktueller Benutzer*, *Heute*).
- Eine **Gruppe** enthält Bedingungen und weitere Gruppen und verknüpft sie mit einem logischen Operator — **UND** (jedes Mitglied muss zutreffen) oder **ODER** (mindestens ein Mitglied muss zutreffen). Der Umschalter am linken Rand der Gruppe wechselt zwischen beiden.

Der Bereich hat immer eine **Stammgruppe**; sie kann nicht gelöscht werden. In jeder Gruppe bietet die Schaltfläche **Hinzufügen** zwei Befehle:

- **Bedingung** — fügt der aktuellen Gruppe eine leere Zeile hinzu;
- **Gruppe** — fügt eine verschachtelte Gruppe hinzu (standardmäßig UND), die Sie auf dieselbe Weise füllen.

Gruppen lassen sich bis zu **zehn Ebenen** tief verschachteln. Jede Zeile und jede verschachtelte Gruppe hat rechts ein Löschsymbol; das Löschen einer Gruppe löscht alles, was sie enthält.

![Eine Abfrage mit verschachtelten UND/ODER-Gruppen im Query Builder](https://static.vitextra.com/articles/10320/query-builder-nested-groups-de.png)
*Eine Abfrage mit verschachtelten UND/ODER-Gruppen im Query Builder*

Die Abfrage in der Abbildung bedeutet: *Titel ist nicht leer und beginnt mit „C"* **und** *(von mir erstellt oder von mir geändert)* **und** *(im letzten Jahr erstellt oder im letzten Jahr geändert)* **und** *(hat Anlagen, oder der Kunde ist ausgefüllt und der Betrag ist größer als 5.000)*.

💡 **Tipp**  
Belassen Sie die Stammgruppe auf **UND** und legen Sie jede alternative Bedingungsmenge in eine eigene **ODER**-Gruppe. Eine so aufgebaute Abfrage ist in der Vorschau gut lesbar und lässt sich später leicht erweitern.

---

## Operatoren nach Spaltentyp

Die **Operator**-Liste einer Zeile hängt vom Typ des ausgewählten Felds ab. Die Tabelle führt die Operatoren auf, die der Query Builder für jeden unterstützten Spaltentyp anbietet.

| Spaltentyp | Operatoren |
|:---|:---|
| **Eine Textzeile**, **Mehrere Textzeilen**, **Hyperlink oder Bild** | Gleich, Ist nicht gleich, Beginnt mit, Enthält, Enthält Daten, Enthält keine Daten |
| **Auswahl** | Gleich, Ist nicht gleich, Beginnt mit, Enthält, Enthält Daten, Enthält keine Daten |
| **Auswahl (Mehrfachwerte)**, **Nachschlagen**, **Berechnet** (Textergebnis) | Gleich, Ist nicht gleich, Enthält Daten, Enthält keine Daten (Berechnet bietet zusätzlich Beginnt mit und Enthält) |
| **Zahl**, **Währung**, **ID** | Gleich, Ist nicht gleich, Ist größer als, Ist größer oder gleich, Ist kleiner als, Ist kleiner oder gleich (Zahl bietet zusätzlich Enthält Daten, Enthält keine Daten) |
| **Datum und Uhrzeit** | Am, Nicht am, Am oder nach, Nach, Am oder vor, Vor, Zwischen, Heute, Letzte X Tage, Letzte X Wochen, Letzte X Monate, Letzte X Jahre, Nächste X Tage, Nächste X Wochen, Nächste X Monate, Nächste X Jahre, Enthält Daten, Enthält keine Daten |
| **Ja/Nein** | Gleich, Ist nicht gleich, Enthält Daten, Enthält keine Daten |
| **Anlagen** | Gleich, Ist nicht gleich (Wert: Ja / Nein) |
| **Person oder Gruppe** | Gleich, Ist nicht gleich, Ist aktueller Benutzer, Ist nicht aktueller Benutzer, Enthält Daten, Enthält keine Daten |
| **Verwaltete Metadaten** (Einzel- und Mehrfachwerte) | Gleich, Ist nicht gleich, Enthält, Enthält nicht, Enthält Daten, Enthält keine Daten |
| **Genehmigungsstatus** | Gleich, Ist nicht gleich (Wert: eine Liste der Status) |
| **Bewertung**, **Likes** | Gleich, Ist nicht gleich, Enthält Daten, Enthält keine Daten (Likes: nur Enthält Daten, Enthält keine Daten) |

*Enthält Daten* und *Enthält keine Daten* prüfen, ob die Spalte überhaupt einen Wert hat — genau wie **IsNotNull** und **IsNull** in CAML.

Auch der **Wert**-Editor folgt dem Spaltentyp: eine Datumsauswahl für Datumsangaben (zwei Datumsauswahlen für *Zwischen*), ein numerisches Feld für Zahlen und Währungen, eine Personenauswahl für **Person oder Gruppe**, eine Ausdrucksauswahl für **Verwaltete Metadaten**, eine *Ja / Nein*-Liste für Ja/Nein und Anlagen, eine Statusliste für **Genehmigungsstatus** sowie ein Textfeld für Text-, Auswahl- und Nachschlagespalten.

❗ **Wichtig**  
System- und schreibgeschützte Spalten (zum Beispiel *Inhaltstyp-ID*, *Eindeutige ID*, *Version* oder *Ausgecheckt von*) werden in der Feldliste nicht angeboten. Spalten von Typen, die sich in CAML nicht vergleichen lassen — etwa *Bild*, *Standort* oder *Serie* — werden ebenfalls nicht angeboten.

---

## Statische und dynamische Bedingungen

Eine **statische** Bedingung vergleicht die Spalte mit einem festen Wert, den Sie eingeben: ein Datum, eine Zahl, ein Text, eine Person. Der Wert wird unverändert in die Abfrage geschrieben. *Zwischen* schließt beide Datumsangaben ein, tagesgenau; ist nur eines der beiden Daten gesetzt, wird die Bedingung zu einem offenen *Am oder nach* bzw. *Am oder vor*.

Eine **dynamische** Bedingung wird von SharePoint **im Moment der Abfrageausführung** aufgelöst, sodass dieselbe Seite verschiedenen Benutzern und an verschiedenen Tagen unterschiedliche Elemente zeigt:

| Operator | So wird er aufgelöst |
|:---|:---|
| **Ist aktueller Benutzer** / **Ist nicht aktueller Benutzer** | Vergleicht die Personenspalte mit der ID des angemeldeten Benutzers (`<UserID />` in CAML). |
| **Heute** | Vergleicht die Datumsspalte mit dem aktuellen Datum (`<Today />`). |
| **Letzte X Tage / Wochen / Monate / Jahre** | Ein Zeitraum von *heute minus X* (Tage, Wochen, Monate oder Jahre) bis *heute*. |
| **Nächste X Tage / Wochen / Monate / Jahre** | Ein Zeitraum von *heute* bis *heute plus X*. |

Die Zahl für *Letzte X* und *Nächste X* wird im Wertfeld der Zeile eingegeben. **Letzte X Monate** und **Letzte X Jahre** werden beim Erzeugen der Abfrage in ein Startdatum umgerechnet, sodass eine Seite mit *Geändert — Letzte X Jahre — 1* immer die letzten zwölf Monate abdeckt, ohne dass jemand den Filter bearbeiten muss.

📝 **Hinweis**  
Dynamische Bedingungen werden auf dem Server in der Zeitzone der Website ausgewertet. Ein spät am Abend geändertes Dokument kann daher in einen anderen Tag fallen, als Ihre lokale Uhr vermuten lässt.

---

## Wie der vordefinierte Filter mit Benutzerfiltern kombiniert wird

Wenn ein Benutzer im Filterbereich oder in einem Spaltenkopf einen Filter anwendet, ersetzt das Webpart den vordefinierten Filter nicht. Es erstellt eine neue Abfrage, in der der **vordefinierte Filter und die Benutzerfilter mit UND verknüpft** sind:

```
<Where>
  <And>
    <!-- der vordefinierte Filter aus dem Query Builder -->
    <!-- die vom Benutzer im Filterbereich ausgewählten Bedingungen -->
  </And>
</Where>
```

Folgen, die Sie kennen sollten:

- Benutzer können das Ergebnis einschränken, aber nie über den vordefinierten Filter hinaus erweitern. Eine auf *Erstellt von — Ist aktueller Benutzer* gefilterte Seite zeigt nie die Elemente einer anderen Person, was auch immer der Benutzer im Bereich auswählt.
- Sortierung, Gruppierung, Summen und der Excel-Export arbeiten alle auf dem kombinierten Ergebnis.
- Gespeicherte Filter und Filterlinks (siehe [KB10253. Filter speichern und einen Link zu einer gefilterten Ansicht in List Filter Online teilen](https://vitextra.com/de/support/kb/10253)) speichern nur den Benutzeranteil der Abfrage. Der vordefinierte Filter ist Teil der Seitenkonfiguration und wandert mit der Seite.

---

## Vom Baum zu CAML

CAML, die Abfragesprache für SharePoint-Listen, erlaubt innerhalb von `<And>` und `<Or>` **genau zwei Operanden**. Eine Gruppe mit drei oder mehr Mitgliedern lässt sich daher nicht als ein Element schreiben; sie muss in eine Kette verschachtelter Paare gefaltet werden. Der Query Builder übernimmt dieses Falten für Sie — zusammen mit den typspezifischen Details: dem `Type`-Attribut jedes Werts, `LookupId` für Nachschlagespalten und `IncludeTimeValue` für Datumsvergleiche.

Die Abfrage aus der obigen Abbildung erzeugt eine `<Where>`-Klausel von rund 70 Zeilen. Ihr Gerüst — mit verkürzten Vergleichen — sieht so aus:

```
<Where>
  <And>
    <Or>  <!-- von mir erstellt ODER von mir geändert -->
      <Eq><FieldRef Name="Author" /><Value Type="Integer"><UserID /></Value></Eq>
      <Eq><FieldRef Name="Editor" /><Value Type="Integer"><UserID /></Value></Eq>
    </Or>
    <And>
      <Or>  <!-- im letzten Jahr erstellt ODER im letzten Jahr geändert -->
        <And> <Geq Created 2025-10-21 /> <Leq Created <Today /> /> </And>
        <And> <Geq Modified 2025-10-21 /> <Leq Modified <Today /> /> </And>
      </Or>
      <And>
        <Or>  <!-- (Kunde ausgefüllt UND Betrag > 5000) ODER hat Anlagen -->
          <And> <IsNotNull Customer /> <Gt Amount 5000 /> </And>
          <Eq Attachments 1 />
        </Or>
        <And> <IsNotNull Title /> <BeginsWith Title "C" /> </And>
      </And>
    </And>
  </And>
</Where>
```

Jede Zeile *Letzte X Jahre* wurde zu einem `<And>` aus zwei Datumsvergleichen, jede ODER-Gruppe zu einem `<Or>`-Element, und die vier Mitglieder der UND-Stammgruppe wurden zu drei verschachtelten `<And>`-Elementen.

### Die erzeugte Abfrage anzeigen

So sehen Sie die exakte CAML-Abfrage, die das Webpart sendet — einschließlich des vordefinierten Filters, der aktuellen Benutzerfilter, der Ansichtsfelder, des Zeilenlimits und der Gruppierung:

1. Erweitern Sie im Eigenschaftenbereich **Entwicklertools** und aktivieren Sie **Entwicklermodus aktivieren**.
2. Speichern Sie die Seite. Am rechten Ende der Befehlsleiste des Webparts erscheint ein Entwicklertools-Menü.
3. Wählen Sie **CAML-Abfrage**. Die Abfrage öffnet sich in einem Dialog und kann kopiert werden.

![Der Dialog „CAML-Abfrage" zeigt die exakte an SharePoint gesendete Abfrage](https://static.vitextra.com/articles/10320/caml-query-dialog-de.png)
*Der Dialog „CAML-Abfrage" zeigt die exakte an SharePoint gesendete Abfrage*

💡 **Tipp**  
Schalten Sie den Entwicklermodus wieder aus, sobald der Filter fertig ist. Das Menü ist für alle sichtbar, die das Webpart sehen können.

---

## Vordefinierte Filter bei großen Listen

Bei Listen mit mehr als 5.000 Elementen führt SharePoint eine Abfrage nur aus, wenn die **erste** Bedingung, die das Ergebnis einschränkt, eine **indizierte** Spalte verwendet. Der vordefinierte Filter wird als Erstes ausgeführt und entscheidet daher, ob sich die Seite überhaupt öffnet.

- Beginnen Sie die Stammgruppe mit einer Bedingung auf einer indizierten Spalte (*Erstellt*, *Geändert*, *Erstellt von*, *Geändert von* und *ID* sind standardmäßig indiziert; andere lassen sich in den Listeneinstellungen indizieren).
- Bevorzugen Sie UND auf der Stammebene: Ein ODER zwischen zwei nicht indizierten Spalten kann keinen Index nutzen.
- Dynamische Datumsbedingungen (*Letzte X Monate*, *Heute*) sind gute erste Bedingungen, wenn die Datumsspalte indiziert ist.

Die Details, die Indexwarnung im Filterkonfigurator und das Anlegen eines Index mit einem Klick sind in [KB10257. Große Listen filtern: Indizierte Spalten und der Schwellenwert von 5.000 Elementen](https://vitextra.com/de/support/kb/10257) beschrieben.

---

## Einschränkungen

- Der Query Builder arbeitet mit den Spalten **einer Liste oder Bibliothek** — derjenigen, die in der Datenquelle ausgewählt ist. Bedingungen auf Spalten anderer Listen sind nicht möglich.
- Nachschlage- und Auswahlwerte werden über den **eingegebenen Text** abgeglichen; im Query Builder gibt es dafür keine Auswahlhilfe.
- Eine verschachtelte Gruppe ohne Bedingungen wird beim Erzeugen der Abfrage ignoriert.
- Die maximale Verschachtelungstiefe beträgt zehn Ebenen. In der Praxis decken zwei oder drei Ebenen fast jedes Szenario ab; ein tieferer Baum ist in der Vorschau schwer lesbar.
- Der vordefinierte Filter wird Benutzern nicht angezeigt. Wenn Benutzer wissen müssen, warum bestimmte Elemente fehlen, weisen Sie im Titel des Webparts oder auf der Seite darauf hin.

---

## Verwandte Artikel

💡 **Tipp**  
Die übrigen Einstellungen des Eigenschaftenbereichs sind in [KB10201. Das Webpart List Filter Online konfigurieren](https://vitextra.com/de/support/kb/10201) beschrieben; die Steuerelemente des Filterbereichs in [KB10255. Steuerelemente des Filterbereichs und unterstützte Spaltentypen in List Filter Online](https://vitextra.com/de/support/kb/10255); kaskadierende Dropdown-Optionen in [KB10256. Kaskadierende Filter: Dropdown-Optionen anhand anderer ausgewählter Filter eingrenzen](https://vitextra.com/de/support/kb/10256). Einen Vergleich mit dem integrierten Listen-Webpart finden Sie in [KB10321. List Filter Online und das integrierte Webpart „Liste": Was ist der Unterschied?](https://vitextra.com/de/support/kb/10321).
