Interface EssMdxGrid

All Superinterfaces:
EssGrid
All Known Implementing Classes:
EssMdxGridImpl

public interface EssMdxGrid extends EssGrid
An MDX query's result, with the names of the dimensions on each axis as well as the cells.

The grid starts with a header row for each dimension on the columns, holding its members over the data, with an empty cell above each row member. Every row after that is a member of each dimension on the rows, then the values. For SELECT {[Jan], [Feb]} ON COLUMNS, {[100-10], [100-20]} ON ROWS against Sample.Basic:

 ["",       "Jan",    "Feb"   ]   header row: Year, from getColumnDimensions()
 ["100-10", "1812.0", "1754.0"]   data row: Product, from getRowDimensions(), then values
 ["100-20", "200.0",  "206.0" ]
 

Values are the server's text: a missing value is the string #Missing, and a dataless query's values are empty strings.

When no rows survive - a NON EMPTY that drops them all, or a set that filters to nothing - the grid is just its header rows, and the server leaves out the empty cells that would have sat above the row members. The header cells then line up with the data columns from the first cell.

Since:
2.1.0
  • Method Summary

    Modifier and Type
    Method
    Description
    The dimensions on the columns, in order.
    default int
    How many rows at the top of the grid are headers rather than data: one for each dimension on the columns.
    The dimensions on neither axis, which each contribute one member to every cell: the query's slicer and the cube's defaults for whatever it leaves out.
    The member each page dimension contributes, in the same order as getPageDimensions(): the slicer's member where the query names one, the dimension's top member otherwise, named the way the query asked for members to be named.
    The dimensions on the rows, in order.

    Methods inherited from interface com.appliedolap.essbase.EssGrid

    getCell, getColumns, getRows
  • Method Details

    • getRowDimensions

      List<String> getRowDimensions()
      The dimensions on the rows, in order. Each data row starts with a member of each.
      Returns:
      the dimension names; empty if nothing is on the rows
    • getColumnDimensions

      List<String> getColumnDimensions()
      The dimensions on the columns, in order. The grid starts with one header row for each.
      Returns:
      the dimension names; empty if nothing is on the columns
    • getPageDimensions

      List<String> getPageDimensions()
      The dimensions on neither axis, which each contribute one member to every cell: the query's slicer and the cube's defaults for whatever it leaves out.
      Returns:
      the dimension names
    • getPageMembers

      List<String> getPageMembers()
      The member each page dimension contributes, in the same order as getPageDimensions(): the slicer's member where the query names one, the dimension's top member otherwise, named the way the query asked for members to be named.

      Only servers that report the point of view say which members these are - 26.1 does, 21.7 reports just the dimensions - so each is null on one that doesn't.

      Returns:
      the members
    • getHeaderRows

      default int getHeaderRows()
      How many rows at the top of the grid are headers rather than data: one for each dimension on the columns.
      Returns:
      the number of header rows