autonumber - Skriptfunktion

Diese Skriptfunktion liefert eine eindeutige ganze Zahl für jeden distinkten ausgewerteten Wert von expression bei der Skriptausführung. Diese Funktion kann beispielsweise verwendet werden, um zusammengesetzte Schlüssel zu vereinfachen oder abzukürzen.

Hinweis: Sie können nur die autonumber-Schlüssel verbinden, die bei demselben Datenladevorgang generiert wurden, da die Ganzzahl in der Reihenfolge generiert wird, in der die Tabelle eingelesen wird. Sie müssen Schlüssel verwenden, die unabhängig von der Quelldatensortierung zwischen Datenladevorgängen beibehalten werden. Dazu eignen sich die Funktionen hash128, hash160 oder hash256.

Syntax:  

autonumber(expression[ , AutoID])

Arguments:  

Argument Beschreibung
AutoID

Um mehrere Zählerinstanzen zu erstellen, wenn die autonumber-Funktion im Skript bei verschiedenen Schlüsseln verwendet wird, kann der optionale Parameter AutoID zum Benennen der einzelnen Zähler genutzt werden.

Example: Erstellen eines zusammengesetzten Schlüssels

In diesem Beispiel erstellen wir einen zusammengesetzten Schlüssel mithilfe der Funktion autonumber, damit weniger Speicherplatz erforderlich ist. Das Beispiel ist für Demonstrationszwecke nur kurz, wäre aber besonders in einer Tabelle mit vielen Zeilen sinnvoll.

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

Die Quelldaten werden mithilfe von Inline-Daten geladen. Anschließend wird der vorangehende Load-Befehl hinzugefügt, wodurch ein zusammengesetzter Schlüssel aus den Feldern Region, Year und Month erstellt wird.

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

 

Die sich ergebende Tabelle sieht folgendermaßen aus:

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 diesem Beispiel können Sie auf den RYM-Schlüssel, zum Beispiel 1, anstelle des Strings 'North2014May' Bezug nehmen, wenn Sie eine Verknüpfung zu einer weiteren Tabelle erstellen möchten.

Jetzt wird eine Quelltabelle mit Kosten auf ähnliche Weise geladen. Die Felder Region, Year und Month werden im vorhergehenden Ladevorgang ausgeschlossen, damit kein synthetischer Schlüssel erstellt wird; es wird dabei bereits ein zusammengesetzter Schlüssel mit der Funktion autonumber erstellt, was die Tabelle verlinkt.

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

 

Jetzt können zum Arbeitsblatt eine Tabellenvisualisierung und die Felder Region, Year und Month sowie Summenkennzahlen für Umsatz und Kosten hinzugefügt werden. Die Tabelle sieht folgendermaßen aus:

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