Class RolapCell

java.lang.Object
mondrian.rolap.RolapCell
All Implemented Interfaces:
Cell

public class RolapCell extends Object implements Cell
RolapCell implements Cell within a RolapResult.
  • Field Details

    • pos

      protected final int[] pos
    • ci

      protected mondrian.rolap.RolapResult.CellInfo ci
  • Method Details

    • getCoordinateList

      public List<Integer> getCoordinateList()
      Description copied from interface: Cell
      Returns the coordinates of this Cell in its Result.
      Specified by:
      getCoordinateList in interface Cell
      Returns:
      Coordinates of this Cell
    • getValue

      public Object getValue()
      Description copied from interface: Cell
      Returns the cell's raw value. This is useful for sending to further data processing, such as plotting a chart.

      The value is never null. It may have various types:

      Specified by:
      getValue in interface Cell
    • getCachedFormatString

      public String getCachedFormatString()
      Description copied from interface: Cell
      Return the cached formatted string, that survives an aggregate cache clear.
      Specified by:
      getCachedFormatString in interface Cell
    • getFormattedValue

      public String getFormattedValue()
      Description copied from interface: Cell
      Returns the cell's value formatted according to the current format string, and locale-specific settings such as currency symbol. The current format string may itself be derived via an expression. For more information about format strings, see Format.
      Specified by:
      getFormattedValue in interface Cell
    • isNull

      public boolean isNull()
      Description copied from interface: Cell
      Returns whether the cell's value is null.
      Specified by:
      isNull in interface Cell
    • isError

      public boolean isError()
      Description copied from interface: Cell
      Returns whether the cell's calculation returned an error.
      Specified by:
      isError in interface Cell
    • getDrillThroughSQL

      public String getDrillThroughSQL(boolean extendedContext)
      Description copied from interface: Cell
      Returns a SQL query that, when executed, returns drill through data for this Cell.

      If the parameter extendedContext is true, then the query will include all the levels (i.e. columns) of non-constraining members (i.e. members which are at the "All" level).

      If the parameter extendedContext is false, the query will exclude the levels (coulmns) of non-constraining members.

      The result is null if the cell is based upon a calculated member.

      Specified by:
      getDrillThroughSQL in interface Cell
    • getDrillThroughSQL

      public String getDrillThroughSQL(List<OlapElement> fields, boolean extendedContext)
    • getDrillThroughCount

      public int getDrillThroughCount()
      Description copied from interface: Cell
      Returns the number of fact table rows which contributed to this Cell.
      Specified by:
      getDrillThroughCount in interface Cell
    • canDrillThrough

      public boolean canDrillThrough()
      Returns whether it is possible to drill through this cell. Drill-through is possible if the measure is a stored measure and not possible for calculated measures.
      Specified by:
      canDrillThrough in interface Cell
      Returns:
      true if can drill through
    • chooseDrillThroughCube

      public static RolapCube chooseDrillThroughCube(Member[] currentMembers, RolapCube defaultCube)
    • drillThroughInternal

      public SqlStatement drillThroughInternal(int maxRowCount, int firstRowOrdinal, List<OlapElement> fields, boolean extendedContext, org.apache.logging.log4j.Logger logger)
      Generates an executes a SQL statement to drill through this cell.

      Throws if this cell is not drillable.

      Enforces limits on the starting and last row.

      If tabFields is not null, returns the specified columns. (This option is deprecated.)

      Parameters:
      maxRowCount - Maximum number of rows to retrieve, <= 0 if unlimited
      firstRowOrdinal - Ordinal of row to skip to (1-based), or 0 to start from beginning
      fields - List of field expressions to return as the result set columns.
      extendedContext - If true, add non-constraining columns to the query for levels below each current member. This additional context makes the drill-through queries easier for humans to understand.
      logger - Logger. If not null and debug is enabled, log SQL here
      Returns:
      executed SQL statement
    • getPropertyValue

      public Object getPropertyValue(String propertyName)
      Description copied from interface: Cell
      Returns the value of a property.
      Specified by:
      getPropertyValue in interface Cell
      Parameters:
      propertyName - Case-sensitive property name
      Returns:
      Value of property
    • getContextMember

      public Member getContextMember(Hierarchy hierarchy)
      Description copied from interface: Cell
      Returns the context member for a particular dimension. The member is defined as follows (note that there is always a member):
      • If the dimension appears on one of the visible axes, the context member is simply the member on the current row or column.
      • If the dimension appears in the slicer, the context member is the member of that dimension in the slier.
      • Otherwise, the context member is the default member of that dimension (usually the 'all' member).
      Specified by:
      getContextMember in interface Cell
      Parameters:
      hierarchy - Hierarchy
      Returns:
      current member of given hierarchy
    • setValue

      public void setValue(org.olap4j.Scenario scenario, Object newValue, org.olap4j.AllocationPolicy allocationPolicy, Object... allocationArgs)
      Description copied from interface: Cell
      Helper method to implement Cell.setValue(java.lang.Object, org.olap4j.AllocationPolicy, java.lang.Object...).
      Specified by:
      setValue in interface Cell
      Parameters:
      scenario - Scenario
      newValue - New value
      allocationPolicy - Allocation policy
      allocationArgs - Arguments for allocation policy