Gwny sponsor BIRT Krzysztof Daniel krzysztof danielcs put
Główny sponsor: BIRT Krzysztof Daniel krzysztof. daniel@cs. put. poznan. pl
Wprowadzenie ▪ Dwa prawa zarządzania: • • What you don’t know hurts you. What is not on paper has not been said. Krzysztof Daniel Szkoła Letnia Eclipse 2007
Wprowadzenie ▪ Po co jest Eclipse? Krzysztof Daniel Szkoła Letnia Eclipse 2007
BIRT ▪ Business Inteligence and Reporting Tools http: //www. eclipse. org/birt/phoenix ▪ Dystrybucje • Pluginy do Eclipse’a (UM) • RCP • Runtime Krzysztof Daniel Szkoła Letnia Eclipse 2007
Budowa ▪ BIRT i ODA BIRT ODA Eclipse Krzysztof Daniel Szkoła Letnia Eclipse 2007
ODA ▪ Runtime Krzysztof Daniel Szkoła Letnia Eclipse 2007
ODA ▪ Designer Krzysztof Daniel Szkoła Letnia Eclipse 2007
BIRT - architektura Eclipse Report Designer Web Custom Report Designer Report Design Engine Report(design) Krzysztof Daniel Szkoła Letnia Eclipse 2007
BIRT architektura XML Chart Engine design Report Engine Generation data Krzysztof Daniel HTML Presentation PDF Szkoła Letnia Eclipse 2007
Start ▪ ▪ ▪ Report Design Perspective New Report project New Report Template Library Krzysztof Daniel Szkoła Letnia Eclipse 2007
Master Page ▪ Palette • Grid • Label • Image ▪ Properties ▪ Preview Krzysztof Daniel Szkoła Letnia Eclipse 2007
Master Page Krzysztof Daniel Szkoła Letnia Eclipse 2007
Źródła danych Krzysztof Daniel Szkoła Letnia Eclipse 2007
Źródła danych Krzysztof Daniel Szkoła Letnia Eclipse 2007
Zbiór danych Krzysztof Daniel Szkoła Letnia Eclipse 2007
Ale to za mało… Krzysztof Daniel Szkoła Letnia Eclipse 2007
Pierwszy raport ▪ Dn. D źródło danych ▪ Usunąć zbędne kolumny ▪ Zmienić nazwy w pozostałych Krzysztof Daniel Szkoła Letnia Eclipse 2007
Formatowanie Krzysztof Daniel Szkoła Letnia Eclipse 2007
Kto tu rządzi? Krzysztof Daniel Szkoła Letnia Eclipse 2007
Agregacja Krzysztof Daniel Szkoła Letnia Eclipse 2007
Pytania Krzysztof Daniel Szkoła Letnia Eclipse 2007
DB – nowy raport Krzysztof Daniel Szkoła Letnia Eclipse 2007
DB ▪ Na raport ▪ Usunąć zbędne kolumny ▪ Zmienić nazwy Krzysztof Daniel Szkoła Letnia Eclipse 2007
Grouping & Agg Krzysztof Daniel Szkoła Letnia Eclipse 2007
Merge & Gr. Act. ▪ Shift zaznacza ▪ Trzeba wybrać komórki, nie kontrolki ▪ Highlight Krzysztof Daniel Szkoła Letnia Eclipse 2007
Parametry Krzysztof Daniel Szkoła Letnia Eclipse 2007
Filtrowanie ▪ Uaktywniamy tabelke ▪ Zakładka filtrowanie Krzysztof Daniel Szkoła Letnia Eclipse 2007
Modyfikacja zapytań Krzysztof Daniel Szkoła Letnia Eclipse 2007
Wykres ▪ Nowe Data Set select CLASSICMODELS. CUSTOMERS. COUNTRY, CLASSICMODELS. CUSTOMERS. CREDITLIMIT from CLASSICMODELS. CUSTOMERS Krzysztof Daniel Szkoła Letnia Eclipse 2007
Wykres Krzysztof Daniel Szkoła Letnia Eclipse 2007
Data Cube & Cross Tab ▪ Dane są reprezentowane w postaci macierzy ▪ Baza jest co najmniej dwuwymiarowa ▪ Wymaga stworzenia Data Cube’a Krzysztof Daniel Szkoła Letnia Eclipse 2007
Pytania Krzysztof Daniel Szkoła Letnia Eclipse 2007
RCP 1 ▪ Pierwszy raport (korzystamy z xml’a) ▪ Tworzymy plugin Hello World ▪ Zależ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 • . excel org. eclipse. birt. report. oda. data. xml ▪ Run & Test Krzysztof Daniel Szkoła Letnia Eclipse 2007
RCP 1 Web. Viewer. display( "c: /birt. App/firstreport. rptdesign", Web. Viewer. HTML, false); ▪ Inne wywołania • Report • Format • Browser • Servlet name • Params • allow. Page Krzysztof Daniel Szkoła Letnia Eclipse 2007
RCP 1 - rezultat Krzysztof Daniel Szkoła Letnia Eclipse 2007
Pytania Krzysztof Daniel Szkoła Letnia Eclipse 2007
RCP 2 ▪ Nowy raport ▪ Skryptowe źródło danych Krzysztof Daniel Szkoła Letnia Eclipse 2007
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; Krzysztof Daniel Szkoła Letnia Eclipse 2007
RCP 2 ▪ Źródło danych w aplikacji public class Data. Source. Provider { public static List<Object[]> get. Sample. Data(){ List<Object[]> list = new Array. List<Object[]>(); 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; } } Krzysztof Daniel Szkoła Letnia Eclipse 2007
RCP 2 ▪ Zależności • ui, runtime (standardowe) • Data. Source • org. eclipse. birt. report. engine. emmiter. pdf Krzysztof Daniel Szkoła Letnia Eclipse 2007
RCP 2 Engine. Config config = new Engine. Config(); config. set. Property("source", Data. Source. Provider. get. Sample. Data()); PDFRender. Option options = new PDFRender. Option(); options. set. Output. Format("pdf"); options. set. Output. File. Name("d: /test. pdf"); Krzysztof Daniel Szkoła Letnia Eclipse 2007
RCP 2 ▪ Inicjalizacja Platform. startup(config); IReport. Engine. Factory factory = (IReport. Engine. Factory) Platform. create. Factory. Object( IReport. Engine. Factory. EXTENSION_REPORT_ENGINE_FACTORY ); engine = factory. create. Report. Engine(config); Krzysztof Daniel Szkoła Letnia Eclipse 2007
RCP 2 ▪ wywołanie IReport. Runnable report = engine. open. Report. Design ("d: /scripted. rptdesign"); IRun. And. Render. Task task = engine. create. Run. And. Render. Task(report); task. set. Render. Option(options); task. run(); Krzysztof Daniel Szkoła Letnia Eclipse 2007
RCP 2 ▪ Sprzątanie } finally { if (engine != null) { engine. destroy(); } Platform. shutdown(); } Krzysztof Daniel Szkoła Letnia Eclipse 2007
RCP 2 ▪ A może html? HTMLRender. Option options = new HTMLRender. Option(); options. set. Output. Format("html"); options. set. Output. File. Name("d: /test. html"); Krzysztof Daniel Szkoła Letnia Eclipse 2007
RCP 2 ▪ Rezultat Krzysztof Daniel Szkoła Letnia Eclipse 2007
Pytania Krzysztof Daniel Szkoła Letnia Eclipse 2007
- Slides: 47