16 Kasım 2009 Pazartesi

Group by ile özet tablolar oluşturmak

Bazen sık kullanılan hesaplamaların script tarafına taşınması son derece yararlı ve performans açısından verimli olmaktadır. Bildiğiniz gibi worksheet içerisinde set analysis ifadeleri ile filtreleme yapmak bize son derece esneklik sağlar. Ama esnekliğe o an ihtiyaç yoksa sık kullanılan ifadeleri tabloları oluştururken hesaplayıp hazır getirmek daha akıllıcadır.

Örneğin ürünlerin belli periyodlardaki hedeflenen satış tutarı ile gerçekleşme tutarının tek bir sütunda (VALUE) tutulduğu ve KPI isimli sütunda hedef / tutar ayrımının yapıldığı aşağıdaki gibi bir tablodaki rakamları hedef ve tutar olacak şekilde 2 ayrı sütuna yazabiliriz.


Temp2:
load
period,
urungrubu,
if(kpi='TAR',value,0) as Hedef,
if(kpi='ACT',value,0) as Tutar
resident Temp1;

drop table Temp1;


Final:
load
period,
urungrubu,
sum(Hedef) as HedefToplam,
sum(Tutar) as TutarToplam
resident Temp2
group by
period,
urungrubu;

drop table Temp2;


Böylece

Sum({}VALUE) gibi bir ifadeyi uygulamada kullanmak yerine doğrudan

Sum(HedefToplam) kullanılmış olur.

Bu düzenleme ile küçük ama etkili bir performans tuning yapmış oluruz.

Hiç yorum yok:

Yorum Gönder