AutoNumber

Ta instrukcja zwraca niepowtarzalną wartość całkowitą dla każdej odrębnie przetwarzanej wartości w polu napotkanym podczas wykonywania skryptu.

Gdy funkcja autonumber — funkcja skryptu jest używana w instrukcji LOAD, ale w tym przypadku obowiązują pewne ograniczenia dotyczące używania ładowania zoptymalizowanego. Ładowanie zoptymalizowane można utworzyć, najpierw ładując dane z pliku QVD, a następnie używając instrukcji AutoNumber celem przekształcenia wartości na klucze symboli.

Syntax:  

AutoNumber *fieldlist [Using namespace] ]

Arguments:  

Argument Opis
*fieldlist

Rozdzielana przecinkami lista pól, w której wartości powinny zostać zastąpione kluczem symbolu.

Aby uwzględnić wszystkie pola o zgodnych nazwach, można użyć symbolu wieloznacznego ? lub * w nazwach pól. W celu uwzględnienia wszystkich pól można użyć znaku *. Jeśli używane są symbole wieloznaczne, wówczas nazwy pól należy umieszczać w cudzysłowach.

namespace

Używanie argumentu namespace jest opcjonalne. Tej opcji można używać, gdy wymagane jest utworzenie przestrzeni nazw, w której identyczne wartości w różnych polach będą miały ten sam klucz.

Jeśli ta opcja nie zostanie użyta, wówczas wszystkie pola będą miały osobny indeks kluczy.

Limitations:  

Gdy w jednym skrypcie istnieje kilka instrukcji LOAD, wówczas instrukcję AutoNumber należy umieścić po końcowej instrukcji LOAD.

Example:

W tym przykładzie zastępujemy wartości pól kluczami tabeli symboli, korzystając z instrukcji AutoNumber celem ograniczenia wykorzystania pamięci. Na potrzeby prezentacji przykład jest krótki, ale funkcja ta sprawdza się szczególnie w przypadku tabel zawierających wiele wierszy.

Region Year Month Sales
North 2014 May 245
North 2014 May 347
North 2014 June 127
South 2014 June 645
South 2013 May 367
South 2013 May 221

Dane źródłowe są ładowane przy użyciu danych wbudowanych. Następnie dodajemy instrukcję AutoNumber z polami Region, Year oraz Month.

RegionSales: LOAD * INLINE [ Region, Year, Month, Sales North, 2014, May, 245 North, 2014, May, 347 North, 2014, June, 127 South, 2014, June, 645 South, 2013, May, 367 South, 2013, May, 221 ]; AutoNumber Region, Year, Month;

Wynikowa tabela będzie przypominać poniższą:

Region Year Month Sales
1 2 1 245
1 2 1 347
1 2 2 127
2 2 2 645
2 1 1 367
2 1 1 221