autonumberhash256 — функция скрипта

Эта функция скрипта вычисляет 256-битные случайные данные значений выражений комбинированного ввода и возвращает уникальное значение целого для каждого определенного значения случайных данных, возникающего в процессе выполнения скрипта. Эта функция может использоваться, например, при создании компактного представления сложного ключа в памяти.

Примечание: Можно подключить только ключи autonumberhash256, созданные в той же загрузке данных, поскольку целое число создается согласно порядку чтения таблицы. При использовании ключей, хранящихся между загрузками данных, независимо от сортировки исходных данных, необходимо использовать функции hash128, hash160 или hash256.

Syntax:  

autonumberhash256(expression {, expression})

 

Example: Создание составного ключа

В данном примере мы создаем составной ключ, используя функцию autonumberhash256 для преобразования памяти. Этот пример представлен в целях демонстрации, поэтому в данном случае информация краткая, но при использовании таблицы, содержащей большое количество строк, информация будет более содержательной.

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

Исходные данные загружаются с помощью встроенных данных. Затем мы добавляем предшествующую загрузку, которая создает составной ключ из полей Region, Year и 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 ];

 

Полученная таблица выглядит следующим образом:

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

В этом примере вы можете обратиться к RYMkey, например 1 вместо строки 'North2014May', если необходимо установить связь с другой таблицей.

Теперь мы загружаем исходную таблицу с ценами похожим образом. Поля Region, Year и Month исключены предыдущей загрузкой во избежание создания синтетического ключа, мы уже создаем составной ключ с функцией autonumberhash256, связывая таблицы.

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

 

Теперь мы можем добавить визуализацию таблицы на лист и добавить поля Region, Year и Month, а также меры Sum для продаж и стоимости. Таблица будет выглядеть так:

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