Im QlikView kann es ab und zu nützlich sein eine Liste oder Tabelle mit einer Schleife durch zu gehen.
Mögliche Einsatz von dem ist, eine Tabelle mit Namen der zu Extrahierenden Tabellen durch gehen oder ganz einfaches Beispiel, alle Tabellen in einer App löschen.
Damit das funktioniert, ist diese Snippet sehr hilfreich. Hier wird gezeigt wie eine FOR-Schleife funktioniert.
QlikView hat nicht nur eine For-Schleifen Funktion, es gibt da auch noch die Do-Schleife oder While-Schleife, diese funktioniert sehr ähnlich, aber ohne den Index.
Die For-Schleife besteht aus dem Index (meist ist das der Name der Variable i). Der Index wird bei jedem Durchgang immer um eins hochgezählt.
Das ist bei der Do- und Wihle-Schleife nicht so. Da muss der Index selbst gesteuert werden.
Aber genug der Theorie, hier ein Beispiel einer For-Schleife.
// Anzahl Zeilen in Tabelle ermitteln
SET iAnz = NoOfRows('InTable') - 1;
// jede Row loopen
FOR i = 0 TO $(iAnz)
// Werte aus der Tabelle lesen
LET vTable = peek('TableID', $(i), 'InTable')
LOAD VAR1,
VAR2
RESIDENT $(vTable);
DROP TABLE $(vTable);
NEXT i
Wie die Variablen heissen ist nicht so relefant für den Script.
Spezialitäten
- iAnz => Stellt die Maximale Anzahl der Zeilen Dar. Da im Beispiel die Anzahl der Tabellen mit NoOfRows ermittelt wird, muss die Variable iAnz um 1 reduziert werden. Da wir beim Index mit 0 beginnen. Sonst gibt es eine Fehler.
- Vorsicht mit dem Peek Befehl, der kann ziemlich mühsam sein. Startet dne Scrpt als erstes nur im Debug Modus und prüft ob die Variable beim Peek Befehl auch abgefüllt wird. Wichtig hier ist, die Variable muss mit LET gesetzt werden. Der Rest ist in der QlikView Help gut beschrieben.

