--- title: "Filter definieren" slug: "filter-definieren" description: "Erfahren Sie wie im VASGARD/IAN an unterschiedlichen Stellen Filter definiert werden können. " updated: 2026-07-23T09:53:14Z published: 2026-07-23T09:53:14Z canonical: "docs.vasgard.com/filter-definieren" stale: true --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.vasgard.com/llms.txt > Use this file to discover all available pages before exploring further. # Filter definieren Im VASGARD/IAN ist es an einigen Stellen im Bearbeitungsmodus möglich, Filter zu definieren. Immer wenn der Button **Filter** bei der Bearbeitung erscheint, wird an dieser Stelle ein Filterausdruck erwartet. ![button_filter](https://cdn.document360.io/d068286e-12b7-4de8-b129-2985cf0b4f54/Images/Documentation/button_filter.png) Beim Aufruf der Filterfunktion öffnet sich folgendes Fenster, welches die Definition von Filterausdrücken unterstützt. ![filter-editor](https://cdn.document360.io/d068286e-12b7-4de8-b129-2985cf0b4f54/Images/Documentation/filter-editor.png) Dabei kann entweder die **Filter Eingabe** genutzt werden oder die **Filter String Eingabe**, die eine Eingabe in Textform ermöglicht. Es werden immer beide Bereiche aktualisiert, unabhängig von der Eingabeart. Für die formularbasierte Eingabe wird auf **+ Bedingung** geklickt und eine Zeile wird ergänzt. ![filter-erstellt-2](https://cdn.document360.io/d068286e-12b7-4de8-b129-2985cf0b4f54/Images/Documentation/filter-erstellt-2.png) Die **interne Filternotation** kann hier auch angesehen werden. Ein Filter kann aus mehreren Zeilen bestehen, die mithilfe von **AND** und **OR** verknüpft werden. Jede Zeile ist folgendermaßen aufgebaut. ![filter-zeile](https://cdn.document360.io/d068286e-12b7-4de8-b129-2985cf0b4f54/Images/Documentation/filter-zeile.png) In das erste Feld wird der interne Name des Attributes aus der Liste ausgewählt. Anschließend folgt der Operator, der verwendet werden soll. Wird ein Vergleichswert benötigt, so wird dieser unter **Wert eingeben** angegeben. Eine Eingabe ist hier nur möglich, wenn der Operator diese erfordert. Der gesamte Ausdruck kann dann noch negiert werden, indem vor dem **NOT** der Haken gesetzt wird. Es gibt eine Liste verschiedener Operatoren, die ausgewählt werden können: ![](https://cdn.document360.io/d068286e-12b7-4de8-b129-2985cf0b4f54/Images/Documentation/filter-operatoren.png) ## Beispiele ### <, <=, =, !=, >, >= Hier kann überprüft werden, ob der Wert des Feldes in **Attribut** kleiner als, kleiner oder gleich, größer als oder größer oder gleich, dem unter **Wert** angegebenen Wert ist. > [!NOTE] > **Beispiele** > > ('anzahl' < 100) > > > > ('status' = 'produktiv') ### ip_in Hier kann überprüft werden, ob die IP-Adresse im zu vergleichenden Feld **Attribut** in einem bestimmten IP-Bereich enthalten ist. Unter **Wert** wird der IP-Bereich eingetragen. > [!NOTE] > **Beispiel** > > ('ip_adresse' ip_in 10.40.20.200/24) ### **contains** Hier kann überprüft werden, ob das **Attribut** die unter **Wert** angegebenen Daten enthält. > [!NOTE] > **Beispiele** > > ('display_name' contains 'Test') > > > > ('status' contains 'Aktiv') ### **flat_contains** Dieser Ausdruck nimmt eine angegebene Liste von Listen in **Wert** und schaut, ob in einer der untergeordneten Listen das gesuchte Element unter Attribut enthalten ist. Aus einer verschachtelten Liste wird eine flache Liste gemacht wird (z.B. [1, [2, [3,4]]] -> [1, 2, 3, 4]). > [!NOTE] > **Beispiel** > > ('interfaces.*.ip_v4_addresses' flat_contains 10.1.1.1) ### **contains ip** Hier kann überprüft werden, ob das auszuwertende Feld unter **Attribut** eine IP-Adresse enthält. Unter **Wert** ist keine Angabe nötig. Der Unterschied zwischen **contains** und **contains ip** ist nur, dass bei **contains ip** bei IP-Adressbereichen auch **/24** usw. unterstützt wird. > [!NOTE] > **Beispiel** > > ('eingabe_ip_adresse' contains ip) ### **like** Prüft, ob ein Attribut einem regulären Ausdruck entspricht. Das Beispiel vergleicht alle Elemente, die den **display_name** Server gefolgt von beliebig vielen Zahlen haben. > [!NOTE] > **Beispiel** > > (display_name like Server[0-9]+) ### **type** Hier wird geprüft, ob ein Attribut den Asset-Typ hat, der unter **Wert** angegeben wird. > [!NOTE] > **Beispiel** > > (owner type AssetID) > > > > (owner type SchemaBasedDatastructure) ### **isinstance** Hier kann überprüft werden, ob der Wert des Feldes einer bestimmten Asset-Klasse angehört. Unter **Wert** wird die Asset-Klasse angegeben. Hier wird die englische Bezeichnung erwartet. Das Beispiel weist alle Assets der Klasse **Dokumente** zu, außer den Dummy-Assets. > [!NOTE] > **Beispiel** > > ('self' isinstance 'Document') AND (NOT ('is_hierarchy_dummy' = true)) ### **exists_timerange** Dieser Ausdruck wird benötigt um nachzuschauen, ob in einer gewissen Zeitspanne Reviews durchgeführt wurden. Er wird auch nur in diesem Spezialfall verwendet. Der Inhalt von **Attribut** muss eine Liste sein. Aus der Liste wird jedes Element folgendermaßen durchsucht. - **lhs[type_f ]** muss gleich **type_v** sein - **lhs[result_f ]** muss gleich **result_v** sein - **lhs[on_f ]** muss zwischen **on_min** und **on_max** (jeweils inklusive) sein **Wert** hat dabei folgendes Format: type_f,type_v,result_f,result_v,on_f,on_min_f,on_max_f Alle Parameter werden durch Komma getrennt. - **type_f** - **type_v** filtert den Review Typ, falls es mehrere Reviews pro Asset gibt. - **result_f** - **result_v** result_v soll das Review-Ergebnis filtern, so dass nur Reviews zählen die auch erfolgreich waren. - **on_f** - **on_min_f** Datum - **on_max_f** Datum ### **older_than** Attribut muss ein Datum enthalten, welches darauf überprüft wird, ob es älter ist als die unter **Wert** angegebene Zeitspanne. > [!NOTE] > **Beispiel** > > (date_of_last_backup older_than three month) ### **not_older_than** Attribut muss ein Datum enthalten, welches darauf überprüft wird, ob es nicht älter ist als die unter **Wert** angegebene Zeitspanne. > [!NOTE] > **Beispiel** > > (date_of_last_backup not_older_than three month) ### in_future Attribut muss ein Datum enthalten, welches darauf überprüft wird, ob es im Vergleich zu der unter **Wert** angegebene Zeitspanne noch in der Zukunft liegt . **is_set** *(Wert ist gesetzt)* Hier kann überprüft werden, ob irgendein Wert gesetzt wurde. Eine Angabe in **Wert** ist nicht nötig. **is_not_set** *(Wert ist nicht gesetzt)* Hier kann überprüft werden, ob kein Wert gesetzt wurde. Eine Angabe in **Wert** ist nicht nötig. **is_empty** Hier kann überprüft werden, ob das zu überprüfende Feld leer ist. Eine Angabe in **Wert** ist nicht nötig. **is_not_empty** Hier kann überprüft werden, ob das zu überprüfende Feld einen Inhalt hat, also nicht leer ist. Eine Angabe in **Wert** ist nicht nötig. > [!NOTE] > **Beispiele** > > (Startdatum is_set) > > (Startdatum is_not_set) > > (Startdatum is_empty) > > (Startdatum is_not_empty) ## Filter kontrollieren Um zu kontrollieren, ob der Filter korrekt ist und die gewünschten Ergebnisse ausgibt, kann er in der Suche ausgeführt werden, wenn der Operator dort verfügbar ist. Dann wird der Button **In Suche öffnen** aktiv und auswählbar, um den Filter in der Suche zu öffnen. ![filter-suche-oeffnen](https://cdn.document360.io/d068286e-12b7-4de8-b129-2985cf0b4f54/Images/Documentation/filter-suche-oeffnen.png) Es öffnet sich ein neuer Tab mit der erweiterten Suchfunktion des VASGARD/IAN. Hier wird der Filterausdruck ausgeführt und die Ergebnisse angezeigt. Ein Asset in einer Datenbank ist ein verwalteter Datensatz, der eine Ressource oder einen Wert beschreibt z.B. IT-Geräte, Softwarelizenzen oder digitale Dateien. Eine Asset-Klasse ist eine übergeordnete Gruppe von Assets, die ähnliche Merkmale, Verwendungszwecke oder Bewertungsmethoden besitzen. Damit können Assets struktiert, verglichen und verwaltet werden.