Oracle Reports (c) 2000, Instytut Informatyki Politechniki Poznańskiej 2 Możliwości - typy raportów • Tabelaryczny • Formularzowy • Etykieta wysylkowa • List formularzowy • Master - Detail • Matrycowy (macierzowy) • Macierz z grupą (c) 2000, Instytut Informatyki Politechniki Poznańskiej 3 Ćwiczenie nr 1. Prosty raport „z kreatora” • Menu: Narzędzia → Kreator raportów • Tytul: Pracownicy; tabelaryczny • Tekst zapytania SQL: select nazwisko, etat, placa_pod from pracownicy; • Wyświetlane pola: nazwisko, etat, placa_pod • Brak podsumowań (c) 2000, Instytut Informatyki Politechniki Poznańskiej 4 Ćwiczenie nr 1. (cd.) Prosty raport „z kreatora” • Etykiety: Nazwisko, Etat, Placa podstawowa • Wcześniej zdefiniowany szablon: draft • Zakończ i ...
25
Embed
Możliwości - typy raportó · Oracle Reports (c) 2000, Instytut Informatyki Politechniki Poznańskiej 2 Możliwości - typy raportów • Tabelaryczny • Formularzowy • Etykieta
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Oracle Reports
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 2
Możliwości - typy raportów
• Tabelaryczny
• Formularzowy
• Etykieta wysyłkowa
• List formularzowy
• Master - Detail
• Matrycowy (macierzowy)
• Macierz z grupą
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 3
Ćwiczenie nr 1. Prosty raport „z kreatora”
• Menu: Narzędzia → Kreator raportów
• Tytuł: Pracownicy; tabelaryczny
• Tekst zapytania SQL: select nazwisko, etat, placa_podfrom pracownicy;
• Wyświetlane pola: nazwisko, etat, placa_pod
• Brak podsumowań
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 4
Ćwiczenie nr 1. (cd.)Prosty raport „z kreatora”
• Etykiety: Nazwisko, Etat, Płaca podstawowa
• Wcześniej zdefiniowany szablon: draft
• Zakończ i ...
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 5
Możliwości - format wyjścia
• PDF (Portable Document Format)
• HTML (Hypertext Markup Language)
• RTF (Reach Format Text)
• Postscript
• Wewnętrzny RB
• Tekst
Menu: Plik → Generuj do pliku
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 6
Budowa raportu -model danych
• Parametry systemu– Wykonywanie raportów „w tle”
– Liczba kopii
– Symbol waluty
– Symbol dziesiętny (decimal indicator)
– Miejsce przeznaczenia (nazwa pliku, nazwa drukarki, skrzynka pocztowa)
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 7
Budowa raportu -model danych (cd.)
– Typ raportu - przeznaczenie (ekran, plik, mail, drukarka, lub ekran przy użyciu formatu postscript)
– Format raportu (tekstowy, binarny)
– Orientacja (portrait, landscape, default)
– Ekran podczas generacji wydruku
– Symbol grupowania cyfr (thousand's indicator)
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 8
Budowa raportu -model danych (cd.)
• Parametry użytkownika
• Zapytania
• Grupy
• Kolumny formuł
• Kolumny podsumowań• Kolumny wypełniające
• Połączenia danych
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 9
Budowa raportu -model danych.Nawigator obiektów
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 10
Budowa raportu - model danych.Edytor raportów
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 11
Budowa raportu - model układu.Nawigator obiektów
• Strony tytułowe• Strony końcowe• Ciało
– ramki– ramki powtarzane– pola– tekst
• Margines
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 12
Budowa raportu - model układu.Edytor raportów
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 13
Budowa raportu -pozostałe elementy
• Formularz parametrów– Pola
– Szablon graficzny
– Szablon tekstowy
– Szablon obrazu
• Jednostki programu
• Dołączone biblioteki
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 14
Budowa raportu -pozostałe elementy (cd.)
• Wyzwalacze raportu– przed formularzem
parametrów
– po formularzu par.
– przed raportem
– między stronami
– po raporcie
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 15
Powiązania pomiędzy modelem danych a układem raportu
Model danych
Grupy
Kolumny
Model układu
Ramki powtarzane
Pola
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 16
Ćwiczenie nr 2Raport master-detail
Celem ćwiczenia jest:
• stworzenie raportu o pracownikach zatrudnionych w poszczególnych zespołach
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 17
Ćwiczenie nr 2Raport master-detail (cd.)
• Edytor raportów - model danychpasek narzędziowy– Zaznacz
– Powiększ F9 - powiększF10 - pomniejsz
– Zapytanie SQL
– Zapytanie o odniesienie do kursora
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 18
Ćwiczenie nr 2Raport master-detail (cd.)
• Edytor raportów - model danychpasek narzędziowy (cd)– Zapytanie Express– Kolumna podsumowania– Kolumna formuły– Kolumna wypełniająca– Produkt krzyżowy– Połączenie danych
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 19
Ćwiczenie nr 2Raport master-detail (cd.)
• Edytor raportów - model danychrealizacja ćwiczenia– zapytanie na zespołach
select id_zesp, nazwa, adresfrom zespolyorder by nazwa
– pola: F_NAZWISKO, F_ETAT,F_DATA_ZATRUDNIENIA, F_PLACA_POD(sprawdzić sposób działania)
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 27
Ćwiczenie nr 2 - efekt końcowy
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 28
Ćwiczenie nr 3
Celem ćwiczenia jest rozbudowa raportu z ćwiczenia 2 przez:
• dodanie atrybutu wyliczeniowego staż,• wprowadzenie odpowiednich masek danych
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 29
Ćwiczenie nr 3 (cd.)
W Edytorze raportów - model danych:• dodajemy kolumnę formuły CF_STAZ• formuła PL/SQL:
function CF_STAZFormula return Number isbeginreturn MONTHS_BETWEEN(SYSDATE,:ZATRUDNIONY)/12;
end;
W Edytorze raportów - model układu• umieszczamy pole F_STAZ
(sprawdzić sposób działania)
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 30
Ćwiczenie nr 4
Kolejna rozbudowa będzie polegała na:
• dodaniu kolumn podsumowań sumujących kwoty wynagrodzeń w ramach zespołów i dla całego raportu
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 31
Ćwiczenie nr 4 (cd.)
• Edytor raportów - model danychrealizacja ćwiczenia– do grupy G_ZESPOLY dodajemy kolumnę
podsumowań CS_SUMA_PLAC• Funkcja: SUMA
• Źródło: PLACA_POD
• Przywróć w: G_ZESPOLY
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 32
Ćwiczenie nr 4 (cd.)
• Edytor raportów - model danychrealizacja ćwiczenia (cd.)– na zewnątrz (poziom raportu) dodajemy
kolumnę podsumowań CS_GLOBAL_SUMA_PLAC
• Funkcja: SUMA
• Źródło: PLACA_POD
• Przywróć w: Report
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 33
Ćwiczenie nr 4 (cd.)
• Edytor raportów - model danychrealizacja ćwiczenia (cd.)
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 34
Ćwiczenie nr 4 (cd.)
• Edytor raportów - model układurealizacja ćwiczenia– wewnątrz ramki powtarzanej R_ZESPOLY
umieszczamy pole F_SUMA_PLAC• Źródło: CS_SUMA_PLAC
– przed polem umieszczamy napis „Suma:”
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 35
Ćwiczenie nr 4 (cd.)
• Edytor raportów - model układurealizacja ćwiczenia (cd.)– na zewnątrz ramek umieszczamy pole
F_GLOBAL_SUMA_PLACY• Źródło CS_GLOBAL_SUMA_PLACY
– dodajemy nagłówki dla poszczególnych kolumn
– dodajemy elementy graficzne– zmieniamy maskę dla daty na dd.mm.yyyy
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 36
Ćwiczenie nr 4 (cd.)
• Edytor raportów - model układurealizacja ćwiczenia (cd.)
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 37
Ćwiczenie nr 4 - efekt końcowy
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 38
Ćwiczenie nr 5
Raport, który został wykonany posiada jedną bardzo istotną wadę - obejmuje cały dostępny zakres danych. Dlatego teraz wprowadzimy
• „zaawansowaną” parametryzację raportu
Parametryzacja raportów z reguły realizowana jest za pomocą parametrów użytkownika
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 39
Ćwiczenie nr 5 (cd.)
• W nawigatorze obiektów, do parametrów użytkownika dodajemy parametr P_ZESPOL– Typ danych: Tekst
– Szerokość: 20
• W edytorze raportów - modelu danych, do zapytania na zespołach dodajemy warunekwhere nazwa like :P_ZESPOL
(sprawdzić sposób działania)
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 40
Ćwiczenie nr 5 (cd.)
• Pole, które pokazuje się w domyślnym formularzu parametrów jest polem tekstowym. Innym elementem sterującym w formularzu parametrów jest lista wartości
• Lista wartości może być oparta o zapytanie lub o stały zbiór wartości
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 41
Ćwiczenie nr 5 (cd.)
• W nawigatorze obiektów w definicji parametru P_ZESPOL zmienimy– Typ danych: Liczba
– Lista wartości:• Instrukcja SELECTselect id_zesp, nazwafrom zespolyorder by nazwa
• Ogranicz listę ... - zaznaczone
• Ukryj pierwszą kolumnę - zaznaczone
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 42
Ćwiczenie nr 5 (cd.)
• W edytorze raportów -modelu danych, w zapytaniuna zespołach zmieniamy warunek na: where id_zesp = :P_ZESPOL(sprawdzić sposób działania)
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 43
Ćwiczenie nr 5 (cd.)
Wadą naszego rozwiązania jest to, że jesteśmy ograniczeni w takim przypadku do jednego zespołu. Aby to zmienić wprowadzimy kilka modyfikacji...
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 44
Ćwiczenie nr 5 (cd.)
• W nawigatorze obiektów w definicji parametru P_ZESPOL zmienimy– Lista wartości - zapytanie:
select id_zesp, nazwafrom zespolyunionselect -1, '% - Wszystkie zespoły’from dualorder by 2
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 45
Ćwiczenie nr 5 (cd.)
• W edytorze raportów - modelu danych, w zapytaniu na zespołach zmieniamy warunek na:
where ((id_zesp = :P_ZESPOL)or (:P_ZESPOL = -1))
(sprawdzić sposób działania)
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 46
Ćwiczenie nr 6
• Celem ćwiczenia będzie zlikwidowanie domyślnego formularza parametrów przez zdefiniowanie własnego.
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 47
Ćwiczenie nr 6 (cd.)
• W Edytor raportów - formularz parametrów umieszczamy:– tytuł raportu
– opis parametru
– pole PF_ZESPOL• Źródło: P_ZESPOL
(sprawdzić sposób działania)
• Zapisz raport !!!(c) 2000, Instytut Informatyki Politechniki Poznańskiej 48
Zaawansowane techniki
• Szablon
• Formatowanie warunkowe
• List formularzowy
• Raport matrycowy
• Wywołanie raportu z formularza
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 49
Szablony• Dzięki wykorzystaniu szablonów raportom
tworzonym w ramach jednej aplikacji można w prosty sposób zapewnić podobny wygląd.
• Definiowanie szablonu polega na:– określeniu formatu wyświetlania dla:
• ramek• poszczególnych typów danych (nagłówki i pola)• podsumowań poszczególnych typów danych
(nagłówki i pola)
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 50
Szablony (cd.)
• Definiowanie szablonu polega na:– określeniu wyglądu
• marginesu (obszaru poza obszarem danych)
– zdefiniowaniu• parametrów użytkownika
• wyzwalaczy raportu
• jednostek programu
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 51
Szablony (cd.)
• Format wyświetlania poszczególnych składowych można definiować na dwóch poziomach:– domyślnym
– dotyczącym określonegotypu raportu
• Poziom drugi dla raportów „swojego” typu przysłania parametry domyślne
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 52
Szablony (cd.)
• Ramki, których parametry są określane przez szablon to:– sekcji - ramka obejmująca aktualnie
zaznaczoną sekcję– nagłówków
– pól
– podsumowań
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 53
Szablony - model układu
Nazwy pól szablonu
Char
Number
Date
F_CHAR
F_NUMBER
F_DATE
Format dla
– nagłówków pól typu char
– nagłówków pól typu number
– nagłówków pól typu date
– danych pól typu char
– danych pól typu number
– danych pól typu date
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 54
Szablony - model układu (cd.)
Nazwy pól szablonu
S_Char
S_Number
S_Date
F_S_CHAR
F_S_NUMBER
F_S_DATE
Format dla (podsumowania)
– etykiety pól typu char
– etykiety pól typu number
– etykiety pól typu date
– danych pól typu char
– danych pól typu number
– danych pól typu date
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 55
Ćwiczenie nr 7
• Zdefiniuj szablon, który określa następujące formaty:– pola i nagłówki typu znakowego - italic
– pola i nagłówki typu numerycznego - bold
– ramki podsumowań - widoczne, czarne
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 56
Ćwiczenie nr 7 (cd.)
– pola i nagłówki podsumowań - czcionka o numer lub dwa większa niż pola i nagłówki danych
– dla raportu formularzowego wszystkie nagłówki są podkreślone
• Zapisz zdefiniowany szablon
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 57
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 59
Formatowanie warunkowe
• Bywają przypadki kiedy formatowanie lub w ogóle widoczność elementu powinna być uzależniona np. od wartości pól.
• W takich przypadkach z pomocą przychodzi opcja formatowania warunkowego.
• Formatowanie warunkowe realizowane jest za pomocą wyzwalacza formatu (ang. format trigger) dostępnego dla każdego elementu wizualnego raportu.
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 60
Formatowanie warunkowe- przykład
function F_placa_podFormatTrigger return boolean isbeginif (:placa_pod <= '500')thensrw.set_foreground_border_color('darkred');srw.set_border_pattern('solid');srw.set_foreground_fill_color('white');srw.set_fill_pattern('solid');srw.set_text_color('red');
end if;return (TRUE);
end;
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 61
Formatowanie warunkowe (cd.)
• Zwrócenie przez wyzwalacz formatu wartości FALSE jest równoznaczne z ukryciem elementu.
• Element ukrywa siebie wraz ze wszystkimi elementami w nim zawartymi.
• Do generacji wyzwalaczy formatujących można wykorzystać kreator „Formatowanie warunkowe”.
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 62
Ćwiczenie nr 8
• Wczytaj raport wykonany w ćwiczeniu 6.
• Dla pola placa_pod zdefiniuj formatowanie warunkowe, które dla wartości poniżej 500– zwiększy czcionkę– zmieni kolor czcionki na czerwony
– obramuje pole czarną ramką
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 63
Ćwiczenie nr 9
• Skorzystaj z kreatora
• Sprawdź wygenerowany wyzwalacz formatujący
• Dodaj własne warunki formatujące (ręcznie)
(sprawdzić sposób działania)
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 64
List formularzowy
• Bardzo często bazy danych wykorzystywane są jako źródła adresów, źródła informacji służącej do korespondencji.
• Report Builder w tym celu oferuje osobny typ raportu - list formularzowy.
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 65
List formularzowy (cd.)
• List formularzowy tworzymy zatapiając w tekście odwołania do kolumn raportu.
• Odwołania realizowane są w następujący sposób:
&<nazwa_kolumny>
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 66
Ćwiczenie nr 10• Stworzyć list formularzowy następującej
treści:Do Pani/Pana NazwiskoOd dnia data_zatrudnienia pracuje Pan/Pani w naszym zakładzie: nazwa_zakładu. Minęłowięc już staż lat. W związku z tym chcielibyśmywynagrodzić Pana/Pani wieloletni trud kwotą:3*placa_pod. Jednocześnie zawiadamiamy, żeod dnia sysdate+30 rozwiązujemy zPanem/Panią umowę o pracę.
Z podziękowaniem Nazwisko_szefa
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 67
Ćwiczenie nr 10 (cd.)
• List ma być skierowany do pracowników posiadających szefa i otrzymujących „niesłuszną” płacę dodatkową na stanowisku ‘Asystent’.
• Pola: staż, 3*placa_pod, sysdate+30, nazwisko_szefa powinny być odpowiednio wyliczane.
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 68
Ćwiczenie nr 10 (cd.)
• Treść listu powinna być umieszczona w ramce powtarzanej opartej o odpowiednią grupę.
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 69
Raport matrycowy
• Raport matrycowy charakteryzuje się tym, że posiada zmienną liczbę wierszy i kolumn.
• Zarówno wiersze jak i kolumny są wyliczane z zapytania. W efekcie, w większości przypadków nie tylko ich liczba może się zmieniać, ale i nazwy nagłówków.
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 70
Ćwiczenie nr 11
• Celem ćwiczenia jest stworzenie raportu matrycowego postaci:
Etat ASYSTENT ADIUNKT PROFESOR SUMA
Nazwa zesp
ADMINIST... 200.00 400.00 600.00 1200
BAZY DANYCH 300.00 500.00 0 800
SYSTEMY R.. 600.00 0 400.00 1000
SUMA: 1100.00 900.00 1000.00 3000
gdzie w kolumnach mamy stanowiska, w wierszach nazwy zespołów, a w elementach danych sumy płac pracowników pracujących w określonym zespole na określonym etacie.
(c) 2000, Instytut Informatyki Politechniki Poznańskiej 71