Prüfen ob Feld existiert

Es kann bei der Arbeit mit QlikView immer wieder vorkommen, dass man prüfen muss, ob ein bestimmtes Feld in einer Tabelle existiert oder nicht. Ein klassisches Beispiel hierfür ist zum Beispiel, dass man in einem Load Script alle Felder einer Tabelle oder eine QVD Datei laden möchte. In diesem Fall müssen nachfolgende Scripte, die nach dem Load Script ausgeführt werden, oft wissen, ob in einer Tabelle ein entsprechendes Feld existiert oder nicht. 

 

Wie kann ich mit QlikView prüfen ob ein Feld existiert? 

Mit dem folgenden Code lässt sich einfach prüfen, ob ein Feld in einer bestimmten Tabelle vorhanden ist, oder nicht: 

LET X = FieldNumber('Country','Customers'); 

// Hier überprüfen wir, ob das Feld Country in einer Tabelle Customers existiert oder nicht.

if $(X) = 0 then 

TRACE field 'country' does not exist; 

// When das Feld FieldNumber bzw. dessen Wert X 0 zurück gibt, dann existiert das Feld nicht. Wird ein anderer Wert != 0 zurückgegeben, so wissen wir, dass das besagte Feld existiert. 

else 

TRACE field 'country' exists;

end if 

 

Dieser Code funktioniert für alle Tabellen. Die beiden Werte für das gesuchte Feld und die entsprechende Tabelle, in der es gesucht werden soll, lassen sich nach belieben ändern und funktionieren mit jeder Tabelle, sofern diese vorhanden ist. Mit diesem Code ist es jedoch nicht möglich, zu prüfen ob eine Tabelle selbst existiert. Um mit dem Code zu experimentieren kann man problemlos ein paar Beispielabfragen machen, bei denen sowohl vorhandene als auch fiktive Felder abgefragt werden. Der Code ist im Grunde genommen relativ einfach und unkompliziert.