Kurs 3: Tworzenie raportu zawierającego podraporty wyświetlane obok siebie
W tej sekcji przedstawiono instrukcje, które pokazują krok po kroku sposób budowania raportu zawierającego listę klientów. Dla każdego klienta w raporcie są wyświetlane informacje o zamówieniach i płatnościach. Dane o zamówieniach i płatnościach znajdują się w dwóch osobnych podraportach, wyświetlanych jeden obok drugiego. Raport o klientach jest raportem głównym, zwanym też raportem zewnętrznym, a podraporty dotyczące zamówień i płatności są raportami szczegółowymi, zwanymi też wewnętrznymi.
Każdy z tych raportów pobiera dane z innej tabeli w przykładowej bazie danych firmy Classic Models. Raport o klientach pobiera dane z tabeli Klienci. Podraport zamówień pobiera dane z tabeli Zamowienia. Podraport płatności pobiera dane z tabeli Platnosci.
Raporty są powiązane za pomocą wspólnego pola NUMERKLIENTA. Od wartości pola wiążącego w raporcie głównym zależą dane wyświetlane w raportach szczegółowych. Jeśli na przykład numerem klienta w raporcie głównym jest 173, to w raportach szczegółowych będą wyświetlane informacje o zamówieniach i płatnościach dla klienta o identyfikatorze 173.
Na rysunku 13-1 przedstawiono fragment ostatecznego raportu.
Rysunek 13-1 Główny raport o klientach z podraportami dotyczącymi zamówień i płatności
W ramach tego kursu wykonasz następujące czynności:
Czynność 1: Tworzenie nowego raportu
Jeśli korzystasz z narzędzia do projektowania raportów BIRT, do wykonania tej czynności konieczne jest wcześniejsze utworzenie projektu dla tworzonych raportów. Jeśli korzystasz z narzędzia do projektowania raportów BIRT RCP, tworzenie projektu nie jest konieczne.
- Z menu wybierz opcje Plik->Nowy->Raport.
- W oknie Nowy raport wybierz projekt, w którym raport zostanie zapisany.
- Wpisz następującą nazwę pliku:
- Kliknij przycisk Dalej.
- Wybierz opcję Pusty raport, a następnie kliknij przycisk Zakończ. Nowy raport zostanie wyświetlony w edytorze układu.
Czynność 2: Budowanie źródła danych
Przed przystąpieniem do projektowania raportu w edytorze układu należy utworzyć źródło danych, aby podłączyć raport do bazy danych Classic Models.
- Wybierz panel Eksplorator danych.
- Kliknij węzeł Źródła danych prawym przyciskiem myszy i z menu kontekstowego wybierz Nowe źródło danych.
- Z listy źródeł danych wybierz Przykładowa baza danych firmy Classic Models Inc., zaakceptuj domyślną nazwę źródła danych i kliknij przycisk Dalej. Zostaną wyświetlone informacje dotyczące połączenia nowego źródła danych.
- Kliknij przycisk Zakończ. Zostanie utworzone nowe źródło danych łączące się z przykładową bazą danych. Jest ono wyświetlane w węźle Źródła danych w Eksploratorze danych.
Czynność 3: Budowanie zestawu danych dla raportu o klientach
Celem tej czynności jest utworzenie zestawu danych definiującego zakres danych pobieranych z tabeli Klienci. Z zestawu tego będzie korzystał tworzony w dalszej części kursu raport o klientach.
- W Eksploratorze danych kliknij węzeł Zestawy danych prawym przyciskiem myszy i wybierz opcję Nowy zestaw danych.
- W oknie Nowy zestaw danych wpisz następującą nazwę zestawu danych:
- W pozostałych polach zaakceptuj wartości domyślne:
- Pole Źródło danych zawiera nazwę utworzonego wcześniej źródła danych.
- Wartość w polu Typ zestawu danych oznacza, że zestaw danych będzie oparty na zapytaniu SELECT języka SQL.
- Kliknij przycisk Dalej. W oknie Zapytanie zostaną wyświetlone informacje wspomagające proces tworzenia zapytania SQL. W polu tekstowym z prawej strony wyświetlane są wymagane słowa kluczowe instrukcji SELECT języka SQL.
- Rozwiń węzeł odpowiadający tabeli KLIENCI. Zostaną wyświetlone kolumny tabeli Klienci.
- Wpisz następującą instrukcję SELECT języka SQL, aby zdefiniować zakres pobieranych danych. Można ręcznie wpisywać nazwy kolumn i tabel lub przeciągać wybrane elementy z lewego panelu i upuszczać je w odpowiednich miejscach tekstu instrukcji SELECT.
Utworzona w ten sposób instrukcja (widoczna na
rysunku 13-2) pobiera wartości z kolumn NAZWAKLIENTA i NUMERKLIENTA tabeli KLIENCI.
Rysunek 13-2 Zapytanie
- Kliknij przycisk Zakończ, aby zapisać zestaw danych. W oknie Edytuj zestaw danych zostaną wyświetlone kolumny zdefiniowane w zapytaniu, jak również opcje umożliwiające edycję zestawu danych.
- Kliknij przycisk Podgląd wyników, aby sprawdzić, czy zapytanie jest poprawne i czy zwraca właściwe dane. Jeśli instrukcja SELECT została wprowadzona poprawnie, wyświetlone wyniki powinny być takie jak na rysunku 13-3. Są to wiersze danych zwracane przez zapytanie.
Rysunek 13-3 Podgląd danych
- Kliknij przycisk OK.
Czynność 4: Budowanie zestawu danych dla podraportu zamówień
Celem tej czynności jest utworzenie zestawu danych definiującego zakres danych pobieranych z tabeli Zamowienia. Z zestawu tego będzie korzystał tworzony w dalszej części kursu podraport zamówień.
- W Eksploratorze danych kliknij węzeł Zestawy danych prawym przyciskiem myszy i z menu kontekstowego wybierz opcję Nowy zestaw danych.
- W oknie Nowy zestaw danych wpisz następującą nazwę zestawu danych:
- W pozostałych polach zaakceptuj wartości domyślne, a następnie kliknij przycisk Dalej.
- W oknie Zapytanie rozwiń węzeł odpowiadający tabeli Zamowienia, aby wyświetlić zawarte w niej kolumny.
- Wpisz następującą instrukcję SELECT języka SQL, aby zdefiniować zakres pobieranych danych:
Powyższa instrukcja spowoduje wybranie z tabeli Zamowienia kolumn NUMERZAMOWIENIA i DATAZAMOWIENIA. Klauzula WHERE zawiera znacznik parametru jako wartość kolumny NUMERKLIENTA. Gdy raport zostanie uruchomiony, aktualna wartość w kolumnie NUMERKLIENTA zostanie przez podraport zamówień pobrana z raportu o klientach.
- Kliknij przycisk Zakończ, aby zapisać zestaw danych. W oknie Edytuj zestaw danych zostaną wyświetlone kolumny zdefiniowane w zapytaniu, jak również opcje umożliwiające edycję zestawu danych.
- Utwórz parametr zestawu danych, za pośrednictwem którego wartość kolumny NUMERKLIENTA zostanie przekazana do klauzuli WHERE:
- Z lewej strony okna wybierz pozycję Parametry. W oknie Edytuj zestaw danych zostaną wyświetlone informacje na temat parametrów.
- Podaj następujące wartości w pierwszym wierszu tabeli:
- Nazwa: IDKlienta
- Typ danych: Liczba całkowita
- Kierunek: Wejście
- Wartość domyślna: 103
103 jest jedną z wartości w kolumnie NUMERKLIENTA. Podanie wartości domyślnej jest konieczne, aby było możliwe testowe wykonanie zapytania.
Zawartość okna Edytuj zestaw danych powinna wyglądać tak jak na
rysunku 13-4.
Rysunek 13-4 Definicja parametrów w podraporcie zamówień
- Kliknij przycisk Podgląd wyników, aby sprawdzić, czy zapytanie jest poprawne i czy zwraca właściwe dane. Jeśli poprawnie wprowadzono instrukcję SELECT i zdefiniowano parametr zestawu danych, wyświetlone wyniki powinny być takie jak na rysunku 13-5. Są to wiersze danych zwracane przez zapytanie dla klienta numer 103.
Rysunek 13-5 Podgląd danych podraportu zamówień
- Kliknij przycisk OK, aby zapisać zmiany wprowadzone w zestawie danych.
Czynność 5: Budowanie zestawu danych dla podraportu płatności
Celem tej czynności jest utworzenie zestawu danych definiującego zakres danych pobieranych z tabeli Platnosci. Z zestawu tego będzie korzystał tworzony w dalszej części kursu podraport płatności.
- W Eksploratorze danych kliknij węzeł Zestawy danych prawym przyciskiem myszy i z menu kontekstowego wybierz opcję Nowy zestaw danych.
- W oknie Nowy zestaw danych wpisz następującą nazwę zestawu danych:
- W pozostałych polach zaakceptuj wartości domyślne, a następnie kliknij przycisk Dalej.
- W oknie Zapytanie rozwiń węzeł odpowiadający tabeli Platnosci, aby wyświetlić zawarte w niej kolumny.
- Wpisz następującą instrukcję SELECT języka SQL, aby zdefiniować zakres pobieranych danych:
Powyższa instrukcja spowoduje wybranie z tabeli Platnosci kolumn DATAPLATNOSCI, NUMERCZEKU i KWOTA. Klauzula WHERE zawiera znacznik parametru jako wartość kolumny NUMERKLIENTA. Gdy raport zostanie uruchomiony, aktualna wartość w kolumnie NUMERKLIENTA zostanie przez podraport płatności pobrana z raportu o klientach.
- Kliknij przycisk Zakończ, aby zapisać zestaw danych. W oknie Edytuj zestaw danych zostaną wyświetlone kolumny zdefiniowane w zapytaniu, jak również opcje umożliwiające edycję zestawu danych.
- Utwórz parametr zestawu danych, za pośrednictwem którego wartość kolumny NUMERKLIENTA zostanie przekazana do klauzuli WHERE:
- Kliknij przycisk Parametry. W oknie Edytuj zestaw danych zostaną wyświetlone informacje na temat parametrów.
- Podaj następujące wartości w pierwszym wierszu tabeli:
- Kliknij przycisk Podgląd wyników, aby sprawdzić, czy zapytanie jest poprawne i czy zwraca właściwe dane. Jeśli poprawnie wprowadzono instrukcję SELECT i zdefiniowano parametr zestawu danych, wyświetlone wyniki powinny być takie jak na rysunku 13-6. Są to wiersze danych zwracane przez zapytanie dla klienta numer 103.
Rysunek 13-6 Podgląd danych podraportu płatności
- Kliknij przycisk OK, aby zapisać zmiany wprowadzone w zestawie danych.
Czynność 6: Tworzenie głównego raportu o klientach
Do utworzenia raportu głównego i ułożenia w jego obrębie podraportów zamówień i płatności można wykorzystać element listy. W ramach tej listy będą pobierane kolejne wiersze danych o klientach i dla każdego rekordu zostaną utworzone powiązane podraporty zamówień i płatności. Dla uproszczenia w przykładowym raporcie o klientach będzie wyświetlana tylko nazwa klienta. Raport może oczywiście zawierać również inne informacje, na przykład adres, numer telefonu lub limit kredytowy.
- Kliknij panel Paleta.
- Przeciągnij element listy z palety i upuść go na układzie raportu. Element listy zostanie wyświetlony w raporcie, co pokazano na rysunku 13-7.
Rysunek 13-7 Element listy
- Powiąż listę z zestawem danych Klienci:
- W edytorze właściwości kliknij zakładkę Powiązanie.
- W polu Zestaw danych wybierz z listy rozwijanej opcję Klienci.
- Przejdź do Eksploratora danych i rozwiń kolejno węzły Zestawy danych i Klienci. W obrębie węzła Klienci zostaną wyświetlone kolumny wskazane w zapytaniu.
- Z Eksploratora danych przeciągnij kolumnę NAZWAKLIENTA i upuść ją na obszarze szczegółów listy. Zostanie utworzona nazwana kolumna powiązana z tym polem zestawu danych. Powiązanie to jest widoczne w oknie Wybierz powiązanie danych.
- Kliknij OK, aby zaakceptować domyślne powiązanie kolumny. W edytorze układu wyświetlana jest lista zawierająca dodane pole, co pokazano na rysunku 13-8.
Rysunek 13-8 Pole zestawu danych w elemencie listy
- Wybierz widok Podgląd, aby zobaczyć podgląd raportu. Raport powinien wyglądać tak jak na rysunku 13-9. Raport zawiera wszystkie nazwy klientów w kolejności zwracanej przez zapytanie.
Rysunek 13-9 Podgląd danych raportu głównego
- Posortuj nazwy klientów w porządku rosnącym:
- Wybierz widok Układ, aby powrócić do edytora układu.
- W edytorze układu zaznacz element listy. Umieść kursor myszy w lewej dolnej części listy, aż pojawi się zakładka Lista, a następnie kliknij tę zakładkę.
- W edytorze właściwości kliknij zakładkę Sortowanie.
- Na stronie Sortowanie kliknij przycisk Dodaj, aby zdefiniować wyrażenie sortujące. W polu Sortuj zostanie wyświetlony wiersz.
- Kliknij obszar poniżej pola Klucz sortowania, kliknij wyświetlony tam przycisk strzałki i z listy rozwijanej wybierz opcję NAZWAKLIENTA.
- W polu Kierunek sortowania zaakceptuj domyślną wartość Rosnąco, zgodnie z rysunkiem 13-10.
Rysunek 13-10 Wyrażenie sortujące
- Wyświetl podgląd raportu. Nazwy klientów są wyświetlane w porządku rosnącym.
Czynność 7: Tworzenie podraportu zamówień
W podraporcie zamówień wyświetlane są zamówienia każdego klienta, przedstawione w układzie tabelarycznym (wiersze i kolumny). Wyświetlany jest numer i data każdego zamówienia. Do wyświetlania kolejnych wierszy zestawu danych zamówień w układzie tabelarycznym zostanie wykorzystany element tabeli.
- Wybierz widok Układ, aby powrócić do edytora układu.
- Przeciągnij element tabeli z palety i upuść go w obszarze danych szczegółowych, poniżej elementu danych [NAZWAKLIENTA]. Zostanie wyświetlone okno Wstaw tabelę, umożliwiające określenie liczby kolumn i wierszy w tworzonej tabeli.
- Podaj 2 kolumny i 1 wiersz, a następnie kliknij przycisk OK. W edytorze układu zostanie wyświetlona tabela zawierająca dwie kolumny i jeden wiersz danych.
- Powiąż tabelę z zestawem danych Zamówienia:
- W edytorze właściwości kliknij zakładkę Powiązanie.
- W polu Zestaw danych wybierz z listy rozwijanej opcję Zamówienia.
- Przejdź do Eksploratora danych i rozwiń kolejno węzły Zestawy danych i Zamówienia. W obrębie węzła Zamówienia zostaną wyświetlone kolumny wskazane w zapytaniu.
- Z Eksploratora danych przeciągnij kolumnę NUMERZAMOWIENIA i upuść ją na pierwszej komórce wiersza danych tabeli. Zostanie utworzona nazwana kolumna powiązana z tym polem zestawu danych. Powiązanie to jest widoczne w oknie Wybierz powiązanie danych.
- Kliknij OK, aby zaakceptować domyślne powiązanie kolumny.
Widoczna w edytorze układu komórka tabeli, na którą zostało upuszczone pole zestawu danych, będzie teraz zawierać element danych wyświetlający wartość [NUMERZAMOWIENIA]. Powyżej tego elementu danych wyświetlany jest element etykiety, automatycznie dodawany do wiersza nagłówka. Etykieta ta zawiera nazwę pola w postaci tekstu statycznego i pełni funkcję nagłówka kolumny.
- Z Eksploratora danych przeciągnij pole DATAZAMOWIENIA i upuść je na drugiej komórce wiersza danych szczegółowych tabeli. Kliknij OK, aby zaakceptować domyślne powiązanie kolumny. Strona raportu powinna wyglądać tak jak na rysunku 13-11.
Rysunek 13-11 Projekt raportu z dołączonym podraportem zamówień
- Posortuj wiersze zamówień według numeru zamówienia:
- Zaznacz tabelę zamówień.
- W edytorze właściwości kliknij zakładkę Sortowanie.
- Na stronie Sortowanie kliknij przycisk Dodaj, aby zdefiniować wyrażenie sortujące. W polu Sortuj zostanie wyświetlony wiersz.
- Kliknij obszar poniżej pola Klucz sortowania, kliknij wyświetlony tam przycisk strzałki i z listy rozwijanej wybierz opcję NUMERZAMOWIENIA.
- W polu Kierunek sortowania zaakceptuj domyślną wartość Rosnąco.
- Wyświetl podgląd raportu.
Rysunek 13-12 Podgląd raportu z powtarzającymi się rekordami zamówień
Dla każdego klienta wyświetlane są te same rekordy zamówień, gdyż podczas tworzenia parametru zestawu danych IDKlienta została podana wartość domyślna pola numerKlienta, równa 103. Właśnie z powodu podania wartości domyślnej w podraporcie zamówień są zawsze wyświetlane rekordy zamówienia dla klienta numer 103.
Rozwiązaniem jest dynamiczna aktualizacja wartości parametru IDKlienta przy każdej zmianie wiersza klienta w raporcie głównym. Procedura ta jest opisana w kolejnej czynności.
Czynność 8: Połączenie podraportu zamówień z głównym raportem o klientach
Łączenie podraportu zamówień z głównym raportem o klientach polega na powiązaniu parametru IDKlienta z polem zestawu danych NUMERKLIENTA w raporcie o klientach. Wartość parametru IDKlienta będzie dzięki temu aktualizowana nową wartością pola NUMERKLIENTA przy każdym przejściu raportu o klientach do nowego wiersza.
Aby było możliwe powiązanie parametru IDKlienta z polem zestawu danych NUMERKLIENTA, należy zdefiniować powiązanie kolumny, wiążąc ją z polem zestawu danych. Nie jest możliwe bezpośrednie pobieranie danych z zestawu danych do parametrów.
- Wybierz widok Układ, aby powrócić do edytora układu.
- Utwórz powiązanie kolumny z polem zestawu danych NUMERKLIENTA:
- Wybierz listę.
- W edytorze właściwości kliknij zakładkę Powiązanie.
- Na karcie Powiązanie kliknij przycisk Dodaj.
- W oknie programu budującego wyrażenia wybierz kolejno opcje Dostępne zestawy danych i Klienci, a następnie dwukrotnie kliknij pozycję NUMERKLIENTA. Zostanie wyświetlone wyrażenie dataSetRow["NUMERKLIENTA"], tak jak na rysunku 13-13.
Rysunek 13-13 Wyrażenie powiązania kolumny widoczne w oknie programu budującego wyrażenia
- Kliknij przycisk OK. Nowe powiązanie kolumny będzie wyświetlane na karcie Powiązanie w edytorze właściwości, z podświetloną nazwą kolumny.
- Zastąp nazwę Nowe powiązanie następującą nazwą:
- Zaznacz tabelę zamówień.
- W edytorze właściwości kliknij zakładkę Powiązanie.
- Na karcie Powiązanie kliknij opcję Powiązanie parametru zestawu danych. W panelu Powiązanie parametru zestawu danych zostanie wyświetlony parametr IDKlienta, co pokazano na rysunku 13-14. Zostanie ustawiona wartość domyślna tego parametru (103), podana podczas tworzenia parametru zestawu danych.
Rysunek 13-14 Powiązanie parametru zestawu danych dla tabeli zamówień
- Zmień wartość parametru na pole NUMERKLIENTA raportu o klientach:
- Kliknij pole Wartość, a następnie kliknij przycisk, który pojawi się po jego prawej stronie.
Zostanie wyświetlone okno programu budującego wyrażenia.
- W oknie programu budującego wyrażenia kliknij kolejno opcje Dostępne powiązania kolumn i Lista, a następnie dwukrotnie kliknij pozycję NUMER_KLIENTA. Zostanie wyświetlone wyrażenie row["NUMER_KLIENTA"], tak jak na rysunku 13-15.
Rysunek 13-15 Pole NUMERKLIENTA w oknie programu budującego wyrażenia
- Kliknij OK, aby zapisać wyrażenie. Na karcie Powiązanie parametru zestawu danych będzie wyświetlana nowa wartość parametru IDKlienta, czyli row["NUMER_KLIENTA"].
- Kliknij przycisk OK, aby zapisać wprowadzone zmiany powiązania parametru zestawu danych.
- Wyświetl podgląd raportu, który powinien wyglądać tak jak na rysunku 13-16.
Rysunek 13-16 Podgląd raportu z poprawnymi danymi o zamówieniach
Czynność 9: Tworzenie podraportu zamówień
W podraporcie płatności wyświetlane są płatności dokonane przez poszczególnych klientów, przedstawione w układzie tabelarycznym (wiersze i kolumny). Wyświetlane informacje to data płatności, numer czeku oraz kwota zamówienia. Do wyświetlania kolejnych wierszy zestawu danych płatności w układzie tabelarycznym zostanie wykorzystany element tabeli.
- Wybierz widok Układ, aby powrócić do edytora układu.
- Przeciągnij element tabeli z palety i upuść go w obszarze danych poniżej podraportu zamówień. Zostanie wyświetlone okno Wstaw tabelę, umożliwiające określenie liczby kolumn i wierszy w tworzonej tabeli.
- Podaj 3 kolumny i 1 wiersz, a następnie kliknij przycisk OK. W edytorze układu zostanie wyświetlona tabela zawierająca trzy kolumny i jeden wiersz danych.
- Powiąż tabelę z zestawem danych Płatności:
- W edytorze właściwości kliknij zakładkę Powiązanie.
- W polu Zestaw danych wybierz z listy rozwijanej opcję Płatności.
- Przejdź do Eksploratora danych i rozwiń kolejno węzły Zestawy danych i Płatności. W obrębie węzła Płatności zostaną wyświetlone kolumny wskazane w zapytaniu.
- Przeciągnij z Eksploratora danych pola wymienione poniżej i upuść je kolejno na pierwszej, drugiej i trzeciej komórce wiersza danych tabeli. Kliknij OK, aby zaakceptować domyślne powiązania kolumny dla wszystkich pól.
- DATAPLATNOSCI
- NUMERCZEKU
- KWOTA
Rysunek 13-17 Projekt raportu z dołączonym podraportem płatności
W tabeli są wyświetlane dodane pola zestawu danych. Wyświetlane są również etykiety, które edytor układu automatycznie dodaje do wiersza nagłówka. Etykiety zawierają nazwy pól jako tekst statyczny i pełnią funkcję nagłówków kolumn.
- Posortuj wiersze płatności według daty płatności.
- Zaznacz tabelę płatności.
- W edytorze właściwości kliknij zakładkę Sortowanie.
- Na stronie Sortowanie kliknij przycisk Dodaj, aby zdefiniować wyrażenie sortujące. W polu Sortuj zostanie wyświetlony wiersz.
- Kliknij obszar poniżej pola Klucz sortowania, kliknij wyświetlony tam przycisk strzałki i z listy rozwijanej wybierz opcję DATAPLATNOSCI.
- W polu Kierunek sortowania zaakceptuj domyślną wartość Rosnąco.
- Wyświetl podgląd raportu. Raport powinien wyglądać tak jak na rysunku 13-18.
Rysunek 13-18 Podgląd raportu z powtarzającymi się rekordami płatności
Podobnie jak po utworzeniu pierwszej wersji podraportu zamówień, również teraz dla każdego klienta wyświetlane są te same rekordy płatności, gdyż podczas tworzenia parametru zestawu danych IDKlienta została podana wartość domyślna pola numerKlienta, równa 103. Właśnie z powodu podania wartości domyślnej w podraporcie płatności są zawsze wyświetlane rekordy płatności dla klienta numer 103.
Podobnie jak w przypadku podraportu zamówień, wartość parametru IDKlienta powinna być dynamicznie aktualizowana dla każdego klienta w raporcie głównym.
Czynność 10: Połączenie podraportu płatności z głównym raportem o klientach
Łączenie podraportu płatności z głównym raportem o klientach polega na powiązaniu parametru IDKlienta z polem zestawu danych NUMERKLIENTA w raporcie o klientach.
- Wybierz widok Układ, aby powrócić do edytora układu.
- Zaznacz tabelę płatności.
- W edytorze właściwości kliknij zakładkę Powiązanie.
- Na karcie Powiązanie kliknij opcję Powiązanie parametru zestawu danych. W panelu Powiązanie parametru zestawu danych zostanie wyświetlony parametr IDKlienta. Zostanie ustawiona wartość domyślna tego parametru (103), podana podczas tworzenia parametru zestawu danych.
- Zmień wartość parametru na pole NUMERKLIENTA raportu o klientach:
- Kliknij pole Wartość, a następnie kliknij przycisk, który pojawi się po jego prawej stronie.
- W oknie programu budującego wyrażenia kliknij kolejno opcje Dostępne powiązania kolumn i Lista, a następnie dwukrotnie kliknij pozycję NUMER_KLIENTA. Zostanie wyświetlone wyrażenie row["NUMER_KLIENTA"].
- Kliknij OK, aby zapisać wyrażenie. Na karcie Powiązanie parametru zestawu danych będzie wyświetlana nowa wartość parametru IDKlienta, czyli row["NUMER_KLIENTA"].
- Kliknij przycisk OK, aby zapisać wprowadzone zmiany powiązania parametru zestawu danych.
- Wyświetl podgląd raportu. Teraz w raporcie wyświetlane są różne rekordy płatności dla różnych klientów. Nie wszyscy klienci mają jednak rekordy płatności. Aby wyświetlać wyłącznie klientów mających płatności lub zamówienia, należy zmienić zapytanie dla raportu o klientach.
Czynność 11: Wyświetlanie tylko tych klientów, którzy mają zamówienia lub płatności
W bazie danych znajdują się klienci, którzy nie mają zamówień ani płatności. Zapytanie skierowane do raportu o klientach zwraca wszystkie rekordy klientów. Podczas wykonywania raportu, dla niektórych rekordów klientów w tabelach zamówień i płatności wyświetlane są jedynie nagłówki, co widać na rysunku 13-19.
Rysunek 13-19 Dla jednego z klientów w raporcie nie są wyświetlane żadne dane o zamówieniach ani płatnościach
Aby wyłączyć wyświetlanie klientów, którzy nie mają żadnych zamówień ani płatności, trzeba zmienić treść zapytania do raportu o klientach.
- Wybierz widok Układ, aby powrócić do edytora układu.
- W Eksploratorze danych rozwiń węzeł Zestawy danych, prawym przyciskiem myszy kliknij pozycję Klienci i z menu kontekstowego wybierz opcję Edytuj.
- Na końcu istniejącego zapytania SQL dopisz następujące wiersze:
W klauzuli WHERE EXISTS sprawdzane jest istnienie w tabelach Zamowienia i Platnosci wartości kolumny numerKlienta odpowiadających wartościom kolumny numerKlienta w tabeli Klienci. Pobierane są wyłącznie wiersze o pasujących wartościach w polu numerKlienta. Pełna treść zapytania powinna wyglądać tak jak na
rysunku 13-20.
Rysunek 13-20 Klauzula WHERE EXISTS widoczna w polu Edytuj zestaw danych
- Kliknij przycisk Podgląd wyników, aby upewnić się, że zapytanie zwraca odpowiednie wiersze, a następnie kliknij przycisk OK.
- Wyświetl podgląd raportu. Przewiń okno raportu, aby sprawdzić poprawność wyników. Klienci nieposiadający zamówień ani płatności nie są już wyświetlani w raporcie.
Czynność 12: Wyświetlanie podraportów obok siebie
Skoro podraporty wyświetlają już poprawne dane, można się zająć ułożeniem ich jeden obok drugiego. Nie jest możliwe ułożenie dwóch tabel obok siebie, gdyż narzędzie do projektowania raportów BIRT tworzy elementy blokowe, co oznacza, że każdy element zaczyna się od nowego wiersza. Aby wyświetlić tabele obok siebie, trzeba je wstawić do siatki. Siatka umożliwia łatwe układanie elementów.
- Wybierz widok Układ, aby powrócić do edytora układu.
- Przeciągnij element siatki z palety i upuść go na wierszu szczegółów powyżej tabeli zamówień. Zostanie wyświetlone okno Wstaw siatkę, umożliwiające określenie liczby kolumn i wierszy w tworzonej siatce.
- Wpisz 2 w polu Liczba kolumn oraz 1 w polu Liczba wierszy, a następnie kliknij przycisk OK.
W edytorze układu zostanie wyświetlona siatka zawierająca dwie kolumny i jeden wiersz.
- Przenieś tabelę zamówień do pierwszej komórki siatki. W tym celu kliknij zakładkę Tabela w lewym dolnym rogu tabeli, a następnie przeciągnij tabelę i upuść ją na komórce siatki.
- Przenieś tabelę płatności do drugiej komórki siatki. Układ raportu powinien wyglądać tak jak na rysunku 13-21.
Rysunek 13-21 Raporty wyświetlane obok siebie w projekcie raportu
- Wyświetl podgląd raportu. Raport powinien wyglądać tak jak na rysunku 13-22.
Rysunek 13-22 Podgląd raportu z podraportami wyświetlanymi obok siebie
Czynność 13: Formatowanie raportu
Skoro raport wyświetla już poprawne dane w odpowiednim układzie, można się zająć udoskonaleniem jego estetyki. W tej sekcji zostaną opisane następujące czynności:
Podświetlanie nazw klientów
- Wybierz widok Układ, aby powrócić do edytora układu.
- W edytorze układu zaznacz element danych [NAZWAKLIENTA].
- W edytorze właściwości kliknij zakładkę Właściwości.
- Z listy w polu Właściwości wybierz opcję Ogólne. W edytorze właściwości zostaną wyświetlone ogólne właściwości formatowania elementu danych.
- W polu Wielkość wybierz opcję Duża, aby wyświetlać tekst elementu w większym rozmiarze. Tekst zostanie powiększony.
- Kliknij przycisk B, aby tekst był wyświetlany jako pogrubiony. Tekst zostanie pogrubiony.
Edycja nagłówków kolumn
W chwili wstawienia pola zestawu danych do tabeli, narzędzie do projektowania raportów BIRT automatycznie dodaje w wierszu nagłówka etykietę zawierającą nazwę wstawionego pola. Nazwy zestawów danych często nie nadają się do bezpośredniego wykorzystania w raportach, stąd też konieczność zmiany tekstu etykiety.
- Dwukrotnie kliknij nagłówek pierwszej kolumny w tabeli zamówień. Tekst zostanie podświetlony.
- Zamiast tekstu NUMERZAMOWIENIA wpisz następujący tekst i naciśnij klawisz Enter:
- Powtórz powyższe kroki, aby zmienić nagłówki kolejnych kolumn na:
Rysunek 13-23 Projekt raportu po zmianie nagłówków kolumn
- Wyświetl podgląd raportu. Raport powinien wyglądać tak jak na rysunku 13-24.
Rysunek 13-24 Podgląd raportu po zmianie nagłówków kolumn
Zmiana formatów daty
Elementy danych zawierające daty są domyślnie wyświetlane według ustawień narodowych systemu. Narzędzie do projektowania raportów BIRT udostępnia jednak wiele innych formatów daty, które można wykorzystać zamiast formatu domyślnego. Wykonując tę procedurę, utworzysz styl zmieniający format wyświetlania pól DATAZAMOWIENIA i DATAPLATNOSCI z 2005-06-03 0:00 na 03.06.2005.
- Wybierz widok Układ, aby powrócić do edytora układu.
- Zaznacz element danych wyświetlający tekst [DATAZAMOWIENIA].
- Z menu głównego wybierz opcje Element->Nowy styl. W oknie Nowy styl zostaną wyświetlone dostępne właściwości stylu, tak jak pokazano na rysunku 13-25.
Rysunek 13-25 Okno Nowy styl
- W polu Styl niestandardowy wpisz:
- Z listy właściwości stylu z lewej strony wybierz opcję Formatuj datę i czas.
- Z listy rozwijanej wybierz format dd.mm.rrrr. Wartości na liście rozwijanej są automatycznie aktualizowane datą bieżącą.
- Kliknij przycisk OK.
Styl Dane_daty zostanie zastosowany do elementu danych [DATAZAMOWIENIA], co widać na
rysunku 13-26.
Rysunek 13-26 Wynik zastosowania stylu Dane_daty do elementu danych
- Zastosuj styl Dane_daty do elementu danych płatności.
- Zaznacz element danych wyświetlający tekst [DATAPLATNOSCI], zgodnie z rysunkiem 13-27.
Rysunek 13-27 Zaznaczenie elementu [DATAPLATNOSCI]
- Kliknij zaznaczony element prawym przyciskiem myszy i z menu kontekstowego wybierz opcje Styl->Zastosuj styl->Dane_daty.
- Wyświetl podgląd raportu. Format wyświetlania dat został zmieniony z 2005-06-03 0:00 na 03.06.2005.
Zmiana formatów liczbowych
Elementy danych zawierające liczby są domyślnie wyświetlane według ustawień narodowych systemu. Narzędzie do projektowania raportów BIRT udostępnia jednak wiele innych formatów liczbowych, które można wykorzystać zamiast formatu domyślnego. Wykonując tę procedurę, utworzysz styl zmieniający format wyświetlania pól kwot z 48425,69 na $48 425,69.
- Wybierz widok Układ, aby powrócić do edytora układu.
- Zaznacz element danych wyświetlający tekst [KWOTA] w tabeli płatności.
- Z menu głównego wybierz opcje Element->Nowy styl. W oknie Nowy styl zostaną wyświetlone właściwości ogólne.
- W polu Styl niestandardowy wpisz:
- Z listy właściwości stylu z lewej strony wybierz opcję Formatowanie liczb.
- W polu Formatuj liczby jako wybierz z listy rozwijanej opcję Waluta.
- W polu Miejsca dziesiętne zaakceptuj domyślną wartość 2.
- Zaznacz pole Używaj separatora tysięcy.
- W polu Symbol wybierz z listy rozwijanej symbol $.
- Zaakceptuj wartości domyślne pozostałych atrybutów.
Rysunek 13-28 Właściwości formatowania liczb
- Kliknij przycisk OK. Styl Dane_waluty zostanie zastosowany do elementu danych [KWOTA], co sygnalizuje widoczna w edytorze właściwości wartość właściwości Styl tego elementu.
- Wyświetl podgląd raportu. Liczby są wyświetlane w formacie waluty, co pokazano na rysunku 13-29.
Rysunek 13-29 Format waluty w podglądzie raportu
Zwiększanie odstępu w pionie między elementami
W ramach tej procedury zostaną zwiększone odstępy między nazwą klienta a liniami wyświetlanymi przed nią i po niej. Odstępy w pionie między elementami można zmodyfikować kilkoma metodami:
- Można zwiększyć górne lub dolne dopełnienie lub marginesy elementów.
- Można ułożyć elementy w siatce i odpowiednio dostosować wysokości wierszy siatki.
- Można ułożyć elementy w siatce i regulować odstępy między nimi za pomocą pustych wierszy o określonej wysokości.
Formatowanie z wykorzystaniem siatki jest łatwiejsze i daje bardziej przewidywalne rezultaty. Zmiany wartości właściwości dopełnienia i marginesów mogą dawać różne wyniki w różnych przeglądarkach. Poniżej opisano trzecią metodę.
- Wybierz widok Układ, aby powrócić do edytora układu.
- Umieść element danych [NAZWAKLIENTA] w siatce zawierającej dwie tabele, wykonując następujące czynności:
- Zaznacz siatkę. Umieść kursor myszy w lewej dolnej części siatki, aż pojawi się zakładka Siatka, a następnie kliknij tę zakładkę. Wzdłuż górnej i lewej krawędzi zaznaczonej siatki zostaną wyświetlone komórki prowadzące.
W edytorze układu są wyświetlane zarysy poszczególnych elementów danych, siatek, tabel i komórek, co niekiedy utrudnia określenie dokładnego położenia elementu. Aby uzyskać dokładniejszy widok kontenerów i elementów w nich zawartych, skorzystaj z widoku Schemat, w którym projekt raportu jest wyświetlany w układzie drzewiastym. Z widoku Schemat można też skorzystać w celu zaznaczenia elementu, który jest trudno dostępny w układzie raportu. Trudności może na przykład sprawiać wybranie siatki, a nie tabeli w niej umieszczonej. Aby otworzyć widok Schemat, wybierz z menu opcje Okna->Pokaż widok->Schemat.
- Prawym przyciskiem myszy kliknij komórkę prowadzącą z lewej strony pierwszego wiersza siatki i z menu kontekstowego wybierz opcje Wstaw->Wiersz->Powyżej, zgodnie z rysunkiem 13-30.
Rysunek 13-30 Wstawianie nowego wiersza
Powyżej zaznaczonego wiersza zostanie wyświetlony nowy wiersz.
- Przenieś element danych [NAZWAKLIENTA] z jego dotychczasowego położenia do pierwszej komórki nowego wiersza siatki, tak jak pokazano na rysunku 13-31.
Rysunek 13-31 Element danych po przeniesieniu do nowego wiersza
- Powtarzając powyższe kroki, dodaj po jednym nowym wierszu powyżej i poniżej wiersza zawierającego element danych [NAZWAKLIENTA].
- Wybierz siatkę i zaznacz pierwszy jej wiersz, tak jak pokazano na rysunku 13-32.
Rysunek 13-32 Zaznaczenie pierwszego wiersza
- W sekcji Właściwości ogólne w edytorze właściwości ustaw wysokość wiersza na 0,2 cala, zgodnie z rysunkiem 13-33.
Rysunek 13-33 Ustawianie właściwości wysokości wiersza
- Zaznacz trzeci wiersz siatki i ustaw jego wysokość na 0,1 cala. Układ raportu powinien wyglądać tak jak na rysunku 13-34.
Rysunek 13-34 Wiersze po zmianie wysokości w projekcie raportu
- Wyświetl podgląd raportu. Odstępy nad i pod nazwą klienta zostały zwiększone. Raport powinien wyglądać tak jak na rysunku 13-35.
Rysunek 13-35 Podgląd raportu z dodanymi odstępami
Zwiększanie odstępu w poziomie między tabelami zamówień i płatności
W ramach tej procedury zostanie zwiększony odstęp między tabelami zamówień i płatności. Podobnie jak w przypadku odstępów w pionie, odstępy w poziomie między elementami można modyfikować kilkoma metodami:
- Można zwiększyć lewe lub prawe dopełnienie lub marginesy elementów.
- Można ułożyć elementy w siatce i odpowiednio dostosować szerokości kolumn siatki.
- Można ułożyć elementy w siatce i regulować odstępy między nimi za pomocą pustych kolumn o określonej szerokości.
Również w tym przypadku formatowanie z wykorzystaniem siatki jest łatwiejsze i daje bardziej przewidywalne rezultaty. Zmiany wartości właściwości dopełnienia i marginesów mogą dawać różne wyniki w różnych przeglądarkach. Poniżej opisano trzecią metodę.
- Wybierz widok Układ, aby powrócić do edytora układu.
- Zaznacz siatkę. Umieść kursor myszy w lewej dolnej części siatki, aż pojawi się zakładka Siatka, a następnie kliknij tę zakładkę. Wzdłuż górnej i lewej krawędzi zaznaczonej siatki zostaną wyświetlone komórki prowadzące.
- Prawym przyciskiem myszy kliknij komórkę prowadzącą powyżej pierwszej kolumny i z menu kontekstowego wybierz opcje Wstaw->Kolumna po prawej, tak jak pokazano na rysunku 13-36.
Rysunek 13-36 Wstawianie kolumny
Między pierwszą a trzecią kolumną zostanie wyświetlona nowa kolumna. Kolumny tworzone w narzędziu do projektowania raportów BIRT są domyślnie takiej samej szerokości.
- Zaznacz nowo dodaną kolumnę i w edytorze właściwości ustaw jej szerokość na 0,4 cala, tak jak pokazano na rysunku 13-37.
Rysunek 13-37 Ustawianie szerokości kolumny
Szerokość drugiej kolumny zostanie zmniejszona.
- Wyświetl podgląd raportu.
Odstęp między tabelami zamówień i płatności został zwiększony, co widać na
rysunku 13-38.
Rysunek 13-38 Podgląd raportu ze zwiększonym odstępem miedzy tabelami
Dodanie ramek wokół tabel
W ramach tej procedury zostaną dodane ramki wokół tabel zamówień i płatności, co pozwoli je wizualnie wyróżnić jako dwa oddzielne podraporty.
- Wybierz widok Układ, aby powrócić do edytora układu.
- Zaznacz tabelę zamówień. Umieść kursor myszy w lewej dolnej części listy, aż pojawi się zakładka Tabela, a następnie kliknij tę zakładkę. Wzdłuż górnej i lewej krawędzi zaznaczonej tabeli zostaną wyświetlone komórki prowadzące.
- W edytorze właściwości wybierz pozycję Ramka, a następnie ustaw właściwości ramki:
- Ustaw Styl na linię ciągłą.
- Wciśnij wszystkie przyciski włączające obramowanie poszczególnych krawędzi tabeli, tak jak na rysunku 13-39.
Rysunek 13-39 Dodawanie ramki do tabeli
- Powtórz powyższe kroki, aby dodać ramkę do tabeli płatności.
- Wyświetl podgląd raportu. Raport powinien wyglądać tak jak na rysunku 13-40.
Rysunek 13-40 Obramowanie wokół tabel w podglądzie raportu
Zwiększanie odstępu między obramowaniem a treścią tabel
Górne i lewe krawędzie ramki są zbyt blisko treści tabel. W ramach tej procedury zostaną zwiększone odstępy między górnymi i lewymi krawędziami ramki a treścią tabeli.
- Wybierz widok Układ, aby powrócić do edytora układu.
- Zaznacz pierwszą komórkę w wierszu nagłówka grupy w tabeli zamówień. Upewnij się, że zaznaczona jest komórka (tak jak na rysunku 13-41), a nie element danych wewnątrz tej komórki.
Rysunek 13-41 Zaznaczanie komórki
Tytuł wyświetlany w widoku Edytor właściwości wskazuje typ wybranego elementu. Upewnij się, że wyświetlany jest następujący tekst:
- W edytorze właściwości wybierz kategorię Dopełnienie, a następnie w polach Góra i Lewa wpisz wartość 6 punktów.
Rysunek 13-42 Właściwości dopełnienia komórki w edytorze właściwości
W edytorze układu będzie wyświetlany większy odstęp przy górnej i lewej krawędzi komórki, co pokazano na
rysunku 13-43.
Rysunek 13-43 Dopełnienie komórek w projekcie raportu
- Zaznacz komórkę obok komórki sformatowanej przed chwilą i ustaw jej właściwości dopełnienia Góra i Lewa na 6 punktów.
- Zaznacz dwie komórki wiersza danych szczegółowych i ustaw ich właściwość dopełnienia Lewa na 6 punktów.
- Zaznaczając odpowiednie komórki w tabeli płatności, zastosuj analogiczne ustawienia dopełnienia, jak w przypadku komórek tabeli zamówień.
- Wyświetl podgląd raportu. Raport powinien wyglądać tak jak na rysunku 13-44.
Rysunek 13-44 Podgląd raportu ze zwiększonymi odstępami wewnątrz tabel


|