|
CRYSTAL REPORTS ‘ TA VERILERI GRUPLANDIRMAK
Günümüzde en çok kullanilan raporlama araçlarindan biri olan Crystal Reports ta yapabilecegimiz diger bir olay ise verileri istedigimiz gruba göre ayarlayabilmemizdir. Örnegin, bir market veritabaninda bizden stokta olan ve olmayan ürünlerin listesini isteyebilirler ya da bir magazada hangi personelin hangi ürünleri sattigini gösteren bir liste isteyebilirler. Bu durumda liste veritabaninda karisik bir sekilde tutuldugu için karisik bir sekilde gelecektir. Bu durumun önüne geçmek için raporlarimizda gruplandirmayi kullanabiliriz. Böylelikle listemizde hangi personelin hangi ürünü sattigini rahatça görebiliriz.
Ben örnegimde hangi yazarin hangi makaleyi yazdigini bildiren bir rapor olusturacagim.
Ilk olarak yeni bir proje olusturalim ve Project Menüsünden Add New Item diyelim. Daha sonra Reporting kategorisinden Crystal Report u seçelim ve Add diyelim.
Daha sonra sihirbazi kullanarak hemen veri tabanimizi ve sütunlarimizi eklemeye geçelim.
Hangi veri tabanini kullaniyorsak ona göre islemimizi yapalim ve islem yapilacak tabloyu asagida bulunan resimdeki gibi sag tarafa aktaralim ve Next diyelim.
Tablomuzu seçtigimize göre artik raporumuzda görmek istedigimiz tablo sütunlarini seçelim. Resimdeki gibi istedigimiz sütunu seçip sag tarafa aktardiktan sonra Finish diyerek islemi bitirelim.
Sihirbazda kullandigimiz için artik verilerimiz raporlanmaya hazir hale geldi. Hiçbir gruplandirma ya da baska bir sey yapmadik (sadece yazi tipi düzeltmesi yaptim) ve simdiye kadar yaptigimiz islemlerden sonra Raporumuzu Main Report Preview modunda görüntüledikten sonra raporumuz asagidaki gibi oldu.
Gördügünüz gibi herhangi bir gruplama olayi yok. Raporumuz veritabaninda tutuldugu gibi geldi. Eger verilerimizi çok fazla olsaydi hangi yazarin hangi makaleleri yazdigini bulmak çok sikintili olacakti. Artik gruplama yapalim ve bu durumun önüne geçelim.
Herhangi bir kesitin bos bir alanina sag tiklayip Insert – Group diyelim.
Karsimiza çikan pencereden gruplamayi hangi sütuna göre yapacagimizi seçiyoruz ve siralama düzenini de belirtiyoruz.
Ben gruplamami daha öncede belirttigim gibi yazara göre yapacagim. Gördügünüz gibi 4 çesit gruplama düzeni var. Bunlarda da bahsedelim.
In Ascending Order: Gruplandirmayi A - Z ya da 0 - 9 seklinde yapacaktir. Yani Yazarlarimizin adinin bas harfine göre siralama yapacaktir. Bu durumda Engin DEMIROG adli yazarimiz raporumuzun en üstünde yer alacaktir.
In Descending Order: Gruplandirmayi Z - A ya da 9 - 0 seklinde yapacaktir. Bu durumda Veysel Ugur KIZMAZ adli yazarimiz raporumuzun en üstünde yer alacaktir.
In Specified Order: Adindan da anlasilacagi gibi bize özel bir gruplandirma olanagi sunuyor. In Specified Order ile sadece istedigimiz yazarlari gruplayabilir digerlerinin tamamini farkli bir baslik altinda listeyebilir yada listeye eklenmemesini saglayabiliriz. Çogunlukla belirtmek istediginiz grubu göstermek için kullaniriz.
In Original Order: Bu gruplandirma çesidi ise sirayi bozmadan gelen isimlere göre tek tek gruplandirma yapar.
IN ASCENDING ORDER
Örnegimize kaldigimiz yerden devam edelim in ascending order i seçip Tamam diyelim ve sonucu görelim.
Gördügünüz gibi siralamamiz A dan Z ye seklinde oldu. Böylelikle hangi yazarin hangi makaleyi yazdigini daha rahat takip edebiliriz.
Grubuzu olusturduktan sonra raporumuza iki yeni kesit daha eklenmis oldu. Bunlar:
Group Header Section: Grup basligini belirtir.
Group Footer Section: Olusturdugunuz grubun sonundaki metin alanlaridir.
Her iki kesit adlarimizin sonundaki harf ise siralama çesidini belirtir. Buradaki A siralamanin Ascending oldugunu belirtir.
IN DESCENDING ORDER
Siralamayi Z-A, sayi varsa 9-0 seklinde yapar demistik. Örnegimiz için in descending order siralamasi asagidaki gibi olur.
IN SPECIFIED ORDER
Grup ekleme kisminda in specified order siralama düzenini seçseydik bizi direk Specified Order adinda bir sekmeye atacakti. Bu kisimda gruplandirma yapmak istedigimiz yazarlari seçiyoruz. Dilersek Others kismindan diger yazarlar hakkinda özellestirme yapabiliyoruz.
Discard all others deseydik, sadece Saih ve Engin i listemizde görecektik.
Leave in their own group deseydik, önce Salih sonra Engin daha sonra diger yazarlari kendi gruplarinda görecektik.
Böylelikle gruplandirmayi sadece A dan Z ye yada Z den A ya seklinde degil de karisik biçimde de yapabiliriz.
Uygulamamizin sonucu asagidaki gibi olacaktir.
Gördügünüz gibi gruplandirmayi ayarladigimiz sekilde özellestirdik.
IN ORIGINAL ORDER
Belirttigimiz gibi gruplandirmayi veri tabanindan gelen sirayi bozmadan ardi ardina gelen ayni kayitlari gruplandirir.
Örnegimiz için in original order gruplandirmasi
GRUPLANDIRMAYI DEGISTIRMEK
Ascending olarak yaptiginiz bir gruplamayi daha sonra Descending yada diger siralama türlerine göre degistirebilirsiniz. Bunun için GroupHeaderSection, GroupFooterSection üzerine sag tus yapalim Group Expert diyeim.
Açilan pencerede Options diyerek gruplandirma penceresine ulasabilirsiniz. Böylelikle istediginiz gruplandirma çesidini seçebilirsiniz.
GRUP IÇINDE GRUPLANDIRMA YAPMAK
Bazi durumlarda grup içerisinde baska bir gruba daha ihtiyaç duyabilirsiniz. Örnegin, personele göre bir gruplandirma yaptiniz fakat birde personelin sattigi ürünün türüne yada sattigi yila göre de gruplandirma yapmak istiyorsunuz. Bu durumda grup içinde ayri bir gruplandirma yapmaniz gerekecektir.
Ben örnegimde yazarin adina göre gruplandirma yaptim simdide yazdigi makale türlerine göre gruplandirma yapmak istiyorum.
Bunun için yeni bir grup ekleyelim.
Tekrar gruplandirmak istedigimiz sütunu seçelim. Bu kez makale türüne göre gruplandirma yapacagimiz için makaleturu sütunumu seçiyorum. Dilersek siralamayi da degistirebiliriz.
Örnegimizle ilgili sonucu görelim.
Gördügünüz gibi makale türü de gruplandirilmis oldu. Sistem makaleleri bir grupta Yazilim makaleleri de ayri bir grupta toplandi.
GRUPLANDIRMAYI IPTAL ETMEK
Yapmis oldugumuz gruplandirmayi iptal etmek istiyorsak Group Expert deyip. Sag tarafta seçili olan sütunlari sola almamiz yeterli olacaktir.
Umarim yararli olmustur. Iyi Çalismalar…
Yazar: Salih DEMIROG
|