Gå till huvudinnehåll Gå till ytterligare innehåll

autonumberhash128 - skriptfunktion

Denna skriptfunktion beräknar en 128-bitars hashning av de kombinerade indatauttrycksvärdena och returnerar ett unikt heltalsvärde för varje distinkt hash-värde som påträffas under skriptexekveringen. Funktionen kan exempelvis användas för att skapa en kompakt minnesrepresentation av en komplex nyckel.

Anteckning om informationDu kan enbart koppla autonumberhash128-nycklar som har skapats i samma dataladdning, eftersom heltalet genereras i enlighet med den ordning som tabellen laddas i. Om du behöver använda nycklar som är varaktiga mellan dataladdningar, fristående från källdatasortering, bör du använda funktionerna hash128, hash160 eller hash256.

Syntax:  

autonumberhash128(expression {, expression})

Exempel: Skapa en sammansatt nyckel

I det här exemplet skapar vi en sammansatt nyckel med hjälp av funktionen autonumberhash128 för att spara minne. Exemplet är kortfattat eftersom det är avsett som en illustration, men blir meningsfullt med en tabell som innehåller ett stort antal rader.

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

Källdata laddas med inline-data. Sedan lägger vi till en föregående load som skapar en sammansatt nyckel från fälten Region, Year och 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 ];

 

Den resulterande tabellen ser ut så här:

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

I det här exemplet kan du hänvisa till RYMkey, exempelvis 1, i stället för strängen "North2014May" om du behöver länka till en annan tabell.

Nu laddar vi en källtabell med kostnader på liknande sätt. Fälten Region, Year och Month undantas i föregående laddning för att undvika att skapa en syntetisk nyckel. Vi skapar redan en sammansatt nyckel med funktionen autonumberhash128 som länkar tabellerna.

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 kan vi lägga till en tabellvisualisering på ett ark och lägga till fälten Region, Year och Month samt summamått för försäljning och kostnader. Tabellen ser då ut så här:

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

Var den här sidan till hjälp för dig?

Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!