com.sas.graphics.components.scatterplot
Class ScatterPlotOLAPDataModel

com.sas.graphics.components.scatterplot.ScatterPlotOLAPDataModel

public class ScatterPlotOLAPDataModel

A ScatterPlotOLAPDataModel assigns an OLAPDataSetInterface to a ScatterPlot. The com.sas.storage.olap.OLAPDataSetInterface encapsulates the OLAP data structure, and the ScatterPlotOLAPDataModel conveys that structure to a graph by automatically mapping the OLAP axis dimensions to appropriate graph elements. The following limitations apply to the mapping:

If the OLAP axis that supplies the category variable has more than one dimension, the ScatterPlotOLAPDataModel's groupEnabled property can be used to display a separate plot for each value of a group variable.

Topics:
Basic Requirements
Selecting Measures in OLAP Data
ScatterPlot Samples:
Swing-based Samples
Servlet-based Samples

Since:
SAS 9.1
See Also:
ScatterPlot

Constructor Summary
ScatterPlotOLAPDataModel()
          Default constructor
ScatterPlotOLAPDataModel(OLAPDataSetInterface newModel)
          Constructor
ScatterPlotOLAPDataModel(OLAPDataSetInterface newModel, boolean newGroupEnabled)
          Constructs a ScatterPlotOLAPDataModel that is used to assign OLAP data in the form of a com.sas.storage.olap.OLAPDataSetInterface to a ScatterChart with a flag to indicate whether or not grouping is desired.
 
Method Summary
 void apply(ScatterPlotOLAPDataModel theOtherModel)
          Utility method to convey properties contained in "theOtherObject" to this object.
 boolean equals(java.lang.Object obj)
          Determines whether another object is equal to this ScatterPlotOLAPDataModel.
 Variable[] getAuxiliaryVariable()
          Returns the array of data columns that was most recently set by the setAuxiliaryVariable() method.
 Variable[] getDataTipVariable()
          Returns the array of data columns that was most recently set by the setDataTipVariable() method.
 OLAPDataSetInterface getModel()
          Set the OLAP data source.
 javax.swing.ListSelectionModel getSelectionModel()
          Returns the ListSelectionModel that indicates which data values are selected.
 Variable getSizeVariable()
          Returns the data measure that was most recently set in the Size role by the setSizeVariable() method.
 Variable getXVariable()
          Returns the data measure that was most recently set in the X role by the setXVariable() method.
 Variable getY2Variable()
          Returns the data measure that was most recently set in the Y2 role by the setY2Variable() method.
 Variable getYVariable()
          Returns the data measure that was most recently set in the Y role by the setYVariable() method.
 int hashCode()
          Computes the hash code for this ScatterPlotOLAPDataModel.
 boolean isGroupEnabled()
          Returns whether or not the ScatterPlot should attempt to group its elements.
 boolean isPairingEnabled()
          Returns whether or not the ScatterPlot should attempt to pair up the OLAP measures.
 void setAuxiliaryVariable(Variable[] newVariables)
          Specifies an array of Variables that are included among the variables that are passed in the events on the ScatterPlot data elements.
 void setDataTipVariable(Variable[] newVariables)
          Specifies an array of Variables to be displayed in the data tip.
 void setGroupEnabled(boolean newGroupEnabled)
          Sets whether or not the ScatterPlot should attempt to group its elements.
 void setModel(OLAPDataSetInterface newModel)
          Set the OLAP data source.
 void setPairingEnabled(boolean newPairingEnabled)
          Sets whether or not the ScatterPlot should attempt to pair up the OLAP measures.
 void setSelectionModel(javax.swing.ListSelectionModel newModel)
          Sets the selection model that identifies which cells are selected.
 void setSizeVariable(Variable newVariable)
          Sets which measure is to be associated with the marker size.
 void setXVariable(Variable newVariable)
          Sets which measures are to be associated with the X axis.
 void setY2Variable(Variable newVariable)
          Sets which measures are to be associated with the Y2 axis.
 void setYVariable(Variable newVariable)
          Sets which measures are to be associated with the Y axis.
 
Methods inherited from class com.sas.graphics.components.DataModel
apply, getLocale, getRulesContext, getSortStrategy, setLocale, setRulesContext, setSortStrategy
 
Methods inherited from class com.sas.graphics.components.ModelBase
addPropertyChangeListener, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, removePropertyChangeListener, setContainedModel
 

Constructor Detail

ScatterPlotOLAPDataModel

public ScatterPlotOLAPDataModel()
Default constructor


ScatterPlotOLAPDataModel

public ScatterPlotOLAPDataModel(OLAPDataSetInterface newModel)
Constructor


ScatterPlotOLAPDataModel

public ScatterPlotOLAPDataModel(OLAPDataSetInterface newModel,
                                boolean newGroupEnabled)
Constructs a ScatterPlotOLAPDataModel that is used to assign OLAP data in the form of a com.sas.storage.olap.OLAPDataSetInterface to a ScatterChart with a flag to indicate whether or not grouping is desired.

Parameters:
newModel - the OLAP data
newGroupEnabled - a flag, true means grouping will be enabled if there are sufficient classificaiton levels.
Method Detail

apply

public void apply(ScatterPlotOLAPDataModel theOtherModel)
Utility method to convey properties contained in "theOtherObject" to this object.
Note: Contained "models" (i.e. properties that are subclasses of ModelBase) will in turn be called on to convey their properties to the like contained models in the other object. In that respect this can be considered a "tree" type copy.
Also Note: This is a deep copy. Thus after the copy, mutable properties will not be shared by the two instances.
null is not an acceptable value but will not cause an exception to be thrown. null will simply be ignored and the property will not be modified.


equals

public boolean equals(java.lang.Object obj)
Determines whether another object is equal to this ScatterPlotOLAPDataModel.

The result is true if and only if the argument is not null and is a ScatterPlotOLAPDataModel object that has the same property values as this object.

Overrides:
equals in class DataModel
Parameters:
obj - the object to test for equality with this ScatterPlotOLAPDataModel
Returns:
true if the objects are the same; false otherwise.

hashCode

public int hashCode()
Computes the hash code for this ScatterPlotOLAPDataModel.

Overrides:
hashCode in class DataModel
Returns:
a hash code value for this object.

setGroupEnabled

public void setGroupEnabled(boolean newGroupEnabled)
Sets whether or not the ScatterPlot should attempt to group its elements. Grouping will only take affect if the 1st OLAP axis containing levels has more than one level.

See Also:
isGroupEnabled()

isGroupEnabled

public boolean isGroupEnabled()
Returns whether or not the ScatterPlot should attempt to group its elements.

See Also:
setGroupEnabled(boolean)

setPairingEnabled

public void setPairingEnabled(boolean newPairingEnabled)
Sets whether or not the ScatterPlot should attempt to pair up the OLAP measures. This is only supported if there are an even number of measures in the OLAP data. If so then the 1st and 2nd measure will be plotted against each other (1st measure using the x axis and 2nd using the y axis) followed by the 2nd and 3rd measures being plotted against each other etc.

See Also:
isPairingEnabled()

isPairingEnabled

public boolean isPairingEnabled()
Returns whether or not the ScatterPlot should attempt to pair up the OLAP measures.

See Also:
setPairingEnabled(boolean)

setModel

public void setModel(OLAPDataSetInterface newModel)
Set the OLAP data source.

Parameters:
newModel - a handle to the data source or null
See Also:
getModel()

getModel

public OLAPDataSetInterface getModel()
Set the OLAP data source.

Returns:
the handle to the data source or null
See Also:
setModel(com.sas.storage.olap.OLAPDataSetInterface)

setSelectionModel

public void setSelectionModel(javax.swing.ListSelectionModel newModel)
Sets the selection model that identifies which cells are selected. The graph will highlight the selected elements as well as enable selection on the graph elements via mouse clicks and brushing. To create a brush, click and drag in the element area. To move the brush (represented as a rectangle) click inside the brush area and drag.

Parameters:
newModel - the selection model identifying selected cells
Throws:
java.lang.IllegalArgumentException - if newModel is null.
See Also:
getSelectionModel()

getSelectionModel

public javax.swing.ListSelectionModel getSelectionModel()
Returns the ListSelectionModel that indicates which data values are selected.

Returns:
the ListSelectionModel containing the indicies of the selected data values.
See Also:
setSelectionModel(javax.swing.ListSelectionModel)

setXVariable

public void setXVariable(Variable newVariable)
Sets which measures are to be associated with the X axis.
Note: this is an optional property.
If neither the xVariable nor the yVariable nor the y2Variables have been specified (the typical case) then the plot will display all of the measures defined in the OLAP model choosing its own measure association preferences. However if even one of these variable properties is specified then the plot will obey only what has been specified (so if you choose to sepcify an x varaible then you will need to also specify a y or y2 variable to produce a usable plot.)

This property should only be used to do one of the following operations: to re-arrange the display order, to prevent some measures from being displayed or to designate specific measures to the x axis.

Also Note: the variable's informat property is not applicable with OLAP data.
Advanced: Use a VariableList to assign multiple measures to this property.

Parameters:
newVariable - the variable identifying the OLAP measure with associated properties
See Also:
getXVariable(), setYVariable(com.sas.graphics.components.Variable), setY2Variable(com.sas.graphics.components.Variable)

getXVariable

public Variable getXVariable()
Returns the data measure that was most recently set in the X role by the setXVariable() method. Returns a null pointer exception if the variable role was automatically assigned by the component.

Returns:
the variable identifying the OLAP measures with associated properties
See Also:
setXVariable(com.sas.graphics.components.Variable)

setYVariable

public void setYVariable(Variable newVariable)
Sets which measures are to be associated with the Y axis.
Note: this is an optional property.
If neither the xVariable nor the yVariable nor the y2Variables have been specified (the typical case) then the plot will display all of the measures defined in the OLAP model choosing its own measure association preferences. However if even one of these variable properties is specified then the plot will obey only what has been specified (so if you choose to sepcify a y varaible then you will need to also specify an x variable to produce a usable plot.)

This property should only be used to do one of the following operations: to re-arrange the display order, to prevent some measures from being displayed and/or to designate specific measures to the y axis.

Also Note: the variable's informat property is not applicable with OLAP data.
Advanced: Use a VariableList to assign multiple measures to this property.

Parameters:
newVariable - the variable identifying the OLAP measure with associated properties
See Also:
getYVariable(), setXVariable(com.sas.graphics.components.Variable), setY2Variable(com.sas.graphics.components.Variable)

getYVariable

public Variable getYVariable()
Returns the data measure that was most recently set in the Y role by the setYVariable() method. Returns a null pointer exception if the variable role was automatically assigned by the component.

Returns:
the variable identifying the OLAP measures with associated properties
See Also:
setXVariable(com.sas.graphics.components.Variable)

setY2Variable

public void setY2Variable(Variable newVariable)
Sets which measures are to be associated with the Y2 axis.
Note: this is an optional property.
If neither the xVariable nor the yVariable nor the y2Variables have been specified (the typical case) then the plot will display all of the measures defined in the OLAP model choosing its own measure association preferences. However if even one of these variable properties is specified then the plot will obey only what has been specified (so if you choose to sepcify a y2 varaible then you will need to also specify an x variable to produce a usable plot.)

This property should only be used to do one of the following operations: to re-arrange the display order, to prevent some measures from being displayed and/or to designate specific measures to the y2 axis.

Also Note: the variable's informat property is not applicable with OLAP data.
Advanced: Use a VariableList to assign multiple measures to this property.

Parameters:
newVariable - the variable identifying the OLAP measure with associated properties
See Also:
getY2Variable(), setXVariable(com.sas.graphics.components.Variable), setYVariable(com.sas.graphics.components.Variable)

getY2Variable

public Variable getY2Variable()
Returns the data measure that was most recently set in the Y2 role by the setY2Variable() method. Returns a null pointer exception if the variable role was not set.

Returns:
the variable identifying the OLAP measures with associated properties
See Also:
setXVariable(com.sas.graphics.components.Variable)

setSizeVariable

public void setSizeVariable(Variable newVariable)
Sets which measure is to be associated with the marker size.
Note: this is an optional property.
If neither the xVariable nor the yVariable nor the y2Variables have been specified (the typical case) then the plot will display all of the measures defined in the OLAP model choosing its own measure association preferences. However if even one of these variable properties is specified then the plot will obey only what has been specified (so if you choose to sepcify a y2 varaible then you will need to also specify an x variable to produce a usable plot.)

Also Note: the variable's informat property is not applicable with OLAP data.

Parameters:
newVariable - the variable identifying the OLAP measure with associated properties
See Also:
getSizeVariable(), setXVariable(com.sas.graphics.components.Variable), setYVariable(com.sas.graphics.components.Variable)

getSizeVariable

public Variable getSizeVariable()
Returns the data measure that was most recently set in the Size role by the setSizeVariable() method. Returns a null pointer exception if the variable role was not set.

Returns:
the variable identifying the OLAP measures with associated properties
See Also:
setSizeVariable(com.sas.graphics.components.Variable)

setAuxiliaryVariable

public void setAuxiliaryVariable(Variable[] newVariables)
Specifies an array of Variables that are included among the variables that are passed in the events on the ScatterPlot data elements. Auxiliary variables are not represented in the chart. By default, they are not displayed in the datatip, although they can be included in the array of variables set by setDataTipVariable().

Parameters:
newVariables - contains Variables for GraphActionEvent return.
Throws:
java.lang.IllegalArgumentException - if a non-null array of zero length is passed in.
See Also:
getAuxiliaryVariable(), setDataTipVariable(com.sas.graphics.components.Variable[])

getAuxiliaryVariable

public Variable[] getAuxiliaryVariable()
Returns the array of data columns that was most recently set by the setAuxiliaryVariable() method. Returns null if the auxiliary variables were not set.

Returns:
variables for Auxiliary values
See Also:
setAuxiliaryVariable(com.sas.graphics.components.Variable[]), setDataTipVariable(com.sas.graphics.components.Variable[])

setDataTipVariable

public void setDataTipVariable(Variable[] newVariables)
Specifies an array of Variables to be displayed in the data tip. By default, the variables specified on setDataTipVariable() are appended to the end of the default data tip display. To replace the default display with the list of variables in the Variable[] array, use the GraphModel to get the DataTipModel , and the call the DataTipModel's setContent() method with the value GraphConstants.DATA_TIP_REPLACE.

The following code fragment specifies two variables for the data tip display and uses them to replace the default data tip display:


 // Create an array of variables to set in the data tip display
 Variable dataTipVars[]=new Variable[2];
 dataTipVars[0]=new Variable("Task");
 dataTipVars[1]=new Variable("Duration");
 scatterPlot.getGraphModel().getDataTipModel().setContent(
                GraphConstants.DATA_TIP_REPLACE);
 

Parameters:
newVariables - array of Variables to display in data tip
Throws:
java.lang.IllegalArgumentException - if a non-null array of zero length is passed in.
See Also:
getDataTipVariable(), setAuxiliaryVariable(com.sas.graphics.components.Variable[])

getDataTipVariable

public Variable[] getDataTipVariable()
Returns the array of data columns that was most recently set by the setDataTipVariable() method. Returns null if the data tip variables were not set.

Returns:
variables for data tip values
See Also:
setDataTipVariable(com.sas.graphics.components.Variable[])



Copyright © 2009 SAS Institute Inc. All Rights Reserved.