CRYSTAL REPORTS ‘ TA VERİLERİ GRUPLANDIRMAK

Günümüzde en çok kullanılan raporlama araçlarından biri olan Crystal Reports ta yapabileceğimiz diğer bir olay ise verileri istediğimiz gruba göre ayarlayabilmemizdir. Örneğin, bir market veritabanında bizden stokta olan ve olmayan ürünlerin listesini isteyebilirler ya da bir mağazada hangi personelin hangi ürünleri sattığını gösteren bir liste isteyebilirler. Bu durumda liste veritabanında karışık bir şekilde tutulduğu için karışık bir şekilde gelecektir. Bu durumun önüne geçmek için raporlarımızda gruplandırmayı kullanabiliriz. Böylelikle listemizde hangi personelin hangi ürünü sattığını rahatça görebiliriz.

Ben örneğimde hangi yazarın hangi makaleyi yazdığını bildiren bir rapor oluşturacağım.

İlk olarak yeni bir proje oluşturalım ve Project Menüsünden Add New Item diyelim. Daha sonra Reporting kategorisinden Crystal Report u seçelim ve Add diyelim.

crystal-reportsta-gruplama-yapmak-1

crystal-reportsta-gruplama-yapmak-1

Daha sonra sihirbazı kullanarak hemen veri tabanımızı ve sütunlarımızı eklemeye geçelim.

crystal-reportsta-gruplama-yapmak-2

crystal-reportsta-gruplama-yapmak-2

Hangi veri tabanını kullanıyorsak ona göre işlemimizi yapalım ve işlem yapılacak tabloyu aşağıda bulunan resimdeki gibi sağ tarafa aktaralım ve Next diyelim.

crystal-reportsta-gruplama-yapmak-3

crystal-reportsta-gruplama-yapmak-3

Tablomuzu seçtiğimize göre artık raporumuzda görmek istediğimiz tablo sütunlarını seçelim. Resimdeki gibi istediğimiz sütunu seçip sağ tarafa aktardıktan sonra Finish diyerek işlemi bitirelim.

crystal-reportsta-gruplama-yapmak-4

crystal-reportsta-gruplama-yapmak-4

Sihirbazda kullandığımız için artık verilerimiz raporlanmaya hazır hale geldi. Hiçbir gruplandırma ya da başka bir şey yapmadık (sadece yazı tipi düzeltmesi yaptım) ve şimdiye kadar yaptığımız işlemlerden sonra Raporumuzu Main Report Preview modunda görüntüledikten sonra raporumuz aşağıdaki gibi oldu.

crystal-reportsta-gruplama-yapmak-5

crystal-reportsta-gruplama-yapmak-5

Gördüğünüz gibi herhangi bir gruplama olayı yok. Raporumuz veritabanında tutulduğu gibi geldi. Eğer verilerimizi çok fazla olsaydı hangi yazarın hangi makaleleri yazdığını bulmak çok sıkıntılı olacaktı. Artık gruplama yapalım ve bu durumun önüne geçelim.

Herhangi bir kesitin boş bir alanına sağ tıklayıp Insert – Group diyelim.

crystal-reportsta-gruplama-yapmak-6

crystal-reportsta-gruplama-yapmak-6

Karşımıza çıkan pencereden gruplamayı hangi sütuna göre yapacağımızı seçiyoruz ve sıralama düzenini de belirtiyoruz.

crystal-reportsta-gruplama-yapmak-7

crystal-reportsta-gruplama-yapmak-7

Ben gruplamamı daha öncede belirttiğim gibi yazara göre yapacağım. Gördüğünüz gibi 4 çeşit gruplama düzeni var. Bunlarda da bahsedelim.

In Ascending Order: Gruplandırmayı A – Z ya da 0 – 9 şeklinde yapacaktır. Yani Yazarlarımızın adının baş harfine göre sıralama yapacaktır. Bu durumda Engin DEMİROĞ adlı yazarımız raporumuzun en üstünde yer alacaktır.

In Descending Order: Gruplandırmayı Z – A ya da 9 – 0 şeklinde yapacaktır. Bu durumda Veysel Uğur KIZMAZ adlı yazarımız raporumuzun en üstünde yer alacaktır.

In Specified Order: Adından da anlaşılacağı gibi bize özel bir gruplandırma olanağı sunuyor. In Specified Order ile sadece istediğimiz yazarları gruplayabilir diğerlerinin tamamını farklı bir başlık altında listeyebilir yada listeye eklenmemesini sağlayabiliriz. Çoğunlukla belirtmek istediğiniz grubu göstermek için kullanırız.

In Original Order: Bu gruplandırma çeşidi ise sırayı bozmadan gelen isimlere göre tek tek gruplandırma yapar.

IN ASCENDING ORDER

Örneğimize kaldığımız yerden devam edelim in ascending order i seçip Tamam diyelim ve sonucu görelim.

crystal-reportsta-gruplama-yapmak-8

crystal-reportsta-gruplama-yapmak-8

Gördüğünüz gibi sıralamamız A dan Z ye şeklinde oldu. Böylelikle hangi yazarın hangi makaleyi yazdığını daha rahat takip edebiliriz.

Grubuzu oluşturduktan sonra raporumuza iki yeni kesit daha eklenmiş oldu. Bunlar:

Group Header Section: Grup başlığını belirtir.

Group Footer Section: Oluşturduğunuz grubun sonundaki metin alanlarıdır.

Her iki kesit adlarımızın sonundaki harf ise sıralama çeşidini belirtir. Buradaki A sıralamanın Ascending olduğunu belirtir.

crystal-reportsta-gruplama-yapmak-9

crystal-reportsta-gruplama-yapmak-9

IN DESCENDING ORDER

Sıralamayı Z-A, sayı varsa 9-0 şeklinde yapar demiştik. Örneğimiz için in descending order sıralaması aşağıdaki gibi olur.

crystal-reportsta-gruplama-yapmak-10

crystal-reportsta-gruplama-yapmak-10

IN SPECIFIED ORDER

Grup ekleme kısmında in specified order sıralama düzenini seçseydik bizi direk Specified Order adında bir sekmeye atacaktı. Bu kısımda gruplandırma yapmak istediğimiz yazarları seçiyoruz. Dilersek Others kısmından diğer yazarlar hakkında özelleştirme yapabiliyoruz.

crystal-reportsta-gruplama-yapmak-11

crystal-reportsta-gruplama-yapmak-11

Discard all others deseydik, sadece Saih ve Engin i listemizde görecektik.

Leave in their own group deseydik, önce Salih sonra Engin daha sonra diğer yazarları kendi gruplarında görecektik.

Böylelikle gruplandırmayı sadece A dan Z ye yada Z den A ya şeklinde değil de karışık biçimde de yapabiliriz.

Uygulamamızın sonucu aşağıdaki gibi olacaktır.

crystal-reportsta-gruplama-yapmak-12

crystal-reportsta-gruplama-yapmak-12

Gördüğünüz gibi gruplandırmayı ayarladığımız şekilde özelleştirdik.

IN ORIGINAL ORDER

Belirttiğimiz gibi gruplandırmayı veri tabanından gelen sırayı bozmadan ardı ardına gelen aynı kayıtları gruplandırır.

Örneğimiz için in original order gruplandırması

crystal-reportsta-gruplama-yapmak-13

crystal-reportsta-gruplama-yapmak-13

GRUPLANDIRMAYI DEĞİŞTİRMEK

Ascending olarak yaptığınız bir gruplamayı daha sonra Descending yada diğer sıralama türlerine göre değiştirebilirsiniz. Bunun için GroupHeaderSection, GroupFooterSection üzerine sağ tuş yapalım Group Expert diyeim.

crystal-reportsta-gruplama-yapmak-14

crystal-reportsta-gruplama-yapmak-14

Açılan pencerede Options diyerek gruplandırma penceresine ulaşabilirsiniz. Böylelikle istediğiniz gruplandırma çeşidini seçebilirsiniz.

crystal-reportsta-gruplama-yapmak-15

crystal-reportsta-gruplama-yapmak-15

GRUP İÇİNDE GRUPLANDIRMA YAPMAK

Bazı durumlarda grup içerisinde başka bir gruba daha ihtiyaç duyabilirsiniz. Örneğin, personele göre bir gruplandırma yaptınız fakat birde personelin sattığı ürünün türüne yada sattığı yıla göre de gruplandırma yapmak istiyorsunuz. Bu durumda grup içinde ayrı bir gruplandırma yapmanız gerekecektir.

Ben örneğimde yazarın adına göre gruplandırma yaptım şimdide yazdığı makale türlerine göre gruplandırma yapmak istiyorum.

Bunun için yeni bir grup ekleyelim.

crystal-reportsta-gruplama-yapmak-16

crystal-reportsta-gruplama-yapmak-16

Tekrar gruplandırmak istediğimiz sütunu seçelim. Bu kez makale türüne göre gruplandırma yapacağımız için makaleturu sütunumu seçiyorum. Dilersek sıralamayı da değiştirebiliriz.

crystal-reportsta-gruplama-yapmak-17

crystal-reportsta-gruplama-yapmak-17

Örneğimizle ilgili sonucu görelim.

crystal-reportsta-gruplama-yapmak-18

crystal-reportsta-gruplama-yapmak-18

Gördüğünüz gibi makale türü de gruplandırılmış oldu. Sistem makaleleri bir grupta Yazılım makaleleri de ayrı bir grupta toplandı.

GRUPLANDIRMAYI İPTAL ETMEK

Yapmış olduğumuz gruplandırmayı iptal etmek istiyorsak Group Expert deyip. Sağ tarafta seçili olan sütunları sola almamız yeterli olacaktır.

crystal-reportsta-gruplama-yapmak-19

crystal-reportsta-gruplama-yapmak-19

Umarım yararlı olmuştur. İyi Çalışmalar…