Funkcje tabeli zwracają informacje na temat aktualnie odczytywanej tabeli danych. Jeśli nie określono nazwy tabeli i funkcja jest używana w instrukcji LOAD, przyjmowana jest bieżąca tabela.
Wszystkie funkcje mogą być użyte w skrypcie ładowania i tylko funkcji NoOfRows można użyć w wyrażeniu wykresu.
Przy każdej funkcji znajduje się pole rozwijane umożliwiające wyświetlenie składni i krótkiego opisu funkcji. W przypadku niektórych funkcji można uzyskać dodatkowe informacje, klikając nazwę funkcji w opisie składni.
Funkcja skryptu FieldName zwraca nazwę pola o określonym numerze w poprzednio załadowanej tabeli. Jeśli funkcja jest używana w instrukcji LOAD, nie może odwoływać się do tabeli, która jest już ładowana.
Funkcja skryptu FieldNumber zwraca numer określonego pola w poprzednio załadowanej tabeli. Jeśli funkcja jest używana w instrukcji LOAD, nie może odwoływać się do tabeli, która jest już ładowana.
Funkcja skryptu NoOfFields zwraca liczbę pól w poprzednio załadowanej tabeli. Jeśli funkcja jest używana w instrukcji LOAD, nie może odwoływać się do tabeli, która jest już ładowana.
Funkcja NoOfRows zwraca liczbę wierszy (rekordów) w poprzednio załadowanej tabeli. Jeśli funkcja jest używana w instrukcji LOAD, nie może odwoływać się do tabeli, która jest już ładowana.
Ta funkcja skryptu zwraca liczbę poprzednio załadowanych tabel.
NoOfTables()
Ta funkcja skryptu zwraca nazwę tabeli o określonym numerze.
TableName(table_number)
Ta funkcja skryptu zwraca numer określonej tabeli. Pierwsza tabela ma numer 0.
Jeśli wartość table_name nie istnieje, nie jest zwracana żadna wartość. Jeśli funkcja jest ustawiona na zwracanie wartości funkcjonalnej, wówczas ta zmienna nie jest inicjowana. W celu obejścia tego problemu można określić LET vImaginaryTabNum = If(TableNumber('NotExistingTable')>=0,TableNumber('NotExistingTable'),'NULL') ;
TableNumber(table_name)
Przykład:
W tym przykładzie chcemy utworzyć tabelę z informacjami na temat załadowanych tabel i pól.
Najpierw ładujemy przykładowe dane. Tworzone są dwie tabele, które posłużą do przedstawienia funkcji tabeli opisanych w tej sekcji.
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 ;
Następnie przeprowadzany iterację przez załadowane tabele przy użyciu funkcji NoOfTables oraz przez pola w poszczególnych tabelach przy użyciu funkcji NoOfFields i ładujemy informacje za pomocą funkcji tabeli.
//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;
Otrzymana tabela Tables będzie wyglądać następująco:
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
Czy ta strona była pomocna?
Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać, co możemy poprawić!
Przeprowadź modernizację bez szkody dla Twoich cennych aplikacji QlikView za pomocą programu Analytics Modernization Program. Kliknij tutaj aby uzyskać więcej informacji lub skontaktuj się z nami: ampquestions@qlik.com