Resident

Sobald eine Tabelle mit verschiedenen Datensätzen im Skript eingebunden und geladen wurde, kann sie in der Tabellenstruktur angesehen werden. Ihr seht dann die von euch geladene Tabelle mit all ihren Feldern. Ein Rechtsklick auf die Tabelle gibt euch über den Button "Vorschau" sogar einen Einblick in die Datensätze der entsprechenden Tabelle.

 

Oft sind gar nicht alle Rohdaten für den Endanwender von Interesse und / oder die Masse an Datensätzen wird für die finale App aufgrund von Performancegründen gar nicht benötigt. Es macht natürlich mehr Sinn nur die eine Kennziffer zu zeigen als diese immer wieder in der Applikation ausrechnen zu lassen. Lange Rede kurzer Sinn: Für gute und Performance QliKView Auswertungen ist es häufig notwendig die vorgehaltene Datenmenge zu reduzieren und bestimmte Kennzahlen schon im Skript ausrechnen zu lassen. 

 RESDIENT:

 

Mit dem Befehl RESIDENT könnt ihr zuvor geladene Tabellen aus eurem Datenmodell nochmals laden. Dazu greift QlikVIew dann nicht auf die ursprüngliche Datenquelle zu, sondern lädt die Daten aus dem Speicher nur nochmal neu.

 

Wieso braucht man das?

Ein einfaches Beispiel ist eine Liste aller Verkaufsdaten einer Filiale. Jeder einzelne Kassenvorgang ist in einem Datensatz gespeichert. Pro Tag können so natürlich gewaltige Datenmengen entstehen. Soll euer Bericht am Ende nur einen Überblick der täglich generierten Umsätze liefern, dann braucht ihr nicht alle Datensätze, sondern nur die Summe der Umsätze pro Tag. Auf diesem Weg könnt ihr aus mehreren tausend Datensätzen nur einen einzigen Datensatz pro Tag erzeugen und so die benötigte Rechenleistung für eure Auswertung deutlich reduzieren.

 

Nachdem ihr also eine Tabelle im Datenmodell habt, ladet ihr sie Resident und könnt dann in einer neuen Tabelle die Daten der Ursprungstabelle filtern, verändern und berechnen. Diese könnt ihr dann, wie eine neue Tabelle in eure Datenmodell einbinden und hinzufügen.

Hier findet ihr ein Beispiel aus unserem Forum.

 

Die Ursprungstabelle im Datenmodell hat den Namen "Umsatz" mit den Feldern "Sachkonto" und "Betrag". Aus dieser Tabelle brauchen wir für eine Berechnung jedoch nur die Sachkonten A, B, und D. Das Sachkonto C ist für die Betrachtung nicht interessant. Wir laden also Resident mit folgendem Befehl im Skript.

 

Umsatz2:
Load
Sachkonto,
Betrag as Bruttoumsatz
Resident Umsatz
Where
Sachkonto = 'A or
Sachkonto = 'B' or
Sachkonto = 'D';

 

Auch Berechnungen können auf diesem Weg natürlich direkt im Skript angestellt werden. Genaueres und mehr Beispiele findet ihr im Artikel "Rechnen im Skript". Im folgenden Beispiel, werden aus der Ursprungstabelle "Umsatz" die Anzahl der Vorgänge pro Sachkonto gezählt und als Ergebnis in einem eigenen Feld gespeichert. 

 

Umsatz3:

Load
Sachkonto,
count(Betrag) as Anzahl_Vorgänge
Resident Umsatz
group by Sachkonto;