Peek - skriptfunktion
Peek() hittar värdet av ett fält i en tabell för en rad som redan har laddats eller som finns i internminnet. Radnumret kan anges, liksom tabellen.
Syntax:
Peek(
field_name
[, row_no[, table_name ] ])
Return data type: dual
Arguments:
Argument | Beskrivning |
---|---|
field_name | Namnet på det fält för vilket returvärdet krävs.Inmatat värde måste anges som en sträng (t ex en litteral inom citationstecken). |
row_no |
Den rad i tabellen som anger det fält som krävs. Kan vara ett uttryck, men måste lösas till ett heltal. Om ingen |
table_name | En tabelletikett utan avslutande kolon. Om inget |
Limitations:
För den första posten i en intern tabell kommer funktionen att returnera
Example:
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;
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:
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:
Employee code | EmpCode |
---|---|
101 |
- |
102 | - |
103 | 101 |
104 | 102 |
105 | 103 |
106 | 104 |
Example:
FirstEmployee:
Load EmployeeCode, Peek('EmployeeCode',-2,'EmployeeDates') As EmpCode
Resident EmployeeDates;
By specifying the argument table_no as 'EmployeeDates', the function returns the second-to-last value of
Example:
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;
Create a table in a sheet in your app with ID, List, and Value as the dimensions.
ID | Lista | Värde |
---|---|---|
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
Peek('ID') hänvisar till fältet
Peek('List') hänvisar till fältet
Satsen utvärderas enligt följande:
Om det aktuella värdet för
Om
Example:
Skapar en ackumulering av B i