# autonumberhash128 — funkcja skryptu

Ta funkcja skryptu oblicza 128-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 autonumberhash128, 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:

autonumberhash128(expression {, expression})

Przykład: Tworzenie klucza złożonego

W tym przykładzie utworzymy klucz złożony przy użyciu funkcji autonumberhash128 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.

Przykład klucza złożonego 1

| 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 wcześniejsze ładowanie, które tworzy klucz złożony z pól Region, Year i Month.

```
RegionSales: LOAD *, AutoNumberHash128(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 ];
```

Otrzymana tabela wygląda następująco:

Przykład klucza złożonego 2

| 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 we wcześniejszym ładowaniu, aby uniknąć tworzenia klucza syntetycznego. Tworzony jest już bowiem klucz złożony z funkcją autonumberhash128, łączącą tabele.

```
RegionCosts: LOAD Costs, AutoNumberHash128(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 tabelę wykresu oraz polaRegion, Year i Month, jak również miary Sum dla sprzedaży i kosztów. Tabela będzie wyglądać następująco:

Przykład klucza złożonego 3

| 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

* [autonumberhash256 — funkcja skryptu](https://help.qlik.com/pl-PL/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/Scripting/CounterFunctions/autonumberhash256.htm)
* [autonumber — funkcja skryptu](https://help.qlik.com/pl-PL/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/Scripting/CounterFunctions/autonumber.htm)