# autonumberhash256 — funkcja skryptu

Ta funkcja skryptu oblicza 256-bitowy skrót połączonych wartości wyrażenia wejściowego oraz zwraca niepowtarzalną wartość całkowitą dla każdej odrębnej wartości skrótu napotkanej podczas wykonywania skryptu. Ta funkcja może zostać użyta np. w celu utworzenia kompaktowej reprezentacji klucza złożonego w pamięci.

InformacjaMożna łączyć tylko te klucze autonumberhash256, które zostały wygenerowane w tym samym ładowaniu danych, ponieważ liczba całkowita jest generowana zgodnie z kolejnością odczytu tabeli. Aby użyć kluczy stałych w różnych ładowaniach danych, niezależnie od sortowania danych źródłowych, należy skorzystać z funkcji hash128, hash160 lub hash256.

Składnia:

autonumberhash256(expression {, expression})

Przykład: Tworzenie klucza złożonego

W tym przykładzie utworzymy klucz złożony przy użyciu funkcji autonumberhash256 w celu ochrony pamięci. Na potrzeby prezentacji przykład jest krótki, ale funkcja ta sprawdza się szczególnie w przypadku tabel zawierających wiele wierszy.

Tabela przykładowa

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

Dane źródłowe są ładowane przy użyciu danych wbudowanych. Następnie dodajemy ładowanie poprzedzające, które tworzy klucz złożony z pól Region, Year i 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
];
```

Wynikowa tabela wygląda następująco:

Tabela wynikowa

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

Aby połączyć kolejną tabelę, w tym przykładzie można odwołać się do klucza RYMkey, na przykład 1, zamiast do ciągu znaków „North2014May”.

Teraz w podobny sposób ładujemy źródłową tabelę kosztów. Pola Region, Year i Month są wykluczone w ładowaniu poprzedzającym, aby uniknąć tworzenia klucza syntetycznego. Tworzony jest już bowiem klucz złożony z funkcją autonumberhash256, łączący tabele.

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

Teraz możemy dodać do arkusza wizualizację tabeli oraz pola Region, Year i Month, jak również miary Sum dla sprzedaży i kosztów. Tabela będzie wyglądać następująco:

Tabela wynikowa

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

## Dowiedz się więcej

* [autonumberhash128 — funkcja skryptu](https://help.qlik.com/pl-PL/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/CounterFunctions/autonumberhash128.htm)
* [autonumber — funkcja skryptu](https://help.qlik.com/pl-PL/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/CounterFunctions/autonumber.htm)