LineChartOLAPDataModel: Basic Requirements

The main responsibility of a LineChartOLAPDataModel is to map data members from an OLAP data structure to variable roles in a LineChart.

In your code, you can explicitly select measures in the OLAP data, or allow the component's OLAP data model to select measures by default.

A LineChart's primary variable roles are

CategoryVariable
Specifies a classification variable whose values are represented along the horizontal axis. A LineChartOLAPDataModel maps this role to an OLAP column or row level, depending on the OLAP structure.
ResponseVariable
Specifies an analysis variable whose values are represented along the left vertical axis. A LineChartOLAPDataModel maps this role to one or more OLAP measures, depending on the OLAP structure.
SubgroupVariable
Specifies a classification variable whose values are used to generate multiple plots. A separate plot is generated for each unique value of this variable. A LineChartOLAPDataModel uses this role if the OLAP axis that supplies the CategoryVariable role has more than one level and the LineChart's subgroupEnabled field is true.

To access OLAP data for a graph, you must know the name of the OLAP host server and connect to that server with a valid username and password. To use the OLAP data in a LineChart, you must

The following code fragment generates a LineChart that shows product sums for selected products, years, and countries.


// Create strings to store an SQL query, the OLAP server name,
// and the connection port.
   String OLAP_QUERY="SELECT {[PRODUCTLINE].[PRODUCT].MEMBERS} ON ROWS,"
                   + "{[TIME].[YEAR].MEMBERS} ON COLUMNS "
                   + "FROM MYOLAPCUBE WHERE ([Measures].[ACTUAL_SUM])"; // specify valid OLAP source
   String OLAP_SERVER="myOlapServer.com"; // use a valid server name
   int OLAP_PORT=8800;                    // use a valid port

// Create a LineChartOLAPDataModel from an OLAPDataSet. The final argument
// on the model constructor sets the chart's subgroupEnabled field to false.
   LineChartOLAPDataModel olapDataModel = null;
   try {
        // OLAPDataSet arguments: host, port, username, pwd, query
           olapDataModel=new LineChartOLAPDataModel(
           new OLAPDataSet(OLAP_SERVER, OLAP_PORT, "myUsername", "myPwd",
                           OLAP_QUERY), false);
       } catch (Exception ex) { ex.printStackTrace(); }

// Create a LineChart that uses the LineChartOLAPDataModel as its data model
   LineChart lineChart=new LineChart();
   lineChart.setDataModel(olapDataModel);

Example
LineChart Using OLAP Data: Swing-based code, Servlet-based code