Kötü başlık için özür dilerim, bunun için iyi bir başlık ne olacağından emin değildim.
Şu anda birlikte çalıştığım veriler (basitleştirilmiş görünümü)
Agent | Commission
---------|------------
Smith | 100
Neo | 200
Morpheus | 300
Her komisyonun sorumlu olduğu toplam komisyonun yüzdesini hesaplamam gerekiyor.
Yani, Ajan Smith için Yüzde, (Agent Smith's commission / Sum(commission)*100
Beklediğim veriler
Agent | Commission | % Commission
---------|---------------|---------------
Smith | 100 | 17
Neo | 200 | 33
Morpheus | 300 | 50
Her ajan için komisyonu iade eden bir fonksiyonum var. Yüzde olarak dönen başka bir işlevi var (Commission/Sum(Commission))*100
. Sorun şu ki Sum(commission)
, her satır için hesaplanıyor ve bu sorgunun Veri Ambarı üzerinde çalıştırılacağı göz önüne alındığında, veri kümesi oldukça büyük (şu anda 2000 kayıtların biraz altında) ve dürüst olmak gerekirse, kötü bir yaklaşım (IMO) ).
Sum(Commission)
Alınan her satır için hesaplamamanın bir yolu var mı ?
Ben 2 parçalı bir sorgu satırlarında bir şey düşünüyordum, ilk kısmı sum(commission)
bir paket değişkeni / türü getirecek ve ikinci kısmı bu önceden hesaplanmış değere atıfta bulunacaktı, ama bunu nasıl başarabilirim emin değilim.
SQL kullanmakla sınırlıyım ve Oracle 10g R2 üzerinde çalışıyorum.