<% // UseOLAPData: %>
<%
// To use OLAP data, you must know the name of the OLAP host server and
// connect to that server using a valid username and password. To build
// a graph, you can pass a valid MDX query statement to the OLAP server.
/************************************************************************
* To run this sample, you must edit the String and int declarations *
* below so that they define a valid MDX query, username, and password *
* for accessing your OLAP data *
************************************************************************/
// This sample application generates a line plot that shows product sums
// for selected products and years. The sample
// 1) Creates strings to store the MDX query, the OLAP server name,
// and the connection port. The result set from the query is
// used to create an OLAPDataSet.
// 2) Creates a LinePlotOLAPDataModel. The model's constructor
// specifies the OLAPDataSet as an argument.
// 3) Creates an OLAPLinePlot and specifies the
// LinePlotOLAPDataModel as its data model.
%>
<%@page import="
com.sas.servlet.tbeans.olapgraphics.html.OLAPLinePlot,
com.sas.graphics.components.lineplot.LinePlotOLAPDataModel,
com.sas.storage.olap.sasmdx.OLAPDataSet"
%>
<%
// 1) Create strings to store the MDX query, the OLAP server name,
// and an int to store the connection port.
/******* modify query to access your data **********/
String OLAP_QUERY="SELECT "
+ "{[PRODUCTLINE].[PRODUCT].MEMBERS} ON COLUMNS,"
+ "CROSSJOIN({[TIME].[YEAR].MEMBERS},"
+ "{[Measures].[ACTUAL_SUM],[Measures].[PREDICT_SUM]}) ON ROWS "
+ "FROM PRDMDDB"; // specify valid OLAP source
String OLAP_SERVER="myOLAPServer.com"; // specify a valid server name
int OLAP_PORT=9999; // specify a valid port
// 2) Create a LinePlotOLAPDataModel and specify
// an OLAPDataSet as an argument on the constructor.
LinePlotOLAPDataModel olapDataModel = null;
try {
// OLAPDataSet arguments: host, port, username, pwd, query
olapDataModel=new LinePlotOLAPDataModel(
new OLAPDataSet(OLAP_SERVER, OLAP_PORT, "myLoginName", "myPwd",
OLAP_QUERY), false);
} catch (Exception ex) { ex.printStackTrace(); }
%>
<%
// 3) Create an OLAPLinePlot and specify the
// LinePlotOLAPDataModel as its data model.
OLAPLinePlot linePlot=new OLAPLinePlot();
linePlot.setDataModel(olapDataModel);
// Set a width and height for the chart
linePlot.setWidth(640);
linePlot.setHeight(520);
// Set HTTP-specific response and request functionality
linePlot.setResponse(response);
linePlot.setRequest(request);
// Write the chart to the display
linePlot.write(out);
%>