Kurs 2: Grupowanie danych w raportach
Ten kurs zawiera instrukcje dotyczące grupowania danych klientów według limitu kredytowego. Punktem wyjścia jest raport utworzony w sekcji Kurs 1: Budowanie prostego raportu wyliczeniowego. W ramach pierwszego kursu tworzony jest prosty raport zawierający listę klientów w porządku alfabetycznym. Natomiast w raporcie tworzonym w ramach tego kursu klienci zostaną pogrupowani według limitu kredytowego, w przedziałach co $50 000,00, na przykład 0-49999, 50000-99999, 100000-149999 itd.
Przed rozpoczęciem tego kursu należy ukończyć kurs pierwszy.
W ramach tego kursu wykonasz następujące czynności:
Czynność 1: Otwarcie projektu raportu
W ramach poprzedniego kursu został utworzony raport Klienci.rptdesign, w folderze projektu o nazwie Moje Raporty. Otwórz plik Klienci.rptdesign, wykonując jedną z następujących procedur:
- Jeśli korzystasz z narzędzia do projektowania raportów BIRT, otwórz plik za pomocą widoku Nawigator:
- Otwórz widok Nawigator, wybierając z menu opcje Okna->Pokaż widok->Nawigator. W widoku Nawigator wyświetlane są wszystkie tworzone foldery projektów i pliki raportów.
- Przejdź do folderu Moje raporty i dwukrotnie kliknij plik Klienci.rptdesign.
- Jeśli korzystasz z narzędzia do projektowania raportów BIRT RCP, otwórz plik za pomocą głównego menu:
- Z menu wybierz opcje Plik->Otwórz plik.
- Zlokalizuj i zaznacz plik Klienci.rptdesign, a następnie kliknij przycisk Otwórz.
Plik zostanie otwarty w edytorze układu, co pokazano na rysunku 8-1.
Rysunek 8-1 Projekt raportu o klientach w edytorze układu
Czynność 2: Zapisanie raportu w nowym pliku
Aby nie pracować bezpośrednio na raporcie utworzonym w ramach pierwszego kursu, zapisz plik Klienci.rptdesign pod inną nazwą.
- Z menu wybierz opcje Plik->Zapisz jako. W oknie Zapisz jako zostanie wyświetlona bieżąca nazwa i położenie pliku.
- W polu Nazwa pliku zmień nazwę Klienci.rptdesign na Klienci_grupowanie.rptdesign, a następnie kliknij przycisk Zakończ. Zostanie utworzona kopia pliku Klienci.rptdesign. Nowy plik zostanie wyświetlony w edytorze układu.
Czynność 3: Dodanie do zestawu danych pola limitu kredytowego
Aby informacje o limicie kredytowym były wyświetlane w raporcie, do zestawu danych należy dodać pole LIMITKREDYTOWY.
- Wybierz panel Eksplorator danych.
- Rozwiń węzeł Zestawy danych i dwukrotnie kliknij zestaw Klienci. W oknie Edytuj zestaw danych zostanie wyświetlone zapytanie SQL dające w wyniku zestaw danych Klienci.
- Wstaw przecinek (,) po słowie telefon.
- W następnym wierszu dopisz następujący tekst:
Zmienione zapytanie powinno wyglądać tak jak na
rysunku 8-2.
Rysunek 8-2 Zapytanie z dodanym polem limitKredytowy
- Kliknij przycisk Podgląd wyników, aby upewnić się, że zapytanie zwraca wiersze zawierające informacje o limicie kredytowym.
- Kliknij przycisk OK, aby zapisać zestaw danych.
Czynność 4: Dodanie do raportu danych dotyczących limitu kredytowego
W ramach tej procedury do istniejącej tabeli zostanie wstawione pole limitu kredytowego.
- W edytorze układu zaznacz tabelę. Wzdłuż górnej i lewej krawędzi tabeli 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 lewej, zgodnie z rysunkiem 8-3.
Rysunek 8-3 Wstawianie kolumny z lewej strony kolumny istniejącej
Zostanie wyświetlona nowa kolumna.
- Przejdź do Eksploratora danych i rozwiń kolejno węzły Zestawy danych i Klienci. W obrębie zestawu danych Klienci zostaną wyświetlone pola określone w zapytaniu.
- Przeciągnij pole LIMITKREDYTOWY z Eksploratora danych i upuść je na komórce danych obok pola [NAZWAKLIENTA].
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 tabela zawierająca nowo dodane pole. Wyświetlana jest również etykieta, którą edytor układu automatycznie dodaje do wiersza nagłówka. Etykieta ta pełni funkcję nagłówka kolumny i zawiera nazwę pola w postaci tekstu statycznego. Raport powinien wyglądać tak jak na
rysunku 8-4.
Rysunek 8-4 Wynik dodania pola limitu kredytowego w edytorze układu
- Zmień treść etykiety LIMITKREDYTOWY na Limit kredytowy.
- Wyświetl podgląd raportu. Raport powinien wyglądać tak jak na rysunku 8-5.
Rysunek 8-5 Podgląd raportu zawierający rezultat dodania pola limitu kredytowego
Niektórzy klienci mają limit kredytowy równy 0. Są to nowi klienci, którym jeszcze nie zatwierdzono linii kredytowej.
Czynność 5: Grupowanie danych klientów według limitu kredytowego
W obecnej postaci raport jest sortowany alfabetycznie według nazwy klienta. Dzieje się tak dlatego, że w ramach pierwszego kursu podane zostało wymaganie sortowania wierszy tabeli według nazwy klienta. Poniżej opisano procedurę podzielenia danych na grupy według limitu kredytowego przy wielkości przedziału 50 000. Jeśli włączone jest grupowanie danych, wiersze są najpierw dzielone na grupy, a następnie sortowane w ramach każdej grupy (przy założeniu, że zostało zdefiniowane kryterium sortowania na poziomie tabeli). Jak się okaże po wykonaniu tej czynności, wiersze danych w obrębie każdej grupy limitu kredytowego będą sortowane według nazwy klienta.
- Wybierz widok Układ, aby powrócić do edytora układu.
- Kliknij tabelę prawym przyciskiem myszy i z menu kontekstowego wybierz opcję Wstaw grupę->Powyżej. W oknie Nowa grupa, pokazanym na rysunku 8-6, zostaną wyświetlone dostępne właściwości grupowania.
Rysunek 8-6 Okno Nowa grupa
- Aby zdefiniować grupowanie według limitu kredytowego co 50000, wykonaj następujące czynności:
- W polu Nazwa wpisz następującą nazwę grupy:
- W polu Grupuj wg wybierz z listy rozwijanej pole LIMITKREDYTOWY.
- W polu Przedział wybierz z listy rozwijanej opcję Przedział.
- W polu Zakres wpisz 50000.
- Zaakceptuj wartości domyślne pozostałych opcji.
- Kliknij przycisk OK.
W tabeli widocznej w projekcie raportu zostaną wyświetlone wiersze nagłówka i stopki grupy, przedstawione na
rysunku 8-7. Wyświetlany jest również element danych automatycznie dodany do wiersza nagłówka grupy przez edytor układu. Element ten pełni funkcję nagłówka grupy i w wygenerowanym raporcie wyświetla pierwszą wartość limitu kredytowego danej grupy.
Rysunek 8-7 Wiersze nagłówka i stopki grupy w projekcie raportu
- Zaznacz element danych o nazwie [LIMITKREDYTOWY], wyświetlany w wierszu nagłówka grupy. Uważaj, aby nie wybrać elementu [LIMITKREDYTOWY] wyświetlanego w wierszu danych.
- W edytorze właściwości wybierz kategorię Ogólne i kliknij przycisk B, aby nagłówek grupy był formatowany jako tekst pogrubiony.
- Wyświetl podgląd raportu. Przewiń okno raportu, aby zobaczyć wszystkie dane. Jak widać na rysunku 8-8, dane wyświetlane w raporcie zostały podzielone na cztery grupy według limitu kredytowego. Na początku każdej grupy pogrubioną czcionką wyświetlane są następujące liczby: 0, 61100, 113000, 227600. Liczby te odpowiadają pierwszej wartości limitu kredytowego w każdej grupie. Rekordy klientów są w ramach każdej grupy posortowane alfabetycznie.
Rysunek 8-8 Podgląd raportu z jedną z czterech grup limitów kredytowych
Czynność 6: Wyświetlanie zakresów limitu kredytowego w nagłówku grupy
Nawigacja po raporcie będzie łatwiejsza, jeśli w nagłówku każdej grupy zamiast pierwszej wartości limitu będzie wyświetlany zakres limitu dla danej grupy, na przykład:
Poniżej przedstawiono procedurę tworzenia wyrażenia JavaScript wyświetlającego zakresy limitu kredytowego. Zostanie również opisana procedura tworzenia powiązania kolumny, z którym zostanie skojarzone to wyrażenie JavaScript.
- Wybierz widok Układ, aby powrócić do edytora układu.
- Zaznacz tabelę i w edytorze właściwości kliknij zakładkę Powiązanie.
- Utwórz nowe powiązanie kolumny:
- Kliknij przycisk Dodaj.
- W oknie programu budującego wyrażenia wpisz następujące wyrażenie:
- 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ą:
- Zaktualizuj element danych LIMITKREDYTOWY, tak by korzystał z nowego powiązania kolumny. W tym celu dwukrotnie kliknij element danych, wybierz opcję NAGLOWEK_GRUPY_KREDYTOWEJ i kliknij przycisk OK.
- Wyświetl podgląd raportu. W nagłówkach grup są wyświetlane zakresy limitów kredytowych. Na rysunku 8-9 przedstawiono nagłówek grupy 50000 - 99999.
Rysunek 8-9 Podgląd raportu z zakresami limitów kredytowych
Czynność 7: Wyświetlanie informacji zagregowanych
Jedną z zalet grupowania danych jest możliwość wyświetlania informacji sumarycznych (czyli zagregowanych) na początku lub na końcu każdej grupy. W ramach tej procedury wykonasz następujące czynności:
- Wyświetlanie liczby klientów w każdej grupie.
- Wyświetlanie łącznej liczby klientów wymienionych w raporcie.
- Wybierz widok Układ, aby powrócić do edytora układu.
- Aby wyświetlać liczbę klientów w każdej grupie:
- Przeciągnij element danych z palety i upuść go na pierwszej komórce w wierszu stopki grupy. Elementy umieszczone w stopce grupy są wyświetlane na końcu każdej grupy.
- W oknie Wybierz powiązanie danych utwórz nowe powiązanie kolumny:
- Kliknij nowy wiersz i w polu Nazwa wpisz następującą nazwę:
- Zaakceptuj domyślny typ danych (Dowolny).
- W polu Wyrażenie wpisz następujące wyrażenie agregujące:
Funkcja Total.count( ) zwraca liczbę wierszy.
- W polu Agregowanie wg zaakceptuj domyślną wartość grupa_kredytowa. Wartość ta oznacza, że funkcja Total.count( ) będzie zwracać liczbę wierszy w każdej grupie limitu kredytowego.
- Zaznacz utworzone przed chwilą powiązanie kolumny i kliknij przycisk OK. Element danych będzie korzystać z wybranego powiązania kolumny.
- Wyświetl podgląd raportu. Na końcu każdej grupy jest teraz wyświetlana liczba klientów, co pokazano na rysunku 8-10.
Rysunek 8-10 Podgląd raportu z liczbą klientów w kolejnych grupach
- Wybierz widok Układ, aby powrócić do edytora układu.
- Aby wyświetlać łączną liczbę klientów:
- Zaznacz tabelę.
Wzdłuż górnej i lewej krawędzi tabeli zostaną wyświetlone komórki prowadzące.
- Prawym przyciskiem myszy kliknij komórkę prowadzącą z lewej strony pierwszego wiersza (nagłówka tabeli) i z menu kontekstowego wybierz opcję Wstaw->Wiersz->Powyżej.
Nad wierszem zawierającym nagłówki kolumn zostanie wyświetlony nowy wiersz nagłówka tabeli. Jest on wyświetlany na kolorowym tle, gdyż odziedziczył właściwości wiersza wyświetlanego pod nim.
- Zaznacz nowy wiersz i w edytorze właściwości zmień jego kolor tła na biały.
- Przeciągnij element danych z palety i upuść go na pierwszej komórce w nowym wierszu nagłówka tabeli. Elementy znajdujące się w nagłówku tabeli są wyświetlane na początku sekcji.
- W oknie Wybierz powiązanie danych utwórz nowe powiązanie kolumny:
- Kliknij nowy wiersz i w polu Nazwa wpisz następującą nazwę:
- Zaakceptuj domyślny typ danych (Dowolny).
- W polu Wyrażenie wpisz następujące wyrażenie agregujące:
- W polu Agregacja wg zaakceptuj domyślną wartość Wszystko. Wartość ta oznacza, że funkcja Total.count( ) będzie zwracać liczbę wierszy w całej tabeli.
- Zaznacz utworzone przed chwilą powiązanie kolumny i kliknij przycisk OK. Element danych będzie korzystać z wybranego powiązania kolumny.
Rysunek 8-11 Projekt raportu z łączną liczbą klientów
- Wyświetl podgląd raportu. Na początku tabeli jest wyświetlana liczba klientów, co pokazano na rysunku 8-12.
Rysunek 8-12 Podgląd raportu z łączną liczbą klientów
Czynność 8: Formatowanie raportu
Skoro raport wyświetla już poprawne dane, można się zająć udoskonaleniem jego estetyki. W tej sekcji zostaną opisane następujące czynności:
Usunięcie danych o limitach kredytowych z wierszy danych szczegółowych
Wyświetlanie limitów kredytowych poszczególnych klientów przydaje się do sprawdzenia, czy dane są poprawnie pogrupowane. Gdy już jednak wiadomo, że dane są poprawne, można usunąć z raportu informacje o limitach kredytowych poszczególnych klientów.
- Wybierz widok Układ, aby powrócić do edytora układu.
- Z wiersza danych szczegółowych tabeli usuń element danych [LIMITKREDYTOWY].
- Wyświetl podgląd raportu. Raport powinien wyglądać tak jak na rysunku 8-13.
Rysunek 8-13 Podgląd raportu bez danych o limitach kredytowych w każdym wierszu
Wyświetlanie nagłówka grupy w pierwszym wierszu każdej grupy
Nagłówki grup limitu kredytowego są wyświetlane w oddzielnych wierszach nad wierszami danych poszczególnych grup. Poniżej opisano procedurę przeciągania nagłówków grup w taki sposób, aby były one wyświetlane w pierwszym wierszu danych.
- Wybierz widok Układ, aby powrócić do edytora układu.
- Zaznacz komórkę zawierającą nagłówek grupy, tak jak pokazano na rysunku 8-14. Upewnij się, że zaznaczona jest komórka, a nie element danych wewnątrz tej komórki.
Rysunek 8-14 Zaznaczona komórka nagłówka grupy
- W kategorii Właściwości ogólne w edytorze właściwości ustaw właściwość Upuszczenie na wartość Szczegóły. W projekcie raportu nagłówek grupy będzie nadal wyświetlany powyżej wiersza danych szczegółowych, gdyż z technicznego punktu widzenia element ten nadal znajduje się w wierszu nagłówka grupy.
- W edytorze właściwości, w polu Z góry w kategorii Dopełnianie wprowadź wartość 12 punktów. Zmiana tej właściwości spowoduje dokładniejsze dopasowanie nagłówków grup do danych szczegółowych w wierszach tabeli. W ramach pierwszego kursu zostało ustawione 12-punktowe dopełnienie do górnej krawędzi komórek wierszy danych szczegółowych tabeli.
- Wyświetl podgląd raportu. Nagłówki grup są wyświetlane w pierwszym wierszu każdej grupy, tak jak na rysunku 8-15.
Rysunek 8-15 Podgląd raportu z opuszczonymi nagłówkami grup
Oddzielenie kolejnych grup liniami
Narysowanie linii oddzielających grupy sprawia, że poszczególne grupy danych są bardziej widoczne.
- Wybierz widok Układ, aby powrócić do edytora układu.
- Zaznacz wszystkie komórki w wierszu stopki grupy. Aby zaznaczyć kilka komórek naraz, klikaj kolejne komórki, przytrzymując naciśnięty klawisz Shift.
- W edytorze właściwości wybierz pozycję Ramka, a następnie ustaw właściwości ramki:
- Ustaw Styl na linię ciągłą.
- Kliknij przycisk odpowiadający dolnej krawędzi.
- Ustaw większy odstęp między linią a tekstem wyświetlanym nad nią. Przy wciąż zaznaczonych komórkach wybierz kategorię Dopełnienie w edytorze właściwości i w polu Dół podaj wartość 6 punktów.
- Wyświetl podgląd raportu. Na końcu każdej grupy jest teraz wyświetlana linia, co pokazano na rysunku 8-16.
Rysunek 8-16 Podgląd raportu z liniami rozdzielającymi grupy
Czynność 9: Wyświetlanie podglądu raportu w przeglądarce raportów BIRT
Do tej pory wyniki prac nad raportem były wyświetlane w oknie podglądu narzędzia do projektowania raportów BIRT. Teraz nauczysz się korzystać z przeglądarki raportów, która pozwala uzyskać podgląd widoku raportu po jego wygenerowaniu. Przeglądarka raportów udostępnia też dodatkowe funkcje, w tym możliwość przechodzenia do wybranych sekcji raportu ze spisu treści. Gdy w raporcie tworzone są grupy, moduł BIRT automatycznie generuje spis treści, pokazując hierarchię raportu za pomocą wartości grupujących.
- Z menu wybierz opcje Plik->Wyświetl raport w przeglądarce WWW.
Raport zostanie wyświetlony w przeglądarce raportów.
- Aby wyświetlić spis treści, kliknij przycisk spisu treści (lewy przycisk w górnej części okna).
W spisie treści będzie wyświetlana pierwsza wartość z każdej z czterech grup limitu kredytowego. Kliknięcie jednej z wartości spowoduje wyświetlenie odpowiadającej jej sekcji raportu. Jeśli na przykład zostanie kliknięta wartość 61100, w raporcie zostaną wyświetlone wiersze odpowiadające klientom, którzy mają limit kredytowy w przedziale 50000-99999, tak jak na
rysunku 8-17.
Rysunek 8-17 Kliknij wartość w spisie treści, aby wyświetlić odpowiadające jej dane
Czynność 10: Wyświetlanie zakresów limitu kredytowego w spisie treści
Spis treści będzie bardziej użyteczny, jeśli zamiast pierwszej wartości z każdej grupy limitu kredytowego będą w nim wyświetlane te same wartości przedziałów, co w raporcie. Cel ten można osiągnąć za pomocą tego samego wyrażenia JavaScript, które zostało wcześniej wykorzystane do wyświetlania przedziałów limitu kredytowego (0-49999, 50000-99999 itd.) w nagłówku grupy.
- Wróć do narzędzia do projektowania raportów BIRT.
- W edytorze układu zaznacz tabelę i w edytorze właściwości kliknij zakładkę Grupy.
- Na liście grup dwukrotnie kliknij pozycję grupa_kredytowa.
W oknie Edytuj grupę zostaną wyświetlone właściwości grupy. W polu Wyrażenie elementu spisu treści domyślnie jest wpisane wyrażenie pola grupującego, czyli row["LIMITKREDYTOWY"].
- Kliknij przycisk wielokropka (...) i w oknie programu budującego wyrażenia zastąp wyrażenie row["LIMITKREDYTOWY"] wyrażeniem podanym poniżej. To samo wyrażenie powiązania kolumny było używane przez element danych w nagłówku grupy. Zamiast więc ponownie wpisywać całe wyrażenie, możesz je skopiować z elementu danych i wkleić w oknie budowania wyrażeń.
- Kliknij przycisk OK.
- Wyświetl raport w przeglądarce raportów, aby zobaczyć zmianę wprowadzoną w spisie treści.
W spisie treści są wyświetlane zakresy limitów kredytowych, co przedstawiono na
rysunku 8-18.
Rysunek 8-18 Zaktualizowany spis treści


|