# autonumber - função de script

Essa função de script retorna um valor inteiro exclusivo para cada valor distinto avaliado de expression encontrado durante a execução do script. Esta função pode ser usada, por exemplo, para criar uma representação de memória compacta de uma chave composta.

Nota informativaVocê só pode conectar chaves autonumber que foram geradas na mesma carga de dados, enquanto que um inteiro é gerado de acordo com a ordem em que a tabela é lida. Se você precisa usar chaves que são persistentes entre carga de dados, independente de triagem de fontes de dados, você deve usar as funções hash128, hash160 ou hash256.

Sintaxe:

autonumber(expression[ , AutoID])

Argumentos:

| Argumento | Descrição |
| --- | --- |
| AutoID | Para criar várias instâncias de contador, se a função autonumber for usada em chaves diferentes no script, o parâmetro opcional AutoID poderá ser usado para nomear cada contador. |

Exemplo: Criando uma chave composta

Neste exemplo, criamos uma chave composta usando a função autonumber para preservar a memória. O exemplo é breve para fins de demonstração, mas seria significativo com uma tabela contendo um grande número de linhas.

Dados de exemplo

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

Os dados de origem são carregados usando dados inline. Em seguida, adicione uma carga anterior, que cria uma chave composta a partir dos campos Region, Year e 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
];
```

A tabela resultante tem a seguinte aparência:

Tabela de resultados

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

Neste exemplo, você pode consultar a RYMkey, para o exemplo 1, em vez de a string 'North2014May', se você precisa conectar-se a uma outra tabela.

Agora, carregaremos uma tabela de origem de custos de uma forma similar. Os campos Region, Year e Month são excluídos da carga anterior para evitar a criação de uma chave sintética, já estamos criando uma chave composta com a função autonumber, ligando as tabelas.

```
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
];
```

Agora, podemos adicionar uma visualização de tabela a uma pasta e adicionar os campos Region, Year e Month, bem como as medidas de Soma para vendas e custos. A tabela terá a seguinte aparência:

Tabela de resultados

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

## Saiba mais

* [autonumberhash128 - função de script](https://help.qlik.com/pt-BR/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/CounterFunctions/autonumberhash128.htm)
* [autonumberhash256 - função de script](https://help.qlik.com/pt-BR/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/CounterFunctions/autonumberhash256.htm)