# autonumber — функция скрипта

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

Примечание к информацииМожно подключить только ключи autonumber, созданные в той же загрузке данных, поскольку целое число создается согласно порядку чтения таблицы. При использовании ключей, хранящихся между загрузками данных, независимо от сортировки исходных данных, необходимо использовать функции hash128, hash160 или hash256.

Синтаксис:

autonumber(expression[ , AutoID])

Аргументы:

аргументы Autonumber

| Аргумент | Описание |
| --- | --- |
| AutoID | Чтобы создать несколько экземпляров счетчиков при использовании функции autonumber на различных ключах в скрипте, для названия каждого счетчика может использоваться дополнительный параметр AutoID. |

Пример: Создание составного ключа

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

Пример 1 составного ключа

| 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 |

Исходные данные загружаются с помощью встроенных данных. Затем мы добавляем предшествующую загрузку, которая создает составной ключ из полей Region, Year и Month.

```
RegionSales: LOAD *, AutoNumber(Region&Year&Month) as RYMkey;  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 ];
```

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

Пример 2 составного ключа

| Region | Year | Month | Sales | RYMkey |
| --- | --- | --- | --- | --- |
| North | 2014 | May | 245 | 1 |
| North | 2014 | May | 347 | 1 |
| North | 2014 | June | 127 | 2 |
| South | 2014 | June | 645 | 3 |
| South | 2013 | May | 367 | 4 |
| South | 2013 | May | 221 | 4 |

В этом примере вы можете обратиться к RYMkey, например 1 вместо строки 'North2014May', если необходимо установить связь с другой таблицей.

Теперь мы загружаем исходную таблицу с ценами похожим образом. Поля Region, Year и Month исключены предыдущей загрузкой во избежание создания синтетического ключа, мы уже создаем составной ключ с функцией autonumber, связывая таблицы.

```
RegionCosts: LOAD Costs, AutoNumber(Region&Year&Month) as RYMkey;  LOAD * INLINE [ Region, Year, Month, Costs South,	2013,	May,	167 North,	2014,	May,	56 North,	2014,	June,	199 South,	2014,	June,	64 South,	2013,	May, 172 South,	2013,	May,	126 ];
```

Теперь мы можем добавить диаграмму таблицы на лист и добавить поля Region, Year и Month, а также меры Sum для продаж и стоимости. Таблица будет выглядеть так:

Пример 3 составного ключа

| Region | Year | Month | Sum([Sales]) | Sum([Costs]) |
| --- | --- | --- | --- | --- |
| Totals | - | - | 1952 | 784 |
| North | 2014 | June | 127 | 199 |
| North | 2014 | May | 592 | 56 |
| South | 2014 | June | 645 | 64 |
| South | 2013 | May | 588 | 465 |

## Подробнее

* [autonumberhash128 — функция скрипта](https://help.qlik.com/ru-RU/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/CounterFunctions/autonumberhash128.htm)
* [autonumberhash256 — функция скрипта](https://help.qlik.com/ru-RU/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/CounterFunctions/autonumberhash256.htm)