Ga naar hoofdinhoud Ga naar aanvullende inhoud

autonumberhash128 - scriptfunctie

Deze scriptfunctie berekent een 128-bits hash van de gecombineerde invoerwaarden van de uitdrukking en retourneert een uniek geheel getal voor elke distinctieve hash-waarde die wordt gevonden tijdens de uitvoering van het script. Met deze functie kan bijvoorbeeld een compacte geheugenrepresentatie van een complexe sleutel worden gemaakt.

InformatieU kunt alleen verbinding maken met autonumberhash128-sleutels die zijn gegenereerd in dezelfde laadbewerking voor gegevens, aangezien het gehele getal wordt gegenereerd op basis van de volgorde waarin de tabel wordt gelezen. Als u sleutels moet gebruiken die ongewijzigd blijven tussen laadbewerkingen voor gegevens, onafhankelijk van de sortering van de brongegevens, moet u de functie hash128, hash160 of hash256 gebruiken.

Syntaxis:  

autonumberhash128(expression {, expression})

Voorbeeld: Een samengestelde sleutel maken

In dit voorbeeld maken we een samengestelde sleutel met de functie autonumberhash128 om geheugen te sparen. Het voorbeeld is kort vanwege demonstratiedoeleinden, maar zou relevant zijn bij een tabel met een groot aantal rijen.

Voorbeeldgegevens
Region Year Month Sales
North 2014 May 245
North2014May347
North2014June127
South2014June645
South2013May367
South2013May221

De brongegevens worden geladen met behulp van inline-gegevens. Vervolgens voegen we een voorafgaande load-opdracht toe die een samengestelde sleutel maakt op basis van de velden Region, Year en 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 ];

 

De resulterende tabel ziet er als volgt uit:

Resultatentabel
Region Year Month Sales RYMkey
North 2014 May 245 1
North2014May3471
North2014June1272
South2014June6453
South2013May3674
South2013May2214

In dit voorbeeld kunt u verwijzen naar de RYMkey, bijvoorbeeld 1, in plaats van de tekenreeks 'North2014May' als u een koppeling met een andere tabel tot stand moet brengen.

Nu laden we op vergelijkbare wijze een brontabel met kosten. De velden Region, Year en Month zijn uitgesloten in de voorafgaande laadbewerking om te voorkomen dat er een synthetische sleutel wordt gemaakt. We maken al een samengestelde sleutel met de functie autonumberhash128, waardoor de tabellen worden gekoppeld.

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

 

Nu kunnen we een tabelvisualisatie toevoegen aan een werkblad en de velden Region, Year en Month toevoegen, alsmede metingen Som voor de verkopen en kosten. De tabel ziet er dan als volgt uit:

Resultatentabel
Region Year Month Sum([Sales]) Sum([Costs])
Totals - - 1952 784
North2014June127199
North2014May59256
South2014June64564
South2013May588465

Was deze pagina nuttig?

Als u problemen ervaart op deze pagina of de inhoud onjuist is – een typfout, een ontbrekende stap of een technische fout – laat het ons weten zodat we dit kunnen verbeteren!