# autonumberhash128 - função de script

Essa função de script calcula um hash de 128 bits dos valores combinados de entrada de expressão e retorna um valor inteiro exclusivo para cada valor de hash distinto encontrado durante a execução do script. Esta função pode ser usada para criar uma representação de memória compacta de uma chave composta.

Nota informativaVocê só pode conectar chaves autonumberhash128 que foram geradas no mesmo carregamento de dados, enquanto que um inteiro é gerado de acordo com a ordem na qual 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:

autonumberhash128(expression {, expression})

Exemplo: Criando uma chave composta

Neste exemplo, criamos uma chave composta usando a função autonumberhash128 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.

Exemplo de chave composta 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 |

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 *, AutoNumberHash128(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:

Exemplo de chave composta 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 |

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 autonumberhash128, ligando as tabelas.

```
RegionCosts: LOAD Costs, AutoNumberHash128(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 incluir um gráfico de tabela a uma pasta e incluir os campos Region, Year e Month, bem como as medidas de soma para as vendas e os custos. A tabela terá a seguinte aparência:

Exemplo de chave composta 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 |

## Saiba mais

* [autonumberhash256 - função de script](https://help.qlik.com/pt-BR/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/Scripting/CounterFunctions/autonumberhash256.htm)
* [autonumber - função de script](https://help.qlik.com/pt-BR/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/Scripting/CounterFunctions/autonumber.htm)