1 BIRT
2 Wprowadzenie Dwa prawa zarządzania: What you don’t know hurts you.What is not on paper has not been said.
3 Wprowadzenie Po co jest Eclipse?
4 BIRT Business Inteligence and Reporting Tools Dystrybucje Dystrybucje Pluginy do Eclipse’a (UM) RCP Runtime
5 Budowa BIRT i ODA Eclipse BIRT ODA
6 ODA Runtime
7 ODA Designer Nie zapomnij uruchomić perspektywy DTP, dodać tam przykładowego data source’a i wyeksportować do zewnętrznego pliku.
8 BIRT - architektura Report Design Engine Eclipse Report Designer WebCustom Report Designer Report Design Engine Report(design)
9 BIRT architektura design data XML Report Engine HTML Generation PDFChart Engine design HTML Report Engine Generation Presentation PDF data
10 Start Report Design Perspective New Report project New Report TemplateLibrary
11 Master Page Master Page Palette Grid Label Image Properties Preview
12 Master Page
13 Źródła danych
14 Źródła danych
15 Zbiór danych
16 Ale to za mało…
17 Pierwszy raport DnD źródło danych Usunąć zbędne kolumnyZmienić nazwy w pozostałych
18 Formatowanie
19 Kto tu rządzi?
20 Agregacja
21 Pytania
22 DB – nowy raport Najpierw dodajemy źródło, potem zbiór danych
23 DB Na raport Usunąć zbędne kolumny Zmienić nazwy
24 Grouping & Agg Agregacja z palety
25 Merge & Gr. Act. Shift zaznacza Trzeba wybrać komórki, nie kontrolkiHighlight
26 Parametry
27 Filtrowanie Uaktywniamy tabelke Zakładka filtrowanieBo poprzedni slajd do tylko okienko, trzeba to powiązać jakoś, to jeden sposób
28 Modyfikacja zapytań Parametr dla raportu (stare powinny być usunięte)Modyfikacja zapytania
29 Wykres Nowe Data Set select CLASSICMODELS.CUSTOMERS.COUNTRY, CLASSICMODELS.CUSTOMERS.CREDITLIMIT from CLASSICMODELS.CUSTOMERS Interval wiąże kategorie Można zrobić Dnd z Data preview
30 Wykres Nie zapomnijcie o zapewnieniu dużo miejsca dla wykresu, bo się nie wyrenderuje poprawnie
31 Data Cube & Cross Tab Dane są reprezentowane w postaci macierzyBaza jest co najmniej dwuwymiarowa Wymaga stworzenia Data Cube’a
32 Pytania
33 RCP 1 Pierwszy raport (korzystamy z xml’a) Tworzymy plugin Hello WorldZależności org.eclipse.birt.report.viewer org.eclipse.birt.report.engine.emmiter.html org.eclipse.birt.report.engine.emmiter.pdf org.eclipse.birt.report.engine.emmiter.prototype.ex cel org.eclipse.birt.report.oda.data.xml Run & Test
34 RCP 1 Inne wywołania WebViewer.display("c:/birtApp/firstreport.rptdesign", WebViewer.HTML, false); Inne wywołania Report Format Browser Servlet name Params allowPage Report – ścieżka do raportu Format HTML, PDF, itp Browser – instancja przeglądarki, w której ma się wyświetlić wynik Servlet name – jeżeli korzystamy z innego niż defaultowy servletu generującego raport. Params – parametry przekazywane do raportu.
35 RCP 1 - rezultat
36 Pytania
37 RCP 2 Nowy raport Skryptowe źródło danych
38 RCP 2 Źródło na stronę Script -> open: counter = 0;Script -> close: counter = null; Script -> fetch: if(counter < source.size()){ temp = source.get(counter); row["id"] = temp[0]; row["firstname"] = temp[1]; row["lastname"] = temp[2]; row["boss"] = temp[3]; counter ++; return true; } return false; Musi być wybrany data set
39 RCP 2 Źródło danych w aplikacji public class DataSourceProvider {public static List List list.add(new Object[]{"1","Jan", "Weglarz","1"}); list.add(new Object[]{"2","Lukasz", "Olek","1"}); list.add(new Object[]{"3","Krzysztof", "Daniel","2"}); list.add(new Object[]{"4","Jacek", "Pospychala","2"}); return list; } Osobny plugin
40 RCP 2 Zależności ui, runtime (standardowe) DataSourceorg.eclipse.birt.report.engine org.eclipse.birt.report.engine.emmiter.pdf Można reużyć hello world
41 RCP 2 EngineConfig config = new EngineConfig();config.setProperty("source", DataSourceProvider.getSampleData()); PDFRenderOption options = new PDFRenderOption(); options.setOutputFormat("pdf"); options.setOutputFileName("d:/test.pdf"); Konfiguracja
42 RCP 2 Inicjalizacja Platform.startup(config);IReportEngineFactory factory = (IReportEngineFactory) Platform .createFactoryObject( IReportEngineFactory. EXTENSION_REPORT_ENGINE_FACTORY ); engine = factory.createReportEngine(config);
43 RCP 2 wywołanie IReportRunnable report = engine.openReportDesign("d:/scripted.rptdesign"); IRunAndRenderTask task = engine.createRunAndRenderTask(report); task.setRenderOption(options); task.run();
44 RCP 2 Sprzątanie } finally { if (engine != null) { engine.destroy(); }Platform.shutdown();
45 RCP 2 A może html? HTMLRenderOption options = new HTMLRenderOption();options.setOutputFormat("html"); options.setOutputFileName("d:/test.html");
46 RCP 2 Rezultat
47 Pytania