MicroStrategy ONE

Processing Report Services Document Execution

A MicroStrategy Report Services document contains objects representing data coming from one or more reports. The document also holds positioning and formatting information. A document is used to combine data from multiple reports into a single display of presentation quality. When you create a document, you can specify the data that appears and can also control the layout, formatting, grouping, and subtotaling of that data. In addition, you can insert pictures into the document and draw borders on it. All these capabilities allow you to create documents that are suitable to present to management.

Most of the data on a document is from an underlying dataset. A dataset is a MicroStrategy report that defines the information that Intelligence Server retrieves from the data warehouse or cache. Other data that does not originate from the dataset is stored in the document's definition.

Document execution is slightly different from the execution of a single report, since documents can contain multiple reports.

The following diagram shows the document processing execution steps. An explanation of each step follows the diagram.

  1. Intelligence Server receives a document execution request and creates a document instance in Intelligence Server. This instance holds the results of the request.

    A document instance facilitates the processing of the document through Intelligence Server, similar to a report instance that is used to process reports. It contains the report instances for all the dataset reports and therefore has access to all the information that may be included in the dataset reports. This information includes prompts, formats, and so on.

  2. The Document Server inspects all dataset reports and prepares for execution. It consolidates all prompts from datasets into a single prompt to be answered. All identical prompts are merged so that the resulting prompt contains only one copy of each prompt question.
  3. The Document Server, with the assistance of the Resolution Server, asks the user to answer the consolidated prompt. The user's answers are stored in the Document Server.
  4. The Document Server creates an individual report execution job for each dataset report. Each job is processed by Intelligence Server, using the report execution flow described in Processing Report Execution. Prompt answers are provided by the Document Server to avoid further prompt resolution.
  5. After Intelligence Server has completed all the report execution jobs, the Analytical Engine receives the corresponding report instances to begin the data preparation step. Document elements are mapped to the corresponding report instance to construct internal data views for each element.

    Document elements include grouping, data fields, Grid/Graphs, and so on.

  6. The Analytical Engine evaluates each data view and performs the calculations that are required to prepare a consolidated dataset for the entire document instance. These calculations include calculated expressions, derived metrics, and conditional formatting. The consolidated dataset determines the number of elements for each group and the number of detail sections.
  7. The Document Server receives the final document instance to finalize the document format:
    • Additional formatting steps are required if the document is exported to PDF or Excel format. The export generation takes place on the client side in three-tier and on the server side in four-tier, although the component in charge is the same in both cases.
    • If the document is executed in HTML, the MicroStrategy Web client requests an XML representation of the document to process it and render the final output.
  8. The completed document is returned to the client.