Ga naar hoofdinhoud Ga naar aanvullende inhoud

autonumber - scriptfunctie

Deze scriptfunctie retourneert een uniek geheel getal voor elke distinctieve geëvalueerde waarde van expression die is gevonden tijdens uitvoering van het script. Met deze functie kan bijvoorbeeld een compacte geheugenrepresentatie van een complexe sleutel worden gemaakt.

InformatieU kunt alleen verbinding maken met autonumber-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:  

autonumber(expression[ , AutoID])

Argumenten:  

Argument Beschrijving
AutoID

Als de functie autonumber voor verschillende sleutels in het script wordt gebruikt, kunt u meerdere instanties van de teller maken door met de optionele parameter AutoID elke teller een naam te geven.

Voorbeeld: Een samengestelde sleutel maken

In dit voorbeeld maken we een samengestelde sleutel met de functie autonumber 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
North 2014 May 347
North 2014 June 127
South 2014 June 645
South 2013 May 367
South 2013 May 221

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 *, AutoNumber(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
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

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 autonumber, waardoor de tabellen worden gekoppeld.

RegionCosts: LOAD Costs, AutoNumber(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
North 2014 June 127 199
North 2014 May 592 56
South 2014 June 645 64
South 2013 May 588 465

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!