--- title: "Fehlersuche" slug: "fehlersuche" updated: 2025-03-19T09:52:26Z published: 2025-03-19T09:52:26Z canonical: "docs.vasgard.com/fehlersuche" --- > ## 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. # Fehlersuche ## Diagramm Fehler (Charting Error) ### Allgemein Dieser Fehler sagt aus, dass die Syntax nicht passt. Häufige Ursachen sind: - **Fehlende Hochkommas** Bei Überschriften oder Filterwerten wurden Hochkomma vergessen. - **Eckige oder runde Klammern sind nicht richtig gesetzt oder wurden vergessen.** Bei umfangreichen Filterausdrücken werden sehr leicht runde oder eckige Klammern vergessen. Es ist möglich, Zeilenumbrüche in das Query einzufügen, dieses erleichtert die Zuordnung von Klammerausdrücken. - **Asset-Klasse oder Attribute wurden falsch geschrieben.** Die Asset-Klasse und die Attribute müssen den internen Namen haben. Dabei auf Groß- und Kleinschreibung achten. - **Runde oder eckige Klammern wurden vertauscht.** Runde Klammern werden bei Funktionen und zur Sortierung in Filtern verwendet. Eckige Klammern beinhalten Filterausdrücke. Im Fehlertext wird das Problem erklärt. Der Ort, an dem der Fehler zu finden ist, befindet sich in den meisten Fällen am Ende der Meldung. Die Stelle ist durch ein Ausrufezeichen markiert. ### Beispiele #### Beispiel 1 Ausdruck: ```plaintext X-VALUES [1,2,3,4,5] VALUES x ``` Fehlermeldung: ![](https://cdn.document360.io/d068286e-12b7-4de8-b129-2985cf0b4f54/Images/Documentation/fehler-allgemein-bsp1.png) Die erste Zeile mit dem **TYPE** Ausdruck fehlt. Lösung: ```plaintext TYPE 'table' X-VALUES [1,2,3,4,5] VALUES x ``` #### Beispiel 2 Ausdruck: ```plaintext TYPE 'table' X-VALUES [1,2,,4,5] VALUES x ``` Fehlermeldung: ![](https://cdn.document360.io/d068286e-12b7-4de8-b129-2985cf0b4f54/Images/Documentation/fehler-allgemein-bsp2.png) In der letzten Zeile der Fehlermeldung befindet sich ein Ausrufezeichen, welches auf den Ort des Fehlers hinweist. In diesem Fall fehlt ein Ausdruck zwischen den zwei Kommas. Lösung: ```plaintext TYPE 'table' X-VALUES [1,2,3,4,5] VALUES x ``` #### Beispiel 3 Ausdruck: ```plaintext TYPE 'table' X-VALUES assets[asset_type='Server'] VALUES name ``` Fehlermeldung: ![](https://cdn.document360.io/d068286e-12b7-4de8-b129-2985cf0b4f54/Images/Documentation/fehler-allgemein-bsp3.png) Hier wird die auszugebende Variable nicht gefunden. Die Attributnamen müssen mit **x.** beginnen. Lösung: ```plaintext TYPE 'table' X-VALUES assets[asset_type='Server'] VALUES x.name ``` #### Beispiel 4 Ausdruck: ```plaintext TYPE 'table' X-VALUES assets[asset_type=Server] VALUES x.name ``` Fehlermeldung: ![](https://cdn.document360.io/d068286e-12b7-4de8-b129-2985cf0b4f54/Images/Documentation/fehler-allgemein-bsp4.png) Hier wird die die Variable Server nicht gefunden. Ausdrücke müssen in Hochkommas eingeschlossen werden. Lösung: ```plaintext TYPE 'table' X-VALUES assets[asset_type='Server'] VALUES x.name ``` #### Beispiel 5 Ausdruck: ```plaintext TYPE 'table' X-VALUES assets[asset_type=Server'] VALUES x.name ``` Fehlermeldung: ![](https://cdn.document360.io/d068286e-12b7-4de8-b129-2985cf0b4f54/Images/Documentation/fehler-allgemein-bsp5.png) Hier ist am Ende des Fehlerausdrucks wieder ein Ausrufezeichen bei Server zu erkennen. Hier gibt es nur ein Anführungszeichen danach und es fehlt das Anführungszeichen davor. Lösung: ```plaintext TYPE 'table' X-VALUES assets[asset_type='Server'] VALUES x.name ``` #### Beispiel 6 Ausdruck: ```plaintext TYPE 'table' X-VALUES assets[asset_type='Server' status='produktiv'] VALUES x.name ``` Fehlermeldung: ![](https://cdn.document360.io/d068286e-12b7-4de8-b129-2985cf0b4f54/Images/Documentation/fehler-allgemein-bsp6.png) Hier steht das Ausrufezeichen zwischen den beiden Ausdrücken im X-VALUES Ausdruck. Es zeigt an, dass ein Operator **AND** oder **OR** fehlt. Lösung: ```plaintext TYPE 'table' X-VALUES assets[asset_type='Server' AND status='produktiv'] VALUES name ``` #### Beispiel 7 Ausdruck: ```plaintext TYPE 'table' X-VALUES assets[asset_type='Server'] ORDER BY x.display_name VALUES name ``` Fehlermeldung: ![](https://cdn.document360.io/d068286e-12b7-4de8-b129-2985cf0b4f54/Images/Documentation/fehler-allgemein-bsp7.png) Hier steht das Ausrufezeichen vor dem Befehl **ORDER**. Es zeigt an, dass etwas mit dem Befehl nicht stimmt. In diesem Fall muss **ORDERBY** zusammen geschrieben werden. Lösung: ```plaintext TYPE 'table' X-VALUES assets[asset_type='Server'] ORDERBY x.display_name VALUES name ``` ## Die Ausgabe sieht nicht so aus wie gewünscht ### Leere Tabelle / leere Spalte Ist die Spalte komplett leer, obwohl sie Werte enthalten sollte, so ist oft die interne Feldbezeichnung falsch geschrieben. Groß- und Kleinschreibung müssen beachtet werden. Es ist auch möglich, dass der Filterausdruck bei **X-VALUES** nicht die gewünschten Werte herausfiltert. In diesem Fall ist es sinnvoll, einfach mal nur **VALUES x** auszugeben, um zu schauen, ob überhaupt Werte vorhanden sind. Hilft das auch nicht weiter, sollte **'%r' % x** ausgeben werden. Letzteres gibt **NoData** aus, wenn **x** leer ist. ### Es befinden sich eckige Klammern um das Ergebnis Das ist bei verlinkten Attributen der Fall. Wenn es sich um ein Linkfeld mit nur einer Verlinkung handelt, dann werden um das Ergebnis keine Klammern ausgegeben. Handelt es sich um Tabellen von Links, so werden um die Ausgaben standardmäßig eckige Klammern gesetzt. Diese Ausgabe kann mit [**format_array**](/v1/docs/funktionen-und-filterargumente) geändert werden. Dazu wird angegeben, welches Trennzeichen zwischen den Ergebnissen benutzt werden soll und in welche Ausdrücke die Ergebnisse eingeschlossen werden sollen. Query ohne Formatierung: ```plaintext TYPE 'table' X-VALUES assets[asset_type='Place' AND (name contains 'Haupt')] VALUES x.name AS 'Ort' VALUES x.contains.name AS 'enthält' ``` Ausgabe ohne Formatierung: ![](https://cdn.document360.io/d068286e-12b7-4de8-b129-2985cf0b4f54/Images/Documentation/ausgabe-ohneformatierung-1.png) Query mit Formatierung: ```plaintext TYPE 'table' X-VALUES assets[asset_type='Place' AND (name contains 'Haupt')] VALUES x.name AS 'Ort' VALUES format_array(x.contains.name, ' / ', '') AS 'enthält' ``` Ausgabe mit Formatierung: ![](https://cdn.document360.io/d068286e-12b7-4de8-b129-2985cf0b4f54/Images/Documentation/ausgabe-mitformatierung-1.png) ### UUID (interner Identifier eines Assets) anstatt Wert wird angezeigt Diese Anzeige der UUID-Nummer tritt bei verlinkten Feldern auf. Es ist möglich, mit den Funktionen **lookup_displayname** oder **first** den Anzeigenamen anzuzeigen. ```plaintext VALUES x.owner ``` Dieses führt zur Anzeige von der UUID. ```plaintext VALUES lookup_displayname(x.owner) VALUES first(assets[uuid=x.owner]).display_name ``` Dieses führt zur gewünschten Ausgabe. ![](https://cdn.document360.io/d068286e-12b7-4de8-b129-2985cf0b4f54/Images/Documentation/ausgabe-uuid.png) ### [object Object] wird angezeigt Diese Anzeige tritt bei verlinkten Feldern auf. Das gewünschte Attribut wird einfach, getrennt durch einen Punkt, an das verlinkte Feld, z.B. **display_name,** angefügt werden. ```plaintext VALUES x.resp_app_employee ``` Dieses führt zur Anzeige von [object Object]. ```plaintext VALUES x.resp_app_employee.display_name ``` Dieses führt zur gewünschten Ausgabe. ![](https://cdn.document360.io/d068286e-12b7-4de8-b129-2985cf0b4f54/Images/Documentation/ausgabe-mitformatierung-1.png) ### Eine auszugebene Liste ist leer und es kommt zu seltsamen Textausgaben Hat eine Liste keinen Inhalt, so kommt es in Reports anstatt einer leeren Tabelle zu seltsamen Ausgaben. Um in einem solchen Fall eine leere Tabelle zu erhalten, wird die Funktion [**if_exists**](/v1/docs/funktionen-und-filterargumente) benutzt. Ist ein Inhalt vorhanden, so bleibt dieser erhalten. Ansonsten wird er durch einen leeren Inhalt ersetzt, der eine leere Tabelle in der Ausgabe zur Folge hat. Es ist sinnvoll, die Ausgabe einer leeren Tabelle in einem Report in einer Beschreibung zu erklären oder die Tabelle in diesem Fall mit dem Baustein ***if(Bedingung)*** komplett wegzulassen. ```plaintext VALUES if_exists(x.tabelle, x.tabelle, ' ') ```