Lägg till exempelskriptet i appen och kör det. Lägg sedan till åtminstone de fält som listas i resultatkolumnen till ett ark i din app för att se resultatet.
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, eftersom Peek('EmployeeCode',0) returnerar det första värdet för EmployeeCode i tabellen EmployeeDates.
Att ersätta värdet på argumentet row_no returnerar värdena för andra rader i tabellen, enligt följande:
Peek('EmployeeCode',2) returnerar det tredje värdet i tabellen: 103.
Observera dock att utan att ange tabellen som det tredje argumentet table_no, refererar funktionen till den aktuella tabellen (i detta fall, internt). Resultatet för Peek('EmployeeCode',-2) är flera värden:
|
EmployeeCode 101 102 103 104 105 106
|
EmpCode - - 101 102 103 104
|
|
|
FirstEmployee:
Load EmployeeCode, Peek('EmployeeCode',-2,'EmployeeDates') As EmpCode
Resident EmployeeDates;
|
Genom att ange argumentet table_no som 'EmployeeDates', returnerar funktionen det näst sista värdet för EmployeeCode i tabellen EmployeeDates: 105. |
Funktionen Peek() kan användas för att hänvisa till data som inte har laddats än.
Lägg till exempelskriptet i appen och kör det. Lägg sedan till åtminstone de fält som listas i resultatkolumnen till ett ark i din app för att se resultatet.
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;
|
Skapa en tabell i ett ark i din app med ID, List och Value som dimensioner. |
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 |
Satsen IF() byggs från den tillfälliga tabellen T1. Peek('ID') hänvisar till fältet ID i föregående rad i aktuell tabell T2. Peek('List') hänvisar till fältet List i föregående rad i tabellen T2, som byggs då uttrycket utvärderas.
Satsen utvärderas enligt följande: Om det aktuella värdet för ID är samma som det tidigare värdet för ID, då ska värdet för Peek('List') skrivas sammanlänkat med det aktuella värdet för Value. Annars skriver du det aktuella värdet av Value endast.
Om Peek('List') redan innehåller ett sammanlänkat resultat, kommer det nya resultatet Peek('List') sammanlänkas till det.
Anteckning om informationObservera satsen Order by. Detta anger hur tabellen ordnas (genom ID i stigande ordning). Utan detta använder funktionen Peek() godtycklig ordning som den interna tabellen har, vilket kan leda till oförutsägbara resultat.
|
|