1 / 47

BIRT

BIRT. Wprowadzenie. Dwa prawa zarządzania: What you don’t know hurts you. What is not on paper has not been said. Wprowadzenie. Po co jest Eclipse?. BIRT. Business Inteligence and Reporting Tools http://www.eclipse.org/birt/phoenix Dystrybucje Pluginy do Eclipse’a (UM) RCP

foster
Download Presentation

BIRT

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 ReportingTools http://www.eclipse.org/birt/phoenix • Dystrybucje • Pluginy do Eclipse’a (UM) • RCP • Runtime

  5. Budowa ODA BIRT Eclipse • BIRT i ODA

  6. ODA • Runtime

  7. ODA • Designer

  8. BIRT - architektura Report(design)‏ Web Report Designer Custom Report Designer Eclipse Report Designer Report Design Engine

  9. BIRT architektura XML Chart Engine design HTML Report Engine Presentation Generation PDF data

  10. Start • Report Design Perspective • New Report project • New Report • Template • Library

  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 kolumny • Zmienić nazwy w pozostałych

  18. Formatowanie

  19. Kto tu rządzi?

  20. Agregacja

  21. Pytania

  22. DB – nowy raport

  23. DB • Na raport • Usunąć zbędne kolumny • Zmienić nazwy

  24. Grouping & Agg

  25. Merge & Gr. Act. • Shift zaznacza • Trzeba wybrać komórki, nie kontrolki • Highlight

  26. Parametry

  27. Filtrowanie • Uaktywniamy tabelke • Zakładka filtrowanie

  28. Modyfikacja zapytań

  29. Wykres • Nowe Data Set select CLASSICMODELS.CUSTOMERS.COUNTRY, CLASSICMODELS.CUSTOMERS.CREDITLIMIT from CLASSICMODELS.CUSTOMERS

  30. Wykres

  31. Data Cube & Cross Tab • Dane są reprezentowane w postaci macierzy • Baza jest co najmniej dwuwymiarowa • Wymaga stworzenia Data Cube’a

  32. Pytania

  33. 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

  34. RCP 1 WebViewer.display( "c:/birtApp/firstreport.rptdesign", WebViewer.HTML, false); • Inne wywołania • Report • Format • Browser • Servlet name • Params • allowPage

  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 ++; returntrue; }returnfalse;

  39. RCP 2 • Źródło danych w aplikacji publicclass DataSourceProvider { publicstatic List<Object[]> getSampleData(){ List<Object[]> list = new ArrayList<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; } }

  40. RCP 2 • Zależności • ui, runtime (standardowe) • DataSource • org.eclipse.birt.report.engine • org.eclipse.birt.report.engine.emmiter.pdf

  41. RCP 2 EngineConfig config = new EngineConfig(); config.setProperty("source", DataSourceProvider.getSampleData()); PDFRenderOption options = new PDFRenderOption(); options.setOutputFormat("pdf"); options.setOutputFileName("d:/test.pdf");

  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

More Related