To retrieve data from the Analytics database for custom reports, use SQL.
/** * View "demo event" data using JFreeCharts and cewolf tag libraries. * * @param req HttpServletRequest * @param res HttpServletResponse */ public void viewEvents(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { try { Connection conn = getDatabaseConnection(); Statement stmt = conn.createStatement(); String query = ""; if ("EVENT_METHOD".equals(req.getParameter("groupby"))) { // group by eventMethod query = "select count(*), method.value " + "from ascfact_demo_event fact, ascdim_page_name page, ascdim_event_method method " + "where fact.page_name = page.id and fact.event_method = method.id " + "group by method.value"; req.getSession().setAttribute("GROUP_BY_CHECKED", "EVENT_METHOD"); } else { // group by pageName query = "select count(*), page.value " + "from ascfact_demo_event fact, ascdim_page_name page, ascdim_event_method method " + "where fact.page_name = page.id and fact.event_method = method.id " + "group by page.value"; req.getSession().setAttribute("GROUP_BY_CHECKED", "PAGE_NAME"); } // execute the query ResultSet results = stmt.executeQuery(query); // create a JFreeChart DatasetProducer which will be rendered by the cewolf tag library DatasetProducer datasource = new PieChartDatasetProducer(results); req.setAttribute("datasource", datasource); // close database resources results.close(); stmt.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); throw new ServletException("Exception while creating DatasetProducer - " + e); } RequestDispatcher dis = req.getRequestDispatcher("demo_chart.jsp"); dis.forward(req, res); }</p>
(Analytics includes a collection of standard reports that display portal events; for details, see the Administrator Guide for Oracle WebCenter Analytics.)
For more information on querying the Analytics database from custom applications, see the next section, About the Oracle WebCenter Analytics Query API .