# AutoNumber

Cette instruction crée une valeur entière unique pour chaque valeur évaluée distincte d'un champ rencontrée au cours de l'exécution du script.

Vous pouvez également faire appel à la fonction [autonumber Fonction de script](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/CounterFunctions/autonumber.htm) au sein d'une instruction LOAD, mais cette méthode comporte des limitations en cas d'utilisation d'un chargement optimisé. Vous pouvez créer un chargement optimisé en commençant par charger les données à partir d'un fichier QVD, puis en convertissant les valeurs en clés de symbole à l'aide de l'instruction AutoNumber.

Syntaxe :

AutoNumber \*fieldlist [Using namespace] ]

Arguments :

Arguments

| Argument | Description |
| --- | --- |
| \*fieldlist | Liste de champs séparés par des virgules dont les valeurs doivent être remplacées par une valeur entière unique.<br><br>Vous pouvez utiliser les caractères génériques ? et \* dans les noms des champs afin d'inclure tous les champs dont les noms correspondent. De plus, le caractère \* permet d'inclure tous les champs. Si vous utilisez des caractères génériques, vous devez placer les noms des champs entre guillemets. |
| namespace | Using namespace est en option. Cette option permet de créer un espace de noms, où les valeurs identiques des différents champs partagent la même clé.<br><br>Si vous n'utilisez pas cette option, tous les champs seront dotés d'un index de clé distinct. |

Limitations :

Si votre script comporte plusieurs instructions LOAD, vous devez placer l'instruction AutoNumber après la dernière instruction LOAD.

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Autonumber.htm)

#### Exemple - script avec AutoNumber

## Exemple de script

Dans cet exemple, les données commencent par être chargées sans l'instruction AutoNumber. L'instruction AutoNumber est ensuite ajoutée pour afficher l'effet.

### Données utilisées dans l'exemple

Chargez les données suivantes sous forme de chargement inline dans l'éditeur de chargement de données pour créer l'exemple de script ci-dessous. Pour le moment, laissez l'instruction AutoNumber commentée.

```
RegionSales:
LOAD *, 
Region &'|'& Year &'|'& Month as KeyToOtherTable
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
];
					
Budget:
LOAD Budget,  
Region &'|'& Year &'|'& Month as KeyToOtherTable
INLINE
[Region, Year, Month, Budget
North,  2014,   May,    200
North,  2014,   May,    350
North,  2014,   June,   150
South,  2014,   June,   500
South,  2013,   May,    300
South,  2013,   May,    200
];

//AutoNumber KeyToOtherTable;

```

Pour plus d'informations sur l'utilisation de chargements inline, consultez [Utilisation de chargements inline pour charger des données](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

### Création de visualisations

Créez deux visualisations de table sur une feuille Qlik Sense. Ajoutez KeyToOtherTable, Region, Year, Month et Sales comme dimensions à la première table. Ajoutez KeyToOtherTable, Region, Year, Month et Budget comme dimensions à la deuxième table.

### Résultat

Table RegionSales

| KeyToOtherTable | Region | Year | Month | Sales |
| --- | --- | --- | --- | --- |
| North\|2014\|June | North | 2014 | June | 127 |
| North\|2014\|May | North | 2014 | May | 245 |
| North\|2014\|May | North | 2014 | May | 347 |
| South\|2013\|May | South | 2013 | May | 221 |
| South\|2013\|May | South | 2013 | May | 367 |
| South\|2014\|June | South | 2014 | June | 645 |

Table Budget

| KeyToOtherTable | Region | Year | Month | Budget |
| --- | --- | --- | --- | --- |
| North\|2014\|June | North | 2014 | June | 150 |
| North\|2014\|May | North | 2014 | May | 200 |
| North\|2014\|May | North | 2014 | May | 350 |
| South\|2013\|May | South | 2013 | May | 200 |
| South\|2013\|May | South | 2013 | May | 300 |
| South\|2014\|June | South | 2014 | June | 500 |

### Explication

L'exemple affiche un champ composite KeyToOtherTable qui lie les deux tables. L'instruction AutoNumber n'est pas utilisée. Notez la longueur des valeurs KeyToOtherTable.

### Ajout de l'instruction AutoNumber

Décommentez l'instruction AutoNumber dans le script de chargement :

```
AutoNumber KeyToOtherTable;
```

### Résultat

Table RegionSales

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

Table Budget

| KeyToOtherTable | Region | Year | Month | Budget |
| --- | --- | --- | --- | --- |
| 1 | North | 2014 | June | 150 |
| 1 | North | 2014 | May | 200 |
| 2 | North | 2014 | May | 350 |
| 3 | South | 2013 | May | 200 |
| 4 | South | 2013 | May | 300 |
| 4 | South | 2014 | June | 500 |

### Explication

Les valeurs du champ KeyToOtherTable ont été remplacées par des valeurs entières uniques et, en conséquence, la longueur des valeurs du champ a été réduite, ce qui préserve la mémoire. Les champs clés des deux tables sont affectés par l'instruction AutoNumber et les tables restent liées. L'exemple est court pour les besoins de la démonstration, mais il serait pertinent avec une table contenant un grand nombre de lignes.