GetHyperCubeBinnedData method

This method supports data binning. When a generic object with two or three measures and one dimension contains a lot of data, groups of points (for example, cells) can be rendered instead of points. A zone of interest can be refined (for zooming in) up to a maximum refinement level (set in the qQueryLevel parameter) or coarsened (for zoom out). The grid of cells is adaptive (not static), meaning that it adapts to different length scales. The GetHyperCubeBinnedData method gives information about the adaptive grid and the values of the generic object. The number of points in a cell and the coordinates (expressed in the measure range) of each cell are returned. Dimension values and measure values are rendered at point level (highest detailed level).

The generic object should contain two or three measures and one dimension. When the refinement is high, the first two measures are represented on the x-axis and on the y-axis, while the third measure is visualized as color or point size.

Adaptive Grid

More details about the properties of the adaptive grid are given in this paragraph. When the refinement is not the highest (cells are rendered), information about the adaptive grid is returned through several arrays. The first array contains the following properties:

Name Description Type
qNum Maximum number of points that a cell can contain. String
qElemNumber Is set to 0. Boolean
qState The default value is L. One of:
  • L for Locked
  • S for Selected
  • O for Optional
  • D for Deselected
  • A for Alternative
  • X for eXcluded
  • XS for eXcluded Selected
  • XL for eXcluded Locked

The next arrays give the coordinates of each cell in the page. Each array contains the following properties:

Name Description Type
qText Coordinates of a cell in the measure range.
“qText”: “[[<left>, <top>, <right>, <bottom>], [<left>, <top>, <right>, <bottom>], .... [<left>, <top>, <right>, <bottom>]]
Where:
< left >, < top >, < right > and < bottom > are the coordinates of the cell in the measure range.
String
qNum Number of points in the cell. Double precision floating point
qElemNumber Unique identifier for each cell, calculated by the engine during the construction of the grid.
This element number is not stored in the database and can have a positive or a negative value.
Integer
qState The default value is L. One of:
  • L for Locked
  • S for Selected
  • O for Optional
  • D for Deselected
  • A for Alternative
  • X for eXcluded
  • XS for eXcluded Selected
  • XL for eXcluded Locked
Cells are represented as rectangles.

Dimension values and measures values

More details about the properties, when dimension and measure values are returned, are given in this paragraph. When the refinement is high, points are rendered (not cells) and dimension and measure values for each cell are returned. The first array is empty because no information on the adaptive grid is needed. The next arrays bring information about the dimension and the measure values.

Name Description Type
qText Text value of the dimension or the measure. String
qNum Numerical value of the dimension or the measure.
Is set to 0 if the value is only text.
Double precision floating point
qElemNumber Unique identifier for each cell, calculated by the engine during the construction of the grid.
This element number is not stored in the database and can have a positive or a negative value.
Integer
qState The default value is L. One of:
  • L for Locked
  • S for Selected
  • O for Optional
  • D for Deselected
  • A for Alternative
  • X for eXcluded
  • XS for eXcluded Selected
  • XL for eXcluded Locked

Parameters

Name Description Mandatory Type
qPath

Path to the definition of the object. For example, /qHyperCubeDef .

Yes String
qPages

Array of pages to retrieve. Since the generic object contains two measures and one dimension, qWidth should be set to 3. If the value of a measure is Null, the value cannot be rendered. Therefore, the number of elements rendered in a page can be less than the number defined in the property qHeight .

Yes Array of NxPage
qViewport

Defines the canvas and the zoom level. This parameter is not yet used and is optional.

Yes NxViewPort
qDataRanges

Range of the data to render. This range applies to the measure values. The lowest and highest values of a measure can be retrieved by using the GetLayout method (in /qHyperCube/qMeasureInfo ).

Yes Array of NxDataAreaPage
qMaxNbrCells

Maximum number of cells in the grid.

Yes Integer
qQueryLevel

Level of details. The higher the level, the more detailed information you get (zoom-in). When the number of points to render falls below a certain threshold, the values are no longer rendered as cells but as points. The query level should be no greater than 20.

Yes Integer
qBinningMethod

Selects the algorithm. The default value is 0. One of:

  • 0: Adaptive grid
  • 1: Hexagonal grid
  • 2: Uniform grid
Yes Integer

Returns

Name Description Type
qDataPages

Information about the data set. Depending on the refinement level, the information is about:

  • The adaptive grid. Occurs when cells are rendered and not points. or
  • The dimension values and the measure values. Occurs when the level of detail is high (points are rendered).
Array of NxDataPage

See also