Pentaho Report Designer - podstawy

Report Desingner jest jednym narzędzi pakietu Pentaho które jest najczęściej niedoceniane. Być może powodem jest to iż wiekszość osób wyobraża sobie Pentano Report Designer jako jeszcze jedno narzędzie do tworzenia statycznych raportów. Tymczasem, jak reklamuje je Hitachi Vitara, jest to "narzędzie graficzne, które generuje raporty na podstawie danych przesyłanych strumieniowo przez silnik PDI (Pentaho Data Integration)". A to oznacza, że Twoje raporty mogą być przygotowane w locie, jako rezultat pracy Pentaho PDI i dynamicznie zmieniać swoją zawartość. Więcej, raz przygotowany szablon mozesz wkomponować we flow Pentaho Kettle i uzyskiwać raporty (w postaci PDF, Excel'a, plików tekstowych, HTML'a...) bez konieczności uruchamiania dedykowanego środowiska.

W czym Report Designer może mi pomóc?

Pentaho Report Designer ułatwia wykonywanie zadań które każdego dnia pojawiają się w biznesie. Kilka przykładów:

  • Plik Excela zawierający podsumowania dla każdego z kontrahentów
  • Mailing do klientów
  • Raport z obrotem każdej dywizji sprzedażowej z podziałem na grupy handlowe uzupełniony wykresami
  • Wygenerowanie i wysyłka faktur do klientów

Uruchamiamy Pentaho Report Designer

Pobieramy program ze strony Hitachi Ventara. Program napisany jest w Java i nie wymaga instalacji. Jednyne czego potrzebujemy, to zainstalowane środowisko Javy - np. JRE. Pobrany plik rozpakowujemy do katalogu na dysku (jedna wersja zarówna dla Linux jak i Windows); np do C:\Pentaho\prd-ce-8.3.0.0-371\

W katalogu "prd-ce-8.2.0.0-342\report-designer" klikamy na "report-designer.bat". Jeśli program nie uruchomi się, zalecane jest wykonanie tego batch'a z linii komend - w ten sposób zobaczysz jaki jest powód błędu w oknie CMD.

Podłączamy źródło danych

Po pierwszym uruchomieniu programu na ekranie pojawi się okno powitalne w którym program zaproponuje wybranie jednej z trzech opcji; kreatora raportu (Report Wizard), nowy raport (New Report) lub wybranie przykładowego raportu z repozytorium przykładów. Ostatnia opcja przydatna jest dla celów edukacyjnych - możesz podejrzeć jak konstruowane są różne typy raportów. Przykłady mozesz w każdej chwili otworzyć z katalogu "prd-ce-8.X\report-designer\samples".

Jeśli z jakichś powodów zamkniesz okno powitalne a chcesz skorzystać opcji tam prezentowanych możesz wybrać "File=>New" lub dla kreatora "File=>Report Design Wizard".

Opcja "Report Design Wizard" to prosty wizard który daje nam możliwość wybory kolorów layout'u raportu i automatycznie otwiera okno definiowania źródła raportu. Wybierzmy opcję "New Report" (lub z menu File=>New"). Zanim zdefiniujemy źródło danych, zapoznajmy się z opcją powiększana/pomniejszania obszaru roboczego (zoom). Domyślnie jest to 100%. Zmianę rozmiaru uzyskujemy stawiając kursor myszy na pasku gdzie napisane jest "100%" i mając wciśnięty lewy klawisz przesuwamy kursor w lewo lub prawo (pomniejszając lub powiekszając obszar roboczy).

Definiujemy źródło danych. W lewym, górnym rogu klikamy na zakładkę "Data" a następnie klikamy prawym przyciskiem myszy na "Data Sets". Pojawi nam się okno wyboru typu źródła danych. Wielu formatów nie znajdziesz na liście. Dlaczego? Dla tych formatów pomostem będzie typ "Pentaho Data Integration". PDI mając sterowniki do różnych typów danych dostarczy nam te dane do PRD. Na potrzeby naszego tutoriala (będziemy łączyć się z bazą danych MySQL - Ty wybierz sobie dostępną) wybieramy "JDBC".

Pamiętaj o tym że Report Designer powinien posiadać odpowiedni sterownik dla danego typu bazy danych. Sterownik ten umieszczasz w katalogu "prd-ce-8.3.0.0-371\report-designer\lib" przed uruchomieniem programu.

Okno pozwala Ci wybrać źródło danych a jeśli takie nie istnieje, zdefiniować je a następnie wybrać. Jeśli nie ma Twojego źródła danych na liście dodaj je klikajać na "+" po prawej stronie przycisku "Edit security". Otworzy się okno definiowania połączenia do bazy danych. Wybierz odpowiedni typ bazy danych i wpisz dane do logowania. Przetestuj połączenie klikając "test" i jeśli połączenie działa, zapisz je klikając na "OK".

Wybieramy zdefiniowane połączenie. Kliknij na znak "+" w prawym, górnym rogu ekranu okna. W oknie "Available Queries" pojawi się wpis "Query 1". Taka domyślna nazwa może Ci niewiele później mówić - zmień nazwę zapytania w oknie poniżej "Query Name".

Definiujemy szczegóły naszego zapytania. W oknie "Query" zakładki "Static Query" klikamy na ikonę pisaka po prawej stronie okna. W rezultacie otworzy nam się nowe okno "SQL Query Designer". Panel w lewym, dolnym obszarze okna zawiera spis tabel naszej bazy danych. Wybieramy porządaną tabelę klikając dwukrotnie na nazwę tabeli. Tabela i jej pola pojawią się w obszarze po prawej. Mozesz wstawić tam wiele tabel, wybrać pola które mają być widoczne w raporcie, użyć relacji między tabelami, wstawić odpowiednie operatory grupujące. Na koniec kliknij "OK". W polu "Query" pojawi się zapytanie SQL. Możesz podejrzeć rezultat klikając na przycisk "Preview". Jeśli wszystko jest OK, klikasz na "OK" zapisując zmiany. Zauważ że w panelu "Data" (prawy, górny róg ekranu) pojawiiło się nowo zdefiniowane źródło danych zawierające wszystkie obiekty tego zapytania.

Umieszczamy pola zapytania na raporcie

Przestrzeń raportu podzielona jest na pięc podstawowych sekcji:

  • Page Header - to nagłowek strony. Obiekty umieszczone w tym miejscu pojawią się na każdej stronie raportu.
  • Report Header - tytuł raportu. Wszystko co umieścimy tutaj pojawi się tylko na stronie tytułowej.
  • Details - szczegóły raportu. Powtarzalne na każdej stronie.
  • Report Footer - podsumowanie raportu. Ostatnia strona
  • Page Footer - stopka każdej ze stron raportu.

Nagłówek i stopka strony zachowują się podobnie jak w dokumencie MS Word - są odpowiednio pierwszymi i ostatnimi elementami na każdej stronie.  Np. nagłówek może zawierać datę raportu a stopka autora.

Umieszczamy tytuł raportu

Wybierz element typu "label" z pionowej belki narzędzi po lewej stronie ekranu (na samej górze - jeśli najedziesz kursorem myszki na elementy belki, wyświetlą się nazwy). Przeciągnij label do sekcji "Report Header". Dwukrotknie kliknij na pole i zamień domyślne słowo "label" na porządaną wartość. Możesz uczynić to na dwa sposoby: zmień bezpośrednio w oknie lub kliknij na trzy kropki po prawej stronie, wtedy otworzy się okno edycji.

Umieszczamy pola z zapytania

W lewym, górnym oknie raportu wybieramy panel "Data" a następnie przeciągamy jeden z elementów naszego zapytania do bazy danych (obiekt "Query X" lub jak przez Ciebie został nazwany) do sekcji "Details". Umieść kolejno wszystkie rządane pola na samej górze tej sekcji. Możesz zmieniać rozmiar pol. Zauważ że jeśli pola zachodzą na siebie, podświetlają się automatycznie na kolor różowy. Zmień dla testu domyślną czcionkę. Możesz wykonać tę oprację jednocześnie dla wszyskich pól trzymając wciśnięty shift i wybierając pola a następnie zmieniając atrybuty tych pól.

Dokładne formatowanie każdego z pól uzyskasz wybierajc pole a następnie wybierając zakładkę "Structure" w lewym, górnym rogu. Następnie w panelu poniżej wybierasz zakładkę "Style" lub " Attributes".

Możesz także zgrupować umieszczane w raporcie pola. W tym celu wybierasz element "band" z paska narzędzi i umieszczasz go na raporcie. Pola które chcesz zgrupować umieszczasz wewnątrz elementu "band". W ten sposób możesz zmieniając czcionkę lub kolor tekstu band, zmieniasz te atrybuty dla wszystkich elementów wewnątrz "band".

Podgląd raportu

W każdej chwili możesz podejrzeć rezultat swojej pracy klikając na zieloną strzałkę "Run" w górnym pasku narzędzi. Po kliknięciu na nią możesz wybrać jeden z formatów podglądu. "Preview" jest najszybszą formą podejrzenia rezultatów pracy.

Zapisywanie raportu

Stworzony raport zapisujesz klikając na ikonkę dyskietki w pasku narzędzi lub wybierając "File=>Save as". Format to *.prpt czyli Pentaho Report Template. Tak przygotowany szablon raportu możesz wykorzystać w transformacji Pentaho Kettle (krok "Pentaho reporting output").

Możliwy jest także eksport zawartości raportu do formatu PDF, MS Excel, CSV, RTF, HTML. W tym celu należy wybrać z menu "File=>Export".

Co dalej?

Powyżej przedstawiliśmy podstawy pracy z Pentaho Report Designer. Jeśli interesujesz się tym narzędziem, zapewne chcesz automatyzować tworzenie raportów. Czytaj o tym więcej w następnym artykule; "Pentaho Report Designer - automatyzowanie raportów".