[This topic is pre-release documentation and is subject to change in future releases. Blank topics are included as placeholders.]
Classes
Class | Description | |
---|---|---|
![]() | CellImpl |
Hold the measure information which consists of a double value.
|
![]() | CubeDerivedValueHelper | Strategy for deriving a measure cube from a fact cube.
Derives a measure cube consisting of the number of datapoints only.
|
![]() | CubeDimensionHelper | Utility methods for dealing with Cube multidimensional tables (OLAP style).
Enables iterating within dimensions, obtaining cell count for dimension sizes etc..
Cubes can be 1-dimensional to n-dimensional and these utility methods deal with this variety.
|
![]() | CubeImpl | Cube implementation derives the cells of the cube from a measures list and a !:MultidimCube containing
net.esper.view.stat.BaseStatisticsBean.
|
![]() | DimensionImpl |
Implements the dimension interface. Hold the data required for
serving up dimension data.
|
![]() | DimensionMemberImpl |
Serves up Cube dimension member information - the members dimension
and its key values.
|
![]() | MultidimCubeImpl<(Of V>) | Implementation for a multidimensional cube that can be configured with the type of cell to store.
This cube implementation grows in each dimension as new dimension members are made known to the cube.
If cells are added for dimension members that have not been encountered before,
then the new dimension members are added to the known dimension members and the cube is redimensioned, ie. grows.
In design of this class, performance is important in the following areas:
- Access to cells should be very fast in the normal case.
Normal case is that the cell for all dimension members (the particular coordinate) already exists.
This class uses a map of dimension member set (coordinates) to fact array ordinal which gets great performance.
|
Interfaces
Interface | Description | |
---|---|---|
![]() | Cell | Cell is the analytic values or variable tracked by a cube. |
![]() | Cube | Interface for querying multidimensional data.
net.esper.view.stat.olap.Dimension presents information about the dimensionality of the data.
Cells are net.esper.view.stat.olap.Cell instances.
The identification of cell in the cube occurs by member values for each dimension.
|
![]() | Dimension | Dimensions are a structural attribute of cubes. A dimension is an ordinate within a multidimensional
cube, consisting of a list of values (members). Each member designates a unique position along its ordinate.
|
![]() | DimensionMember | DimensionMember models instances of dimensional members. A member is a single or multiple object derived from the
event property or properties of the dimension.
|
![]() | MultidimCube<(Of V>) | Interface for storage and access to multi-dimensional data.
Implementations store cells for each of multiple dimensions.
Implementations have a configurable number of dimensions, and the number of dimensions doesn't change.
Cell objects are supplied via the template.
The identification of a cell in the cube occurs by
member values for each dimension. The MultiKeyUntyped class is used to supply these member values for all dimensions,
also referred to as coordinates. Each Object in the MultiKeyUntyped is the (new or existng) member of a single dimension.
Implementations typically supports 1 to an unlimited number of dimensions.
Implementations can typically grows the members in each dimension as new dimension members become known.
The members of each dimension can be supplied via a setter method.
This is an example of a 2-dimensional cube.
The numbers in [] brackets are indizes per dimension, ie. [n,m] where n=dimension zero index and m=dimension one index.
The number in each cell is the ordinal between 0 and 11.
a b c d
=== === === ===
x [0,0] 0 [1,0] 1 [2,0] 2 [3,0] 3
y 4 5 6 [3,1] 7
z 8 9 10 [3,2] 11
Example: looking for (d,y) yields [3,1] with ordinal 7.
|
![]() | MultidimCubeCellFactory<(Of V>) | Implementations provide a factory for cells to use by !:MultidimCubeImpl. |