MicroStrategy ONE

ReportGridTransformImpl

The concrete class, ReportGridTransformImpl, is the transform applied to all report grids by default in MicroStrategy Web products. Effectively extending this class often requires one or more of the methods defined to be overridden.

Once you understand how a report grid is structured, it is easy to identify the relevant classes or methods that need to be modified to achieve your customization. As shown below, a report grid is composed of two main components— Report Headers and Report Data. The Report Headers (indicated as Grid Headers in the diagram below) contains titles for the report in addition to names of metrics. The Report Data (indicated as Grid Data in the diagram below) as the name suggests contains the data that is displayed within the report grid.

ReportGridTransformImpl calls a series of nested methods in its transformForRequestSuccessful() method that are responsible for rendering the report grid. The important methods are discussed below:

  • renderGrid(MarkupOutput)— Generates the entire report grid. It calls the following methods

    • renderGridHeaders(MarkupOutput)— Generates the report headers as shown in the Layout section of the diagram above. It includes row titles, column titles and column headers. The Report Headers topic provides information about the report headers

    • renderGridData(MarkupOutput)— Generates the report data for the report grid as shown in the Data section of the diagram above. It includes both row headers and metric values. The Report Data topic provides information about the report’s data (attribute and metric values).

In versions prior to MicroStrategy Web 8.x, the report grid was composed of three main components— Center, layout and Data. The methods listed below were responsible for rendering the report grid. These methods which were used by ReportGridTransformImpl in versions prior to MicroStrategy Web 8.x have been deprecated:

  • renderContent()— This method used to call renderCenter() which was the starting point for rendering the report grid. The renderContent() method used to call several other methods as well that were responsible for rendering the content on a MicroStrategy Web page. In MicroStrategy Web 8.x and later, the responsibility for laying out the content has been assigned to a layout definition file. This provides greater flexibility in modifying the arrangement and content of the output of a transform without having to know anything about the transform or any of its methods. Instead of the renderContent() method, now use a layout definition file to customize the overall layout. For details on how layout definition files can be used, refer to Layout Definitions.

  • renderCenter()— This method was the starting point for rendering the report grid. Instead of this method, use renderGrid(). This method used to call the following methods which have also been deprecated. 

    • generateReportGridTable()— Instead of this method, use generateGridTable().

    • renderLayout()— Instead of this method, use renderGridHeaders(). This deprecated renderLayout() method should not be confused with a method of the same name available in AbstractAppTransform which renders the transform information using a layout definition file.

    • renderData()— Instead of this method, use renderGridData().

See also