Eclipse BIRT
Eclipse BIRT, czyli Business Intelligence and Reporting Tools jest to system raportowania oparty o framework Eclipse. Silnik ten można zaintegrować z dowolną aplikacją JSE czy JEE. Pakiet zawiera również niezależną bibliotekę do generowania wykresów. Projekt BIRT, oprócz biblioteki do programistycznego tworzenia raportów zawiera także graficzne narzędzia do ich przygotowywania. Zostały one napisane jako pluginy do platformy Eclipse i umożliwiają proste tworzenie (m.in. obsługa drag&drop), testowanie raportów z poziomu Eclipse czy zarządzanie źródłami danych. W tym artykule postaram się przedstawić krok po kroku jak zacząć pracę w tym środowisku.
Instalacja
BIRT jest rozpowszechniany jako zestaw pluginów do Eclipse’a. Jest ich jednak stosunkowo dużo i żeby cieszyć się pełną platformą raportową trzeba się trochę naklikać. W związku z tym eclipse wyszło naprzeciw zapotrzebowaniu i udostępniło gotową paczkę eclipse’a przygotowaną do pracy. Wystarczy tylko ją ściągnąć i rozpakować, jak wiemy eclipse nie wymaga instalacji.
Tworzymy raport
Po uruchomieniu eclipse’a pierwszym krokiem jest utworzenie projektu. Tworzymy go zatem wybierając zakładkę “Business Intelligence and Reporting Tools” i jako projekt – “Report Project” (rys. 1). Po utorzeniu projektu przechodzimy do perspektywy “Report Design” i dodajemy do projektu nowy dokument raportu (rys. 2). Naszym oczom ukaże się wizard do wyboru typu raportu z predefiniowanych już typów lub wybać pusty dokument. Spróbujmy stworzyć raport z danymi łącznie z wykresem (rys. 3). Po podaniu wszystkich informacji w tym wizardzie w głównym oknie ukazuje się template raportu (rys. 4).
Dane do raportu
Kolejnym krokiem jest zdefiniowanie danych służących do uzupełnienia raportu. Na początku dodajemy DataSource. Na potrzeby artykułu wykorzystam predefiniowane dane, dostarczane wraz z dystrybucją BIRTa. Klikamy na widok “Data Explorer” – i tam dodajemy nowy DataSource wybierając jako źródło danych “Classic Models Inc.” (rys. 5). Następnie na widoku “Data Explorer” dodajemy nowy DataSet. Jako dataSource wybieramy dodany powyżej DataSource (rys. 6). Podczas dodawania DataSet musimy podać zapytanie SQL które zwróci nam potrzebne dane do raportu (możliwe jest także wywołanie procedury składowanej). Po przejrzeniu danych zawartych w wybranej bazie danych postanowiłem zrobić zestawienie ilości zamówień w poszczególnych miesiącach z podziałem na lata. Żeby to osiągnąć napisałem odpowiednie zapytanie (rys. 7). Możemy podejrzeć wyniki zapytania na zakładce “Preview Results” (rys. 8).
Definiowanie layoutu raportu
Kolejnym krokiem jest umieszczenie danych na raporcie. Klikamy na tabeli raportu tak żeby podświetlić całą jego zawartość i następnie wybieramy “Edit Data Binding”. Tam powinny się znaleźć wszystkie pola które chcemy wykorzystać w naszym raporcie (rys. 9). Kolejnym etapem jest zdefiniowanie grup oraz ustawienie pól w raporcie. Grupę definiujemy poprzez wybranie pozycji “Edit group” całej tabeli. Ja chcę grupować dane po roku złożenia zamówienia – więc podaję pole “YEAR_NUMBER” jako wartość grupującą (rys. 10). Ustawienie wyświetlanych danych na raporcie robimy poprzez przeciągnięcie pól widocznych w widoku “Data Explorer” w części “DataSet”. W moim przypadku potrzebuję dwa pola: “MONTH_NUMBER” oraz “ORDERS_NUMBER” – obydwa pola umieszczam w sekcji “Detail” tabeli. W tym momencie layout raportu wygląda jak na rys. 11.
Następnie definiujemy szczegóły wykresu. Robimy to poprzez dwuklik na ikonce wykresu znajdującą się na layoucie raportu. Pojawia się wizard pomocny w definiowaniu danych wykresu. Ja chciałbym wygenerować wykres słupkowy, wybieram zatem interesujący mnie template (rys. 12). Następnie przechodząc na kolejną zakładkę podaję dane do wyświetlania. Chciałbym na osi ‘X’ mieć kolejne miesiące, a na osi ‘Y’ – ilość zamówień w danym miesiącu. Metodą drag&deop ustawiam w ten sposób dane do wykresu (rys. 13).
Podgląd danych
BIRT ma wewnętrzny ‘podglądacz’ – umożliwia on podejrzenie raportu wraz z danymi. Jest to bardzo wygodne, można tej funkcjonalności użyć w każdym momencie pracy w celu przetestowania naniesionych zmian. Preview raportu jest dostępny na zakładce ‘Preview’ głównego okna layoutu raportu. Po wywołaniu widoku naszym oczom ukazuje się raport jak na rys. 14. Jak widać jest on lekko mówiąc – kiepski.
Wygląd raportu
Z rys. 14 widać że raport posiada dane, ale ich prezentacja pozostawia wiele do życzenia. Zajmijmy się zatem definionwaniem layoutu i ustawianiem odpowiednich styli. jest to bardzo proste – każdy obiekt raportu ma swoje odzwierciedlenie w widoku “Outline”. Można tam znaleźć szukane elementy, ich wybór skutkuje podświetleniem odpowiedniego pola w sekcji “Layout”. W menu kontekstowym każdego elementu mamy dostęp do wielu atrybutów – tam też możemy dodawać i zmieniać style (CSS). Raz stworzony styl można użyć wielokrotnie – wystarczy go wybrać z listy. Samo definiowanie styli jest bardzo proste. Dodaję więc style do nagłówka raportu, wiersza grupującego lata, nagłówków kolumn a także samych wierszy. Dodatkowo zmieniam czcionkę dla całego raportu – poprzez edycję predefiniowanego stylu “report”.
Kolejnym krokiem jest kolejność wyświetlania danych. Chciałbym ją zmienić żeby nagłówki kolumn tabeli wyświetlały się bezpośrednio nad wierszami, a grupa określająca rok była ponad wykresem. Nic prostszego – kilka ruchów myszką i efekt widoczny jest od razu.
Następnie wypadałoby zmienić wygenerowane tytuły. Zmieniam więc tytuł raportu, tytuł wykresu i nagłówki kolumn.
Ostatnią rzeczą jest dół raportu. W tym momencie znajduje się tam data, która nie dość że mi niepotrzebna to jeszcze wygląda kiepsko. Zmiana tego także nie nastręcza trudności – przechodzimy na zakładkę “MasterPage” i w jej dolnej części zmieniamy datę na to co nam jest potrzebne.
Efekt końcowy
Po powyższych modyfikacjach udało się wyklikać raport przedstawiony na rys. 15. Wygląda ciut lepiej, prawda?
Konkluzja
Eclipse BIRT jest bardzo ciekawym narzędziem do tworzenia raportów. Posiada bardzo fajny i intuicyjny edytor graficzny, w którym można zdefiniować naprawdę dużo elementów. Jak wygląda w praktyce używanie go w aplikacjach destopowych czy webowych? O tym już wkróce.























October 19th, 2008 at 22:46
A czy możliwe jest podpięcie jako DataSource jakiegos POJO?:)
October 22nd, 2008 at 17:08
Oczywiście że jest możliwe klas POJO i jeszcze kilku innych źródeł danych. Do tego celu wykorzystuje się scripted data source
November 28th, 2008 at 14:05
a jak podpiąc baze db2 do birta? zeby muc uzywac zapytań sqlowych
November 28th, 2008 at 14:35
dobra to było głupie pytanie pożniej zauważyłem ze birt sam znajduje :D
sorry za spam