Jasper Report’ta Crosstab ile Rapor Oluşturma

Çapraz bir rapor oluşturmak istiyorum, sorgu sonucu gelen satırları sütunlar halinde göstermek hatta mümkünse sütunları gruplayarak gösterebileceğimiz bir rapor oluşturmak istiyoruz. Böylece sütunları dinamik olarak göstermek istiyoruz.
Bunu Jasper Report’un Crosstab bileşeni ile oldukça basit bir şekilde yapabiliriz.
SELECT * FROM V_DEPT_JOB
gibi tek bir sql cümlesi ile raporu oluşturabiliriz.
Örnek iş mantığımız: Ünitelere alınan personellerin giriş yıllı ve mesleklerine göre dağılımlarını görmek istiyoruz.
SQL sorgusu sonucu gelen data aşağıdaki gibidir.

HIREDATE
DNAME
JOB
EMP_COUNT
1982
ACCOUNTING
CLERK
1
1981
ACCOUNTING
MANAGER
1
1981
ACCOUNTING
PRESIDENT
1
1981
RESEARCH
ANALYST
1
1982
RESEARCH
ANALYST
1
1980
RESEARCH
CLERK
1
1983
RESEARCH
CLERK
1
1981
RESEARCH
MANAGER
1
1981
SALES
CLERK
1
1981
SALES
MANAGER
1
1981
SALES
SALESMAN
4


Bu datayı şu şekilde göstermek istediğimizi varsayalım.

Şimdi bunu Jasper Report aracıyla nasıl yaptığımızı adım adım inceleyelim.
1) Ireport u aç.
2) File->New.. ->Launch Report Wizard düğmesine tıkla
3) Rapora isim ver->Next
4) Connection/Datasource dan bağlantıyı seç. Query(SQL) alanına sql i yaz
       
SELECT * FROM V_DEPT_JOB

        -> Next
5) Tüm alanları seç->Next
6) Herhangi bir grup seçmeden->Next
7) Finish
8) Summary band dışındaki tüm bandları sil. Raporun son xml hali aşağıdaki gibi olmalıdır.
9) Palet üzerinden bir adet Crosstab bileşeni alıp sürükleyerek Summary bandına bırak.
10) Gelen ekrandan “Main report dataset” i seçili bırakarak->Next
11) Row Group 1 ->Group->HIREDATE i seç. Başka bir şey seçmeden->Next
12) Column Group1->Group->DNAME,
                             Group By->Unique,
Column Group2->Group->JOB,
                          Group By->Unique seç ->Next
13) Data->Measure->EMP_COUNT
               Function->Sum ->Next
14) Finish. Alttaki resimdeki görünüm gelir.


15) Compile Report düğmesine bastığımızda aşağıdaki hataları alırız.
Class not set for bucket : HIREDATE
Class not set for bucket : DNAME
Class not set for bucket : JOB

16) XML görünümüne geçerek,
<bucket>
<bucketExpression><![CDATA[$F{DNAME}]]></bucketExpression>
</bucket>

ifadesini
<bucket class=”java.lang.String”>
<bucketExpression><![CDATA[$F{DNAME}]]></bucketExpression>
</bucket>

olarak düzeltelim. Tekrar Compile Report düğmesine bastığımızda hatalar giderildiğini görürüz.
17) Preview düğmesine tıklayarak yaptığımızda aşağıdaki istediğimiz raporu elde ettiğimizi görürüz.


Anda baru saja membaca artikel yang berkategori Crosstab | çapraz rapor | desicion cube | jasper | jasper report dengan judul Jasper Report’ta Crosstab ile Rapor Oluşturma. Jika kamu suka, janganlike dan bagikan keteman-temanmu ya... By : En Kolay Yolu
Ditulis oleh: Adsız -

Belum ada komentar untuk "Jasper Report’ta Crosstab ile Rapor Oluşturma"

Yorum Gönder