# autonumberhash128 Fonction de script

Cette fonction de script calcule un hachage de 128 bits des valeurs de l'expression d'entrée combinées et renvoie une valeur entière unique pour chaque valeur de hachage distincte rencontrée lors de l'exécution du script. Cette fonction s'utilise, par exemple, pour créer une représentation mémoire compacte de clé complexe.

Note InformationsVous pouvez uniquement connecter des clés autonumberhash128 qui ont été générées dans le même chargement de données, car l'entier est généré en fonction de l'ordre de lecture de la table. Si vous devez utiliser des clés persistantes entre les chargements de données, indépendantes du tri des données source, optez pour les fonctions hash128, hash160 ou hash256.

Syntaxe :

autonumberhash128(expression {, expression})

Exemple : Création d'une clé composée

Dans cet exemple, nous créons une clé composée en utilisant la fonction autonumberhash128 pour préserver la mémoire. L'exemple est court pour les besoins de la démonstration, mais il serait pertinent avec une table contenant un grand nombre de lignes.

Données d'exemple

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

Les données source sont chargées à l'aide de données intégrées. Ensuite, nous ajoutons une instruction preceding load qui crée une clé composée à partir des champs Region, Year et 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
];
```

La table résultante a l'aspect suivant :

Tableau de résultats

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

Dans cet exemple, vous pouvez renvoyer à la clé RYMkey, pour l'exemple 1, au lieu de la chaîne 'North2014May', si vous devez créer un lien vers une autre table.

Passons maintenant au chargement d'une table source de coûts de manière similaire. Les champs Region, Year et Month sont exclus de l'instruction preceding load afin d'éviter de créer une clé synthétique. Nous créons déjà une clé composée avec la fonction autonumberhash128, ce qui lie les tables.

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

Nous pouvons à présent ajouter une visualisation de table à une feuille, puis ajouter les champs Region, Year et Month, ainsi que les mesures Sum pour les ventes et les coûts. La table aura l'aspect suivant :

Tableau de résultats

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

## En savoir plus

* [autonumberhash256 Fonction de script](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/CounterFunctions/autonumberhash256.htm)
* [autonumber Fonction de script](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/CounterFunctions/autonumber.htm)