Generowanie raportów



Podobne dokumenty
Tworzenie raportów XML Publisher przy użyciu Data Templates

System generacji raportów

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Podręcznik użytkownika. Moduł Analizy i Raporty. Dotyczy wersji:

dlibra 3.0 Marcin Heliński

Program do wagi SmartScale

Praca dyplomowa magisterska

QUERY język zapytań do tworzenia raportów w AS/400

temat prelekcji.. Power w analizie danych prowadzący Dr inż. Jacek Markus

INSTRUKCJA OBSŁUGI ⓫ Dodatki

Moduł Handlowo-Magazynowy Zaawansowane analizy sprzedaży i zakupu

w ramach realizacji V etapu umowy nr 48/2009/F pt.

GEO-SYSTEM Sp. z o.o Warszawa, ul. Podbipięty 34 m. 7, tel./fax , geo-system@geo-system.com.

Wprowadzenie do Doctrine ORM

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

System imed24 Instrukcja Moduł Analizy i raporty

Moduł mapowania danych

Podstawy technologii WWW

Jak generować i zapisywać raporty. Copyright Tungsten Corporation plc 2018

Państwowa Wyższa Szkoła Zawodowa w Tarnowie. Instytut Politechniczny

Praca dyplomowa magisterska

Zmiany w programie VinCent 1.29

3. Budowa prostych raportów opartych o bazę danych

REPORTS. v Strona 1 z 11. FUTURE-SOFT SP. Z O.O. ul. Gosławicka2/ , Opole tel sales@future-soft.pl NIP:

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych

Dokumentacja Użytkownika Systemu

Kostki OLAP i język MDX

mbank CompanyNet Struktura raportu Historia rachunku w formacie xml Bankowość elektroniczna dla klientów MSP i korporacji Wersja 1.00, r.

MultiCash współpraca z systemami finansowo-księgowymi

E-czeki - zakładanie listy odbiorców, raport uprawnień (Bankowość Elektroniczna dla Klientów Korporacyjnych Getin Noble Bank SA)

ROZDZIAŁ 11 - DODATKI SPIS TREŚCI

PROJEKT CZĘŚCIOWO FINANSOWANY PRZEZ UNIĘ EUROPEJSKĄ. Opis działania raportów w ClearQuest

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

Praca dyplomowa magisterska

Moduł mapowania danych

Wnioski i dyspozycje elektroniczne. Instrukcja użytkownika systemu bankowości internetowej dla firm. BOŚBank24 iboss

Poradnik użytkownika systemu BibbyNet. Część III Raporty, export plików, pozostałe

BUSINESS INTELLIGENCE for PROGRESS BI4PROGRESS

Program szkoleniowy Efektywni50+ Moduł V Raportowanie dla potrzeb analizy danych

Automatyczne generowanie kodu. 4Developers, 26 marca 2010

Przewodnik... Tworzenie ankiet

Facelets ViewHandler

Praca dyplomowa magisterska

OPIS PRZEDMIOTU ZAMÓWIENIA

Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej

Praca dyplomowa magisterska

Gastrolyzer. Oprogramowanie GastroCHART TM Podręcznik użytkownika. Our family, innovating health, for yours.

Praca dyplomowa magisterska

ELEKTRONICZNA KSIĄŻKA ZDARZEŃ

GS2TelCOMM. Rozszerzenie do TelCOMM 2.0. Opracował: Michał Siatkowski Zatwierdził: IMIĘ I NAZWISKO

Dokumentacja kompilacji źródeł aplikacji 1.0

Gdzie jest moja tabela?

Podręcznik użytkownika

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

OLAP i hurtownie danych c.d.

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych

Plan. Aplikacja. Architektura aplikacji. Architektura aplikacji Tworzenie aplikacji Application Builder podstawy

Wspólne Zaawansowana tabela

BANK GOSPODARSTWA KRAJOWEGO. w systemie BGK@24BIZNES

Podręcznik użytkownika Wprowadzający aplikacji Wykaz2

Wymagania na zestaw testów funkcjonalnych na przykładzie obiegu dokumentów w Dziale Logistyki Centrum EMAG

Przestrzenne bazy danych. Definicja i cechy przestrzennych baz danych

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

- dodaj obiekt tekstowy: /** Maciej */ Stage { title : "First JavaFX App" scene: Scene { width: 300 height: 300 content: [ ] } }

Platforma e-learningowa

Symfonia Produkcja. Kreator raportów. Wersja 2013

SPECYFIKACJA FUNKCJONALNA OPROGRAMOWANIA 11 marca 2014 XLZEBRAPRINTER

Plan. Raport. Tworzenie raportu z kreatora (1/3)

EKSPLOATACJA SYSTEMÓW TECHNICZNYCH - LAB. Wprowadzenie do zajęć

OPIS PROGRAMU OBSŁUGI STEROWNIKÓW INTECONT >> WAGMASTER << >> INTECONT <<

SYSTEM EZD v

Część I Rozpoczęcie pracy z usługami Reporting Services

PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:

Instrukcja użytkownika Porównywarki cen Liquid

WYPOŻYCZALNIA BY CTI INSTRUKCJA

Relacyjne bazy danych a XML

Podręcznik użytkownika Publikujący aplikacji Wykaz2

Problemy techniczne SQL Server

BPR Benchmark. Case Study

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika

MentorGraphics ModelSim

Raporty systemowe. Omówienie funkcjonalności. Spis treści

Programowanie obiektowe

I. Interfejs użytkownika.

Problemy techniczne SQL Server

Sprawdzenie czy połączenie przebiegło poprawnie if (mysqli_connect_errno()) { echo Błąd; Połączenie z bazą danych nie powiodło się.

Praca z wynikami w ALOORA

Instrukcja obsługi systemu SERWAL

PROJEKT INTERFEJSU UśYTKOWNIKA PROJEKT <NAZWA PROJEKTU> WERSJA <NUMER WERSJI DOKUMENTU>

rk HTML 4 a 5 różnice

Bazy danych i strony WWW

Javadoc. Piotr Dąbrowiecki Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Alina Strachocka

MOJA FIRMA PLUS. bankowość elektroniczna dla małych i średnich firm

Instrukcja użytkowania

Instrukcja instalacji wtyczki Przelewy24

Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny

tel.: (+48) mail.

EXSO-CORE - specyfikacja

Transkrypt:

1 Generowanie raportów 1. Wprowadzenie przykładowy problem, podstawowe własności narzędzi raportujących. 2. JasperReports struktura raportu, parametry, zmienne i pola, generowanie raportu (API). 3. ireport

2 Wprowadzenie Informacje zgromadzone w bazie danych są przede wszystkim wykorzystywane do tworzenia analiz i raportów. Bezpośrednia analiza wyników zapytania SQL może być trudna, szczególnie dla osób nie związanych zawodowo z obsługą baz danych. Aby przedstawić wyniki w formie akceptowalnej dla tych osób używa się narzędzi służących do generowania raportów. Narzędzia przeznaczone do tworzenia raportów: http://207.178.67.98/java/readerschoice2004/frameliveupdate.cfm?btype=19

3 Wprowadzenie zamowienia id_zamowienia data_zakupu... id_kontrahenta kontrahenci id_kontrahenta nazwa adres... towary id_towaru ilosc cena id_zamowienia

4 Wprowadzenie Przykładowe raporty: 1. Wartość sprzedaży w zadanym okresie: SELECT SUM(t.ilosc*t.cena) FROM towary t JOIN zamowienia z ON t.id_zamowienia=z.id_zamowienia WHERE z.data<'...' AND z.data<'...' 2. Bestsellery: SELECT t.id_towaru, SUM(t.ilosc) FROM towary t JOIN zamowienia z ON t.id_zamowienia=z.id_zamowienia WHERE z.data<'...' AND z.data<'...' GROUP BY t.id_towaru LIMIT...

5 Wprowadzenie 3. Najlepsi klienci: SELECT k.nazwa, SUM(t.ilosc*t.wartosc) FROM zamowienia z JOIN towary t ON t.id_zamowienia=z.id_zamowienia JOIN kontrahenci k ON k.kontrahent_id=z.kontrahent_id WHERE z.data<'...' AND z.data<'...' GROUP BY k.kontrahent_id LIMIT...

6 Wprowadzenie Narzędzie do generowania raportów powinno umożliwiać: stworzenie raportu na bazie zapytania SQL, eksport raportu do popularnych formatów danych (pdf, html, excel, csv,...), obsługę zewnętrznych parametrów sterujących raprtem. Istnieje wiele narzędzi służących do przygotowania raportów. Wśród darmowych na wyróżnienie zasługuje JasperReports http://jasperreports.sourceforge.net/.

Wprowadzenie 7

JasperReports Podstawowe cechy JasperReports: 1. Samodzielna biblioteka w Javie, do wykorzystania we własnych programach. 2. Możliwość tworzenia podraportów. 3. Eksport raportów do formatów: PDF, XML, HTML, CSV, XLS, RTF, TXT. 4. Wykresy. 5. Obsługa lokalizacji. 7. Skalowalność brak wewnętrznych ograniczeń na rozmiar raportu. 8. Rozszerzalność. 9. Dostępność narzędzi wspomagających. 10. Współpraca z wieloma mechanizmami dostępu do danych: JDBC, EJB, POJO, Hibernate, XML. 8

9 JasperReports Struktura dokumentu XML: <?xml version="1.0"?> <!DOCTYPE jasperreport PUBLIC "-//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd"> <jasperreport name="bestsellery"... >... </jasperreport>

Parametry Parametry przekazywane z zewnątrz:... <parameter name="pdate_from" isforprompting="false" class="java.lang.string"> <defaultvalueexpression> <![CDATA[""]]> </defaultvalueexpression> </parameter> <parameter name="plimit" isforprompting="false"> <defaultvalueexpression> <![CDATA["10"]]> </defaultvalueexpression> </parameter> Dostęp do parametru uzyskuje się stosując konstrukcję: $P{nazwa}. 10

11 Wbudowane parametry Wbudowane parametry (wybrane): REPORT_PARAMETERS_MAP mapa wszystkich parametrów (java.util.map). REPORT_CONNECTION połączenie z bazą danych (java.sql.connection). REPORT_DATA_SOURCE źródło danych (JRDataSource). REPORT_LOCALE lokalizacja (java.util.locale). REPORT_RESOURCE_BUNDLE zlokalizowane komunikaty (java.util.resourcebundle). REPORT_CLASS_LOADER - obiekt używany podczas wypełniania raportu do ładowania zasobów takich jak obrazki, fonty, podraporty (java.lang.classloader). IS_IGNORE_PAGINATION jeśli ustawiony na java.lang.boolean.true raport nie będzie dzielony na strony.

12 Pola Pola - atrybutów otrzymane w wyniku zapytania: <field name="id_towaru" class="java.lang.integer"/> <field name="suma" class="java.lang.double"/> Dostęp do pola uzyskuje się stosując konstrukcję: $F{nazwa}.

Zmienne Dodatkowe wewnęytrzne zmienne raportu: <variable name="vlp" class="java.lang.integer" resettype="report" calculation="nothing"> <variableexpression> <![CDATA[ new java.lang.integer($v{vlp}.intvalue() +1) ]]> </variableexpression> <initialvalueexpression> <![CDATA[ new java.lang.integer(0) ]]> </initialvalueexpression> </variable> Dostęp do zmiennej uzyskuje się stosując konstrukcję: $V{nazwa}. 13

14 Zapytanie SQL Zapytanie SQL przekazuje się następująco: <querystring> <![CDATA[SELECT t.id_towaru, SUM(t.ilosc) AS suma FROM towary t JOIN zamowienia z ON t.id_zamowienia=z.id_zamowienia WHERE z.data<'$p!{pdate_from}' AND z.data<'$p!{pdate_to}' GROUP BY t.id_towaru LIMIT $P!{Plimit}]]> </querystring> Jeśli parametr ma zostać użyty w zapytaniu SQL powinien być przekazany przez $P!{parametr}.

15 Sekcje raportu Raport składa się z następujących sekcji: background tło raportu, title nagłówek raportu, pageheader nagłówek strony raportu, columnheader nagłówek tabeli (nazwy atrybutów), groupheader nagłówek grupy danych, detail zawartość raportu sekcja jest powtarzana dla każdego rekordu danych, GroupFooter stopka grupy, ColumnFoter stopka tabeli, PageFooter stopka strony, LastPageFooter stopka ostatniej strony, Summary - podsumowanie.

Sekcje raportu Przykładowa sekcja: <pageheader> <band height="30"> <rectangle> <reportelement x="0" y="0" width="555" height="25"/> <graphicelement/> </rectangle> <statictext> <reportelement x="0" y="0" width="555" height="25"/> <textelement textalignment="center"> <font fontname="helvetica" size="18"/> </textelement> <text>bastsellery</text> </statictext> </band> </pageheader> 16

Sekcje raportu Sekcja detail: <detail> <band height="20" issplitallowed="true" > <textfield isstretchwithoverflow="true"> <reportelement x="40" y="0" width="60" height="15"/> <box/> <textelement/> </textfield> <textfieldexpression class="java.lang.integer"> <![CDATA[$V{Vlp})]]> </textfieldexpression>... </detail> 17

18 Korzystanie z raportu Przygotowany dokument XML opisujący raport należy zapisać w pliku (z rozszerzeniem jrxml). Aby wygenerować raport należy go: skompilować, wypełnić, wyświetlić na ekranie (lub wyeksportować do pliku).

19 Kompilacja raportu Do kompilacji raportu służą metody statyczne klasy: net.sf.jasperreports.engine.jaspercompilemanager. np. JasperCompileManager compilereporttofile("besteller.jrxml", "bestseller.jasper"); lub JasperReport jr = compilereport("besteller.jrxml"); pełna nazwa klasy JasperReport to: net.sf.jasperreports.engine.jasperreport

20 Wypełnienie raportu Jeśli skompilowany raport jest w pliku najpierw należy go załadować: Klasa: net.sf.jasperreports.engine.util.jrloader. Przykład: JasperReport jr = (JasperReport) JRLoader.loadObject("bestseller.jasper"); Wypełnienie raportu: JasperPrint jp = JasperFillManager.fillReport(jr, map, con); map mapa parametrów (java.util.map), con połączenie z bazą danych (java.sql.connection).

21 Wyświetlenie raportu Wypełniony raport (net.sf.jasperreports.engine.jasperprint) można wyświetlić: JasperViewer.viewReport(jp, false); lub wyeksportować, np: net.sf.jasperreports.engine.jasperexportmanager. exportreporttopdffile(jp, "bestseller.pdf");

22 Narzędzia współpracujące z JasperReports Istnieje wiele narzędzi służących do graficznego projektowania raportów zgodnych z JasperReports http://jasperreports.sourceforge.net/gui.tools.html. Najintensywniej rozwijane to: ireport (http://ireport.sourceforge.net) graficzny interfejs do JasperReports JasperAssistant (http://www.jasperassistant.com) plugin do Eclipse (komercyjny)

ireport 23

24 Podsumowanie JasperReports to intensywnie rozwijane narzędzie służące do tworzenia raportów. Korzystanie z niego ułatwia wiele narzędzi wspomagających graficzne projektowanie raportów.