Skip to main content Skip to complementary content

HyperCubeDef

Defines the properties of a hypercube.

For more information about the definition of a hypercube, see Generic objects.

Properties

HyperCubeDef properties
Name Description Type
qStateName

Name of the alternate state.

Default is current selections $.

String
qDimensions Array of dimensions.

Array of NxDimension

qMeasures Array of measures.

Array of NxMeasure

qInterColumnSortOrder

Defines the sort order of the columns in the hypercube.

Column numbers are separated by a comma.

Example: [1,0,2] means that the first column to be sorted should be the column 1, followed by the column 0 and the column 2.

The default sort order is the order in which the dimensions and measures have been defined in the hypercube. By default, the pseudo-dimension (if any) is the most to the right in the array.

The index of the pseudo-dimension (if any) is -1.

Pseudo dimensions only apply for pivot tables with more than one measure.

A pseudo dimension groups together the measures defined in a pivot table. You can neither collapse/expand a pseudo dimension nor make any selections in it.

Stacked pivot tables can only contain one measure.

Array of Integer
qSuppressZero Removes zero values.

Boolean

Default is false

qSuppressMissing Removes missing values.

Boolean

Default is false

qInitialDataFetch Initial data set.

Array of NxPage

qMode

Defines the way the data are handled internally by the engine.

Default value is DATA_MODE_STRAIGHT.

A pivot table can contain several dimensions and measures whereas a stacked pivot table can contain several dimensions but only one measure.

One of:

  • S for DATA_MODE_STRAIGHT; straight table representation
  • P for DATA_MODE_PIVOT; pivot table representation
  • K for DATA_MODE_PIVOT_STACK; stacked table representation
  • T for DATA_MODE_TREE; tree representation

qNoOfLeftDims

Number of left dimensions.

Default value is -1. In that case, all dimensions are left dimensions.

The index related to each left dimension depends on the position of the pseudo dimension (if any).

For example, a pivot table with:

  • Four dimensions in the following order: Country, City, Product and Category.
  • One pseudo dimension in position 1 (the position is defined in qInterColumnSortOrder)

    qInterColumnSortOrder is (0,-1,1,2,3).

  • Three left dimensions (qNoOfLeftDims is set to 3).

implies that:

  • The index 0 corresponds to the left dimension Country.
  • The index 1 corresponds to the pseudo dimension.
  • The index 2 corresponds to the left dimension City.
  • Product and Category are top dimensions.

Another example:

  • Four dimensions in the following order: Country, City, Product and Category.
  • Three left dimensions (qNoOfLeftDims is set to 3).
  • One pseudo dimension.
  • The property qInterColumnSortOrder is left empty.

Implies that:

  • The index 0 corresponds to the left dimension Country.
  • The index 1 corresponds to the left dimension City.
  • The index 2 corresponds to the left dimension Product.
  • Category is a top dimension.
  • The pseudo dimension is a top dimension.
Integer
qAlwaysFullyExpanded

If this property is set to true, the cells are always expanded. It implies that it is not possible to collapse any cells.

The default value is false.

Boolean
qMaxStackedCells

Maximum number of cells for an initial data fetch (set in qInitialDataFetch) when in stacked mode (qMode is K).

The default value is 5000.

Integer
qPopulateMissing

If this property is set to true, the missing symbols (if any) are replaced by 0 if the value is a numeric and by an empty string if the value is a string.

The default value is false.

Boolean
qShowTotalsAbove

If set to true, the total (if any) is shown on the first row.

The default value is false.

Boolean
qIndentMode

This property applies for pivot tables and allows to change the layout of the table. An indentation is added to the beginning of each row.

The default value is false.

Boolean
qCalcCond

Specifies a calculation condition, which must be fulfilled for the hypercube to be (re)calculated.

As long as the condition is not met, the engine does not perform a new calculation.

This property is optional. By default, there is no calculation condition.

ValueExpr
qSortbyYValue

To enable the sorting by ascending or descending order in the values of a measure.

This property applies to pivot tables and stacked pivot tables.

In the case of a pivot table, the measure or pseudo dimension should be defined as a top dimension. The sorting is restricted to the values of the first measure in a pivot table.

One of:

-1 for sorting descending

0 for no sorting

1 for sorting ascending

Example

"qHyperCubeDef": {
    "qStateName": "$",
    "qDimensions": [
         {
          "qLibraryId": "",
          "qNullSuppression": false,
          "qDef": {
              "qGrouping": "N",
              "qFieldDefs": [
                  "Country"
                  ],
              "qFieldLabels": [
                  ""
                  ]
              }
            },
            {
            "qLibraryId": "",
            "qNullSuppression": false,
            "qDef": {
                "qGrouping": "N",
                "qFieldDefs": [
                "City"
                ],
                "qFieldLabels": [
                ""
                ]
              }
            }
          ],
      "qMeasures": [
           {
            "qLibraryId": "",
            "qSortBy": {
                "qSortByState": 0,
                "qSortByFrequency": 0,
                "qSortByNumeric": 0,
                "qSortByAscii": 0,
                "qSortByLoadOrder": 1,
                "qSortByExpression": 0,
                "qExpression": {
                    "qv": ""
                }
              },
              "qDef": {
                  "qLabel": "",
                  "qDescription": "",
                  "qTags": [
                      "tags"
                  ],
              "qGrouping": "N",
              "qDef": "=Count(Holes)"
            }
          }
        ],
        "qInitialDataFetch": [
          {
              "qTop": 0,
              "qLeft": 0,
              "qHeight": 2,
              "qWidth": 3
          },
          {
              "qTop": 0,
              "qLeft": 0,
              "qHeight": 0,
              "qWidth": 0
          },
          {
              "qTop": 0,
              "qLeft": 0,
              "qHeight": 0,
              "qWidth": 0
          }
        ]
      }

In this example, the bar chart contains one dimension (Value1) and one measure (Value2). The aggregate function Sum is defined for the measure.

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – let us know how we can improve!