Перейти к основному содержимому

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