AutoNumber

Этот оператор создает уникальное значение целого для каждого определенного оцененного значения поля, возникающего в процессе выполнения скрипта.

Также можно использовать функцию autonumber — функция скрипта внутри оператора LOAD, однако такой подход сопряжен с ограничениями при использовании оптимизированной загрузки. Для создания оптимизированной загрузки можно сначала загрузить данные из файла QVD, а затем преобразовать значения в ключи символов с помощью оператора AutoNumber.

Syntax:  

AutoNumber *fieldlist [Using namespace] ]

Arguments:  

Аргумент Описание
*fieldlist

Список разделенных запятыми полей, значения которого подлежат замене ключами символов.

В именах полей можно использовать знаки подстановки ? и *, чтобы включить все поля с совпадающими именами. Также для включения всех полей можно использовать символ *. При использовании знаков подстановки следует заключить имена полей в кавычки.

namespace

Параметр namespace является дополнительным. Его можно использовать для создания пространства имен, где одинаковые значения в разных полях будут использовать один и тот же ключ.

Если этот параметр не используется, все поля будут иметь отдельные индексы ключей.

Limitations:  

При наличии нескольких операторов LOAD в скрипте необходимо поместить оператор AutoNumber за последним оператором LOAD.

Example:

В данном примере выполняется замена значений полей ключами таблицы символов с использованием оператора AutoNumber в целях экономии памяти. Этот пример представлен в целях демонстрации, поэтому в данном случае информация краткая, но при использовании таблицы, содержащей большое количество строк, информация будет более содержательной.

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.

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;

Полученная таблица выглядит следующим образом:

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