autonumberhash256 - función de script

Esta función de script calcula un hash de 256 bits de los valores de entrada combinados de la expresión y devuelve un único entero por cada valor de resumen diferente encontrado durante la ejecución de script. Esta función se puede utilizar por ej. para crear un representación compacta de memoria de una clave compleja.

Nota: Sólo es posible conectar claves autonumberhash256 que se hayan generado en la misma carga de datos, ya que el valor entero se genera según el orden de lectura de la tabla. Si necesita utilizar teclas que son persistentes entre cargas de datos, independientemente del orden de los datos fuente, utilice las funciones hash128, hash160 o hash256.

Sintaxis:  

autonumberhash256(expression {, expression})

 

Ejemplo: Crear una clave compuesta

En este ejemplo creamos una clave compuesta utilizando la función autonumberhash256 para conservar la memoria. El ejemplo es breve con fines de demostración, pero sería significativo en una tabla con un número elevado de filas.

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

Los datos fuente se cargan mediante Datos Inline. Seguidamente, se añade un load precedente que crea una clave compuesta a partir de los campos Region, Year y 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 tabla resultante tiene el siguiente aspecto:

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

En este ejemplo, puede hacer referencia a RYMkey, por ejemplo 1, en lugar de hacer referencia a la cadena “North2014May” si desea enlazar a otra tabla.

Ahora cargaremos una tabla de costes fuente de un modo similar. Los campos Region, Year y Month se excluyen del load precedente para evitar crear una clave sintética, ya estamos creando una clave compuesta con la función autonumberhash256, vinculando las tablas.

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

 

Ahora podemos añadir un gráfico de tabla a una hoja y añadir los campos Region, Year y Month, además de las medidas Sum para las ventas y los costes. La tabla tendría el aspecto siguiente:

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