# autonumber - fonction de script

Cette fonction de script renvoie une valeur entière unique pour chaque valeur évaluée distincte de l'expression rencontrée au cours 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 autonumber 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.

autonumber(expression[ , AutoID])

| Argument | Description |
| --- | --- |
| AutoID | Pour créer plusieurs instances de décompte lorsque la fonction autonumber est appliquée à différentes clés dans le script, vous pouvez utiliser le paramètre facultatif AutoID afin de nommer chaque décompte. |

Création d'une clé composée

Dans cet exemple, nous créons une clé composée en utilisant la fonction autonumber 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 *,
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
];
```

La table résultante a l'aspect suivant :

Table des 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 autonumber, ce qui lie les tables.

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

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 :

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

* [autonumberhash128 - fonction de script](https://help.qlik.com/fr-FR/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/CounterFunctions/autonumberhash128.htm)
* [autonumberhash256 - fonction de script](https://help.qlik.com/fr-FR/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/CounterFunctions/autonumberhash256.htm)