autonumberhash128 - kod fonksiyonu

Bu kod fonksiyonu, birleştirilen giriş ifadesi değerlerinin 128 bit karmasını hesaplar ve kod yürütme sırasında karşılaşılan her tekil karma değeri için benzersiz bir tamsayı değeri döndürür. Bu fonksiyon, örneğin bir karmaşık anahtarın sıkıştırılmış bellek temsilini oluşturmak için kullanılabilir.

Note: Tamsayı, tablonun okunduğu sıraya göre oluşturulduğundan, yalnızca aynı veri yüklemesinde oluşturulmuş autonumberhash128 anahtarlarını bağlayabilirsiniz. Kaynak veri sıralamasından bağımsız olarak, veri yükleri arasında kalıcı olan anahtarları kullanmanız gerekirse, hash128, hash160 veya hash256 fonksiyonlarını kullanmalısınız.

Syntax:  

autonumberhash128(expression {, expression})

Example: Bileşik anahtar oluşturma

Bu örnekte, belleği muhafaza etmek için autonumberhash128 fonksiyonunu kullanarak bir bileşik anahtar oluşturuyoruz. Örnek, gösterim amacına yönelik olarak kısadır; ancak çok sayıda satır içeren bir tablo ile anlamlı olur.

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

Kaynak veriler, satır içi verilerin kullanımıyla yüklenir. Daha sonra Region, Year ve Month alanlarından bileşik anahtar oluşturan bir öncelikli yüklemeyi ekliyoruz.

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

 

Elde edilen tablo şöyle görünür:

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

Bu örnekte, başka bir tabloya bağlamanız gerekmesi halinde 'North2014May' dizesi yerine RYMkey öğesine (örneğin, 1) başvurabilirsiniz.

Şimdi de maliyetleri içeren bir kaynak tabloyu benzer şekilde yüklüyoruz. Yapay anahtar oluşturmanın önüne geçmek için Region, Year ve Month alanları öncelikli yüklemede hariç tutulur; tabloları bağlayarak autonumberhash128 fonksiyonu ile bir bileşik anahtar zaten oluşturuyoruz.

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

 

Artık, sayfaya bir tablo grafiği ekleyebilir ve Region, Year ve Month alanlarının yanı sıra satış ve maliyetlere ilişkin Toplam hesaplamalarını ilave edebiliriz. Tablo şöyle görünür:

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