Fügen Sie Ihrer App ein Beispielskript hinzu und führen Sie dieses aus. Fügen Sie einem Arbeitsblatt in Ihrer App dann mindestens diejenigen Felder hinzu, die in der Ergebnisspalte aufgeführt sind, um das Ergebnis anzuzeigen.
EmployeeDates:
Load * Inline [
EmployeeCode|StartDate|EndDate
101|02/11/2010|23/06/2012
102|01/11/2011|30/11/2013
103|02/01/2012|
104|02/01/2012|31/03/2012
105|01/04/2012|31/01/2013
106|02/11/2013|
] (delimiter is '|');
FirstEmployee:
Load EmployeeCode, Peek('EmployeeCode',0) As EmpCode
Resident EmployeeDates;
|
EmpCode = 101, weil Peek('EmployeeCode',0) den ersten Wert von EmployeeCode in der Tabelle EmployeeDates liefert.
Durch den Ersatz des Werts des Arguments row_no werden die Werte von anderen Zeilen in der Tabelle wie nachfolgend beschrieben ausgegeben:
Peek('EmployeeCode',2) liefert den dritten Wert in der Tabelle: 102.
Beachten Sie jedoch, dass ohne Festlegen der Tabelle als drittes Argument table_no die Funktion sich auf die aktuelle (in diesem Fall die interne) Tabelle bezieht. Peek('EmployeeCode',-2) ergibt mehrere Werte:
|
EmployeeCode 101 102 103 104 105 106
|
EmpCode - - 101 102 103 104
|
|
|
FirstEmployee:
Load EmployeeCode, Peek('EmployeeCode',-2,'EmployeeDates') As EmpCode
Resident EmployeeDates;
|
Durch Angabe des Arguments table_no als 'EmployeeDates' liefert die Funktion den vorletzten Wert von EmployeeCode in der Tabelle EmployeeDates: 105. |
Die Funktion Peek() kann zum Verweisen auf noch nicht geladene Daten verwendet werden.
Fügen Sie Ihrer App ein Beispielskript hinzu und führen Sie dieses aus. Fügen Sie einem Arbeitsblatt in Ihrer App dann mindestens diejenigen Felder hinzu, die in der Ergebnisspalte aufgeführt sind, um das Ergebnis anzuzeigen.
T1:
LOAD * inline [
ID|Value
1|3
1|4
1|6
3|7
3|8
2|1
2|11
5|2
5|78
5|13
] (delimiter is '|');
T2:
LOAD
*,
IF(ID=Peek('ID'), Peek('List')&','&Value,Value) AS List
RESIDENT T1
ORDER BY ID ASC;
DROP TABLE T1;
|
Erstellen Sie eine Tabelle in einem Arbeitsblatt in Ihrer App mit ID, List und Wertals Dimensionen. |
ID |
List |
Value |
1 |
6 |
6 |
1 |
6,3 |
3 |
1 |
6,3,4 |
4 |
2 |
11 |
11 |
2 |
11,10 |
10 |
2 |
11,10,1 |
1 |
3 |
8 |
8 |
3 |
8,7 |
7 |
5 |
13 |
13 |
5 |
13,2 |
2 |
5 |
13,2,78 |
78 |
Der Befehl IF() wird über die temporäre Tabelle T1 ausgeführt. Peek('ID') bezieht sich auf das Feld ID in der vorhergehenden Zeile in der aktuellen Tabelle T2. Peek('List') bezieht sich auf das Feld List in der vorhergehenden Zeile in der Tabelle T2, die derzeit erstellt wird, während die Formel überprüft wird.
Der Befehl liefert folgendes Ergebnis: Wenn der aktuelle Wert von ID mit dem vorhergehenden Wert von ID übereinstimmt, wird der Wert von Peek('List') mit dem aktuellen Wert von Value zusammengefasst. Ansonsten wird nur der aktuelle Wert von Value geschrieben.
Enthält Peek('List') bereits ein zusammengefasstes Ergebnis, wird das neue Ergebnis von Peek('List') damit zusammengefasst.
Hinweis: Beachten Sie die Bedingung Order by. Diese gibt an, wie die Tabelle sortiert wird (nach ID in aufsteigender Reihenfolge). Ohne diese Bedingung nutzt die Funktion Peek() die beliebige Sortierung der internen Tabelle, was zu unvorhersehbaren Ergebnissen führen kann.
|
|