AutoNumber
Ta instrukcja tworzy unikatową wartość typu liczba całkowita dla każdej odrębnej wartości ocenianej w polu napotkanym podczas wykonywania skryptu.
Możesz również użyć funkcji autonumber — funkcja skryptu wewnątrz instrukcji LOAD, ale ma to pewne ograniczenia, gdy zechcesz użyć ładowania zoptymalizowanego. Ładowanie zoptymalizowane można utworzyć, najpierw ładując dane z pliku QVD, a następnie używając instrukcji AutoNumber w celu przekształcenia wartości na klucze symboli.
Składnia:
AutoNumber fieldlist [Using namespace] ]
Argumenty:
Argument | Opis |
---|---|
fieldlist |
Rozdzielana przecinkami lista pól, w których wartości powinny być zastąpione kluczem symboli W nazwach pól możesz używać symboli wieloznacznych ? i *, aby uwzględnić wszystkie pola o pasujących nazwach. Można również użyć *aby uwzględnić wszystkie pola. Używając symboli wieloznacznych, należy umieszczać nazwy pól w cudzysłowie. |
namespace |
Używanie namespace jest opcjonalne. Możesz użyć tej opcji, aby utworzyć przestrzeń nazw, w której identyczne wartości w różnych polach mają ten sam klucz. Jeśli nie użyjesz tej opcji, wszystkie pola będą miały osobny indeks klucza. |
Ograniczenia:
Jeśli w skrypcie znajduje się kilka instrukcji LOAD, należy umieścić instrukcję AutoNumber po ostatniej instrukcji LOAD.
Przykład:
W tym przykładzie zastąpimy wartości pól kluczami tabeli symboli przy użyciu instrukcji AutoNumber w celu oszczędzania 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 dodamy instrukcję AutoNumber z polami Region, Year i Month.
Wynikowa tabela wygląda następująco:
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 |