autonumberhash256 - fonction de script

Cette fonction de script calcule un hachage de 256 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.

Remarque: Vous pouvez uniquement connecter des clés autonumberhash256 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.

Syntax:  

autonumberhash256(expression {, expression})

 

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

Dans cet exemple, nous créons une clé composée en utilisant la fonction autonumberhash256 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.

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 load antérieure qui crée une clé composée à partir des champs Region, Year et Month.

RegionSales: LOAD *, AutoNumberHash256(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 :

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 load antérieure afin d'éviter de créer une clé synthétique. Nous créons déjà une clé composée avec la fonction autonumberhash256, ce qui lie les tables.

RegionCosts: LOAD Costs, AutoNumberHash256(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 :

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