Özellikle raporlama uzmanları baÅŸta olmak üzere veritabanlarında (türü ne olursa olsun) sorgulama yaparken aggregate – Türkçe’ye bilerek çevirmedim – fonksiyonlarına sıklıkla baÅŸvurmaktayız.
Bu fonksiyonları sıralayacak olursak;
- Sum (Toplam)
- Maximum (En Yüksek)
- Minimum (En Düşük)
- Count (Say)
- Count Distinct (Benzersiz Say)
- Group By (Grupla)
- Average (Aritmetik Ortalama)
Bu fonksiyonların SQL dilinde hazır metotları olsa da kimi zaman Integration Services uygulamalarımızda kullanmak durumunda kalabiliriz.
ÖrneÄŸin veri kaynağınızın bir veritabanı (MS SQL, Oracle, DB2) deÄŸilde basit olarak deÄŸer tutan dosyalar olduÄŸunu düşünün (xls, csv vs…).
Bu tip veri kaynaklarındaki verilerinize bu işlemleri yapabilmek için Data Flow Task altında Data Flow Tranformations sekmesinde yer alan Aggregate kontrolünü kullanabilirsiniz. Bu şekilde bahsettiğim veri kaynaklarında yer alan verileri temp bir tabloya yazıp daha sonradan işlem yapmak yerine kolayca çözümleyebilirsiniz.
Bunun için bir örnek üzerinden gidelim. Örneğimizde MS SQL Server üzerindeki bir tablodan ADO.Net Connections ile verilerimizi çektik. Sorgumuz aşağıdaki gibidir :
SELECT [ProductID]
,[Date]
,[Sales]
,[Cost]
FROM [Smart].[dbo].[Sales]
Sonrasında ise bu veri kaynağımızı Aggregate kontrolümüz ile bağladıktan sonra verilerimiz arasında yer alan sutun adlarına göre yapacağımız işlemi belirleyebiliriz.
Son olarak hesaplamalarımız sonrasında karşılaşacağımız yeni tablomuzu izleyelim. Bunun için Aggregate kontrolümüzü bir Union All kontrolüne bağladık. İki kontrol arasındaki bağlantı yolunun üzerinde farenin sağ tuşuna basarak Data Viewer seçeneğini seçip buradan verileri görmek istediğimiz türde ayarlayabiliriz. Bu örnek için grid kullandık.










Related Articles
No user responded in this post
Leave A Reply