1 / 36

3D – Data Drill Down Framework

3D – Data Drill Down Framework. Nitin Kumar 11/3/2010. Agenda. What is 3D – Data Drill Down? Why do you need a drill down framework? Demo High Level architecture Key features Showcase examples from Newfield Q&A. What is 3D?.

orpah
Download Presentation

3D – Data Drill Down Framework

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. 3D – Data Drill Down Framework Nitin Kumar 11/3/2010

  2. Agenda • What is 3D – Data Drill Down? • Why do you need a drill down framework? • Demo • High Level architecture • Key features • Showcase examples from Newfield • Q&A

  3. What is 3D? • 3D or Data Drill Down is a flexible template driven web application framework that allows you to quickly build context driven drill-downs from a source data element to more detailed layers of data • It is a standalone application – can connect to multiple databases to pull information

  4. Why do you need a drill down framework? • Applications are designed more for data capture and processing, not so much for query/reporting • Data relevant for end-users spread across many screens/modules/reports – difficult to track data flow • Existing reports – generally very specific • Users spend huge amount of time to track down information – sifting through multitude of application screens, reports, SQL queries etc.

  5. Why do you need a drill down framework? • A single report/query screen will not provide all the answers an user is looking for • Interactive drill down reporting is essential to navigate from summary data and drill down to details both vertically and horizontally to get relevant information • To satisfy business needs and end-users, customers build and maintain a repository of custom reports • Skilled technical resources required to build and maintain custom reports

  6. Why do you need a drill down framework? • Reporting tools could be expensive, require additional hardware resources and you may be paying a premium for features you never use • Over a period of time the repository of custom reports become large, unmanageable and very expensive to maintain

  7. Why do you need a drill down framework? • 3D framework was specifically designed to address this need for interactive drill-down reporting • Completely metadata driven, no coding necessary • Easy to install, learn and be productive in a very short amount of time • Very lightweight footprint ~11mb, minimal computing resources

  8. Demo Demo

  9. High Level Architecture Source Configuration Presentation Enterprise Upstream Layout Config. Excalibur url?p1=&p2=&p3= E-Business Suite Object Mapping LOS Other JDBC URL/Connector 3D Framework External Data Sources DB1 DB 3 DB 2

  10. Configuration • XML based configuration • XML Schema provided for validation • Use any XML editor or text editor • Configuration divided into 2 files • Layout Mapping • Object Mapping

  11. Configuration – Layout Mapping • The layout mapping defines one or more reports and its layouts • A report layout is divided into 2 sections: • Header section – containing common information • Detail section – relevant data grouped into one or more tabs • No limit to the number of detail tabs • Data can be displayed in tabular grid format or as a chart • Only tabs containing data will be displayed

  12. Configuration – Layout Mapping • Each layout section – header and detail tabs are mapped to a logical object • A logical object is a user defined name for the data source that provides data for the report • The logical object is described in the Object Mapping configuration

  13. Configuration – Layout Mapping

  14. Configuration – Layout Mapping

  15. Configuration – Layout Mapping

  16. Configuration – Layout Mapping

  17. Configuration – Layout Mapping

  18. Configuration – Layout Mapping

  19. Configuration – Layout Mapping example <drillLayout> <report id="GL-GROSS"name="LOS GL Gross"> <object tabSeq="0" tabName="Report Center Details">rc_dtls</object> <object tabSeq="1"tabName="Payables">ap_gross_dtl</object> <object tabSeq="2"tabName="Receivables">ar_gross_dtl</object> <object tabSeq="3"tabName="General ledger">gl_gross_dtl</object> <object tabSeq="4"tabName="JIB">jib_gross_dtl</object> </report> <report id="ACT-GROSS"name="LOS Activity Gross"> <object tabSeq="0" tabName="Report Center Details">rc_dtls</object> <object tabSeq="1"tabName="Payables">ap_gross_dtl</object> <object tabSeq="2"tabName="Receivables">ar_gross_dtl</object> <object tabSeq="3"tabName="General ledger">gl_gross_dtl</object> <object tabSeq="4"tabName="JIB">jib_gross_dtl</object> </report> </drillLayout>

  20. Configuration – Object Mapping • Object mapping is used to map the logical objects defined in the layout mapping to physical database objects – Tables, Logical Views, Materialized Views • Object mapping mimics how you would write a SQL statement

  21. Configuration – Object Mapping SELECT column1, column2,… FROM table WHERE column3 = "criteria" ORDER by column1

  22. Configuration – Object Mapping SELECT column1, column2,… FROM table WHERE column3 = "criteria" ORDER by column1 Physical Object – Table, Logical View, Materialized View etc.

  23. Configuration – Object Mapping SELECT column1, column2,… FROM table WHERE column3 = "criteria" ORDER by column1 Select columns from physical object

  24. Configuration – Object Mapping SELECT column1, column2,… FROM table WHERE column3 = "criteria" ORDER by column1 Filter records based on query criteria

  25. Configuration – Object Mapping SELECT column1, column2,… FROM table WHERE column3 = "criteria" ORDER by column1 Specify sort order

  26. Configuration – Object Mapping <drillObjects> <drillObject objectName="logical_name"dbObject="db_object_name"> <orderBy>col1,col2</orderBy> <filters> <filterColumn name="column_name"value=""/> </filters> <columns> <column> <columnName>column_name1</columnName> <displaySequence>10</displaySequence> <displayName>Display Name</displayName> </column> <column> <columnName>column_name1</columnName> <displaySequence>20</displaySequence> <displayName>Display Name</displayName> </column> </columns> </drillObject> </drillObjects>

  27. Configuration – Object Mapping <drillObjects> <drillObject objectName="logical_name"dbObject="db_object_name"> <orderBy>col1,col2</orderBy> <filters> <filterColumn name="column_name"value=""/> </filters> <columns> <column> <columnName>column_name1</columnName> <displaySequence>10</displaySequence> <displayName>Display Name</displayName> </column> <column> <columnName>column_name1</columnName> <displaySequence>20</displaySequence> <displayName>Display Name</displayName> </column> </columns> </drillObject> </drillObjects> Logical object name specified in layout mapping

  28. Configuration – Object Mapping <drillObjects> <drillObject objectName="logical_name"dbObject="db_object_name"> <orderBy>col1,col2</orderBy> <filters> <filterColumn name="column_name"value=""/> </filters> <columns> <column> <columnName>column_name1</columnName> <displaySequence>10</displaySequence> <displayName>Display Name</displayName> </column> <column> <columnName>column_name1</columnName> <displaySequence>20</displaySequence> <displayName>Display Name</displayName> </column> </columns> </drillObject> </drillObjects> Physical database object name – Table, Logical View, Materialized View

  29. Configuration – Object Mapping <drillObjects> <drillObject objectName="logical_name"dbObject="db_object_name"> <orderBy>col1,col2</orderBy> <filters> <filterColumn name="column_name"value=""/> </filters> <columns> <column> <columnName>column_name1</columnName> <displaySequence>10</displaySequence> <displayName>Display Name</displayName> </column> <column> <columnName>column_name1</columnName> <displaySequence>20</displaySequence> <displayName>Display Name</displayName> </column> </columns> </drillObject> </drillObjects> Sort order

  30. Configuration – Object Mapping <drillObjects> <drillObject objectName="logical_name"dbObject="db_object_name"> <orderBy>col1,col2</orderBy> <filters> <filterColumn name="column_name"value=""/> </filters> <columns> <column> <columnName>column_name1</columnName> <displaySequence>10</displaySequence> <displayName>Display Name</displayName> </column> <column> <columnName>column_name1</columnName> <displaySequence>20</displaySequence> <displayName>Display Name</displayName> </column> </columns> </drillObject> </drillObjects> Filter criteria

  31. Configuration – Object Mapping <drillObjects> <drillObject objectName="logical_name"dbObject="db_object_name"> <orderBy>col1,col2</orderBy> <filters> <filterColumn name="column_name"value=""/> </filters> <columns> <column> <columnName>column_name1</columnName> <displaySequence>10</displaySequence> <displayName>Display Name</displayName> </column> <column> <columnName>column_name2</columnName> <displaySequence>20</displaySequence> <displayName>Display Name</displayName> </column> </columns> </drillObject> </drillObjects> Select columns from physical object

  32. Configuration – Object Mapping • Additional features of Object Mapping • Option to specify custom SQL directly • Connect each object to a different database • Add multiple drill-downs from each column to other objects in the template passing parameters from source object to destination object • Additional means of retrieving data: • Pipelined Table Functions (Oracle database) • External URL

  33. Lookups • One of the most powerful features of the drilldown framework is to take any of the columns displayed and use that as a context for additional drill-downs • This can be chained to form multi-level drill downs very easily

  34. Key Features • A lightweight highly configurable framework • Total flexibility in configuring data objects and data elements to be displayed • Connect to multiple databases to retrieve data in the same report – each tab can connect to, retrieve and display data from a different database • Auto-generate SQL based on columns, filters and sort information defined in configuration • Specify custom SQL to retrieve data • Configure custom URLs as a data source for non-database related external data

  35. Key Features • Automatic layout and presentation of retrieved data in tabs • Ability to render retrieved data as charts • Ability to export any data retrieved to excel without additional configuration • Ability to make any data element displayed as hot-links to provide additional multi-level drill-downs • Ability to configure hot-links and pass parameters to external URL's such as imaging system or custom reports

  36. Data Drill Down Framework Newfield – Demo

More Related