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.
Składnia:
AutoNumber *fieldlist [Using namespace] ]
Argumenty:
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. |
Ograniczenia:
Gdy w jednym skrypcie istnieje kilka instrukcji LOAD, wówczas instrukcję AutoNumber należy umieścić po końcowej instrukcji LOAD.
Przykład:
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.
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 |