autonumberhash256 - Skriptfunktion

Diese Skriptfunktion berechnet für jede Kombination von Formeln einen 256-Bit-Hash-Wert und liefert für jeden unterschiedlichen Hash-Wert innerhalb des Skripts eine eindeutige ganze Zahl. Diese Funktion kann beispielsweise verwendet werden, um zusammengesetzte Schlüssel zu vereinfachen oder abzukürzen.

Hinweis: Sie können nur die autonumberhash256-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:  

autonumberhash256(expression {, expression})

 

Example: Erstellen eines zusammengesetzten Schlüssels

In diesem Beispiel erstellen wir einen zusammengesetzten Schlüssel mithilfe der Funktion autonumberhash256, 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 *, AutoNumberHash256(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 autonumberhash256 erstellt, was die Tabelle verlinkt.

RegionCosts: LOAD Costs, AutoNumberHash256(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