Le funzioni di tabella restituiscono informazioni relative alla tabella dati in fase di caricamento. Se non viene specificato alcun nome di tabella e la funzione viene utilizzata all'interno di un'istruzione LOAD, viene utilizzata la tabella attuale.
Nello script di caricamento è possibile utilizzare tutte le funzioni, mentre in un'espressione grafica è possibile utilizzare solo NoOfRows.
Utilizzare l'elenco a discesa su ciascuna funzione per visualizzare una breve descrizione e la sintassi di ciascuna funzione. Per alcune funzioni, è possibile ottenere ulteriori informazioni su tale funzione specifica facendo clic sul nome della funzione nella descrizione della sintassi.
La funzione di script FieldName restituisce il nome del campo con il numero specificato all'interno di una tabella caricata in precedenza. Se la funzione viene utilizzata all'interno di un'istruzione LOAD, non deve fare riferimento alla tabella in corso di caricamento.
La funzione di script FieldNumber restituisce il numero di un campo specifico all'interno di una tabella caricata in precedenza. Se la funzione viene utilizzata all'interno di un'istruzione LOAD, non deve fare riferimento alla tabella in corso di caricamento.
La funzione di script NoOfFields restituisce il numero di campi all'interno di una tabella caricata in precedenza. Se la funzione viene utilizzata all'interno di un'istruzione LOAD, non deve fare riferimento alla tabella in corso di caricamento.
La funzione NoOfRows restituisce il numero di righe (record) all'interno di una tabella caricata in precedenza. Se la funzione viene utilizzata all'interno di un'istruzione LOAD, non deve fare riferimento alla tabella in corso di caricamento.
Questa funzione di script restituisce il numero di tabelle caricate in precedenza.
NoOfTables()
Questa funzione di script restituisce il nome della tabella con il numero specificato.
TableName(table_number)
Questa funzione di script restituisce il numero della tabella specificata. La tabella ripetizione ha il numero 0.
Se table_name non esiste, non viene restituito alcun valore. Se una funzione è impostata per restituire un valore di funzione, questa variabile non è inizializzata. Come soluzione alternativa è possibile specificare LET vImaginaryTabNum = If(TableNumber('NotExistingTable')>=0,TableNumber('NotExistingTable'),'NULL') ;
TableNumber(table_name)
Esempio:
In questo esempio si desidera creare una tabella con informazioni sulle tabelle e sui campi caricati.
Innanzitutto si caricheranno alcuni dati semplici. Questa operazione crea le due tabelle che verranno utilizzate per illustrare le funzioni di tabella descritte in questa sezione.
Characters: Load Chr(RecNo()+Ord('A')-1) as Alpha, RecNo() as Num autogenerate 26; ASCII: Load if(RecNo()>=65 and RecNo()<=90,RecNo()-64) as Num, Chr(RecNo()) as AsciiAlpha, RecNo() as AsciiNum autogenerate 255 Where (RecNo()>=32 and RecNo()<=126) or RecNo()>=160 ;
In seguito, si ripete l'operazione sulle tabelle caricate utilizzando la funzione NoOfTables, quindi sui campi di ogni tabella utilizzando la funzione NoOfFields e si caricheranno le informazioni utilizzando le funzioni di tabella.
//Iterate through the loaded tables For t = 0 to NoOfTables() - 1 //Iterate through the fields of table For f = 1 to NoOfFields(TableName($(t))) Tables: Load TableName($(t)) as Table, TableNumber(TableName($(t))) as TableNo, NoOfRows(TableName($(t))) as TableRows, FieldName($(f),TableName($(t))) as Field, FieldNumber(FieldName($(f),TableName($(t))),TableName($(t))) as FieldNo Autogenerate 1; Next f Next t;
La tabella Tables risultante avrà l'aspetto seguente:
Tables table
Table
TableNo
TableRows
Field
FieldNo
Characters
0
26
Alpha
1
Characters
0
26
Num
2
ASCII
1
191
Num
1
ASCII
1
191
AsciiAlpha
2
ASCII
1
191
AsciiNum
3
Hai trovato utile questa pagina?
Se riscontri problemi con questa pagina o con il suo contenuto – un errore di battitura, un passaggio mancante o un errore tecnico – facci sapere come possiamo migliorare!
Modernizza senza compromettere le tue preziose app QlikView con il programma Analytics Modernization. Fare clic qui per maggiori informazioni o per contattarci: ampquestions@qlik.com